diff --git a/client/base/src/main/java/io/a2a/client/AbstractClient.java b/client/base/src/main/java/io/a2a/client/AbstractClient.java index 3ef1747d5..bb43fb67c 100644 --- a/client/base/src/main/java/io/a2a/client/AbstractClient.java +++ b/client/base/src/main/java/io/a2a/client/AbstractClient.java @@ -14,8 +14,8 @@ import io.a2a.spec.CancelTaskParams; import io.a2a.spec.DeleteTaskPushNotificationConfigParams; import io.a2a.spec.GetTaskPushNotificationConfigParams; -import io.a2a.spec.ListTaskPushNotificationConfigParams; -import io.a2a.spec.ListTaskPushNotificationConfigResult; +import io.a2a.spec.ListTaskPushNotificationConfigsParams; +import io.a2a.spec.ListTaskPushNotificationConfigsResult; import io.a2a.spec.ListTasksParams; import io.a2a.spec.Message; import io.a2a.spec.MessageSendParams; @@ -299,8 +299,8 @@ public abstract TaskPushNotificationConfig getTaskPushNotificationConfiguration( * @return the result containing the list of task push notification configs and pagination information * @throws A2AClientException if getting the task push notification configs fails for any reason */ - public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations( - ListTaskPushNotificationConfigParams request) throws A2AClientException { + public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations( + ListTaskPushNotificationConfigsParams request) throws A2AClientException { return listTaskPushNotificationConfigurations(request, null); } @@ -312,8 +312,8 @@ public ListTaskPushNotificationConfigResult listTaskPushNotificationConfiguratio * @return the result containing the list of task push notification configs and pagination information * @throws A2AClientException if getting the task push notification configs fails for any reason */ - public abstract ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations( - ListTaskPushNotificationConfigParams request, + public abstract ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations( + ListTaskPushNotificationConfigsParams request, @Nullable ClientCallContext context) throws A2AClientException; /** diff --git a/client/base/src/main/java/io/a2a/client/Client.java b/client/base/src/main/java/io/a2a/client/Client.java index 5c0d3fce2..32d00d629 100644 --- a/client/base/src/main/java/io/a2a/client/Client.java +++ b/client/base/src/main/java/io/a2a/client/Client.java @@ -20,8 +20,8 @@ import io.a2a.spec.EventKind; import io.a2a.spec.GetExtendedAgentCardParams; import io.a2a.spec.GetTaskPushNotificationConfigParams; -import io.a2a.spec.ListTaskPushNotificationConfigParams; -import io.a2a.spec.ListTaskPushNotificationConfigResult; +import io.a2a.spec.ListTaskPushNotificationConfigsParams; +import io.a2a.spec.ListTaskPushNotificationConfigsResult; import io.a2a.spec.ListTasksParams; import io.a2a.spec.Message; import io.a2a.spec.MessageSendConfiguration; @@ -512,9 +512,9 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration( * Example: *
{@code
* // List all configurations for a context
- * ListTaskPushNotificationConfigParams params =
- * new ListTaskPushNotificationConfigParams("session-123", null, 10, null);
- * ListTaskPushNotificationConfigResult result =
+ * ListTaskPushNotificationConfigsParams params =
+ * new ListTaskPushNotificationConfigsParams("session-123", null, 10, null);
+ * ListTaskPushNotificationConfigsResult result =
* client.listTaskPushNotificationConfigurations(params);
* for (TaskPushNotificationConfig config : result.configurations()) {
* System.out.println("Task " + config.taskId() + " -> " +
@@ -526,11 +526,11 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(
* @param context custom call context for request interceptors (optional)
* @return the list of push notification configurations
* @throws A2AClientException if the configurations cannot be retrieved
- * @see ListTaskPushNotificationConfigParams
+ * @see ListTaskPushNotificationConfigsParams
*/
@Override
- public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(
- ListTaskPushNotificationConfigParams request, @Nullable ClientCallContext context) throws A2AClientException {
+ public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(
+ ListTaskPushNotificationConfigsParams request, @Nullable ClientCallContext context) throws A2AClientException {
return clientTransport.listTaskPushNotificationConfigurations(request, context);
}
diff --git a/client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java b/client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java
index 0fe63efe1..802b9c0e6 100644
--- a/client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java
+++ b/client/transport/grpc/src/main/java/io/a2a/client/transport/grpc/GrpcTransport.java
@@ -38,8 +38,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -271,8 +271,8 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(GetTaskPu
}
@Override
- public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(
- ListTaskPushNotificationConfigParams request,
+ public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(
+ ListTaskPushNotificationConfigsParams request,
@Nullable ClientCallContext context) throws A2AClientException {
checkNotNullParam("request", request);
@@ -288,9 +288,9 @@ public ListTaskPushNotificationConfigResult listTaskPushNotificationConfiguratio
try {
A2AServiceBlockingV2Stub stubWithMetadata = createBlockingStubWithMetadata(context, payloadAndHeaders);
io.a2a.grpc.ListTaskPushNotificationConfigsResponse grpcResponse = stubWithMetadata.listTaskPushNotificationConfigs(grpcRequest);
- return FromProto.listTaskPushNotificationConfigResult(grpcResponse);
+ return FromProto.listTaskPushNotificationConfigsResult(grpcResponse);
} catch (StatusRuntimeException | StatusException e) {
- throw GrpcErrorMapper.mapGrpcError(e, "Failed to list task push notification config: ");
+ throw GrpcErrorMapper.mapGrpcError(e, "Failed to list task push notification configs: ");
}
}
diff --git a/client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java b/client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java
index 3530dffea..2bbb25d87 100644
--- a/client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java
+++ b/client/transport/jsonrpc/src/main/java/io/a2a/client/transport/jsonrpc/JSONRPCTransport.java
@@ -54,8 +54,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -220,12 +220,12 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(GetTaskPu
}
@Override
- public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(
- ListTaskPushNotificationConfigParams request,
+ public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(
+ ListTaskPushNotificationConfigsParams request,
@Nullable ClientCallContext context) throws A2AClientException {
checkNotNullParam("request", request);
PayloadAndHeaders payloadAndHeaders = applyInterceptors(LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD,
- ProtoUtils.ToProto.listTaskPushNotificationConfigRequest(request), agentCard, context);
+ ProtoUtils.ToProto.listTaskPushNotificationConfigsRequest(request), agentCard, context);
try {
String httpResponseBody = sendPostRequest(Utils.buildBaseUrl(agentInterface, request.tenant()), payloadAndHeaders, LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD);
diff --git a/client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java b/client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java
index 1eb15291e..bdb26b830 100644
--- a/client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java
+++ b/client/transport/rest/src/main/java/io/a2a/client/transport/rest/RestTransport.java
@@ -48,8 +48,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -326,7 +326,7 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(GetTaskPu
}
@Override
- public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(ListTaskPushNotificationConfigParams request, @Nullable ClientCallContext context) throws A2AClientException {
+ public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(ListTaskPushNotificationConfigsParams request, @Nullable ClientCallContext context) throws A2AClientException {
checkNotNullParam("request", request);
io.a2a.grpc.ListTaskPushNotificationConfigsRequest.Builder builder
= io.a2a.grpc.ListTaskPushNotificationConfigsRequest.newBuilder();
@@ -348,7 +348,7 @@ public ListTaskPushNotificationConfigResult listTaskPushNotificationConfiguratio
String httpResponseBody = response.body();
io.a2a.grpc.ListTaskPushNotificationConfigsResponse.Builder responseBuilder = io.a2a.grpc.ListTaskPushNotificationConfigsResponse.newBuilder();
JsonFormat.parser().merge(httpResponseBody, responseBuilder);
- return ProtoUtils.FromProto.listTaskPushNotificationConfigResult(responseBuilder);
+ return ProtoUtils.FromProto.listTaskPushNotificationConfigsResult(responseBuilder);
} catch (A2AClientException e) {
throw e;
} catch (IOException | InterruptedException e) {
diff --git a/client/transport/rest/src/test/java/io/a2a/client/transport/rest/RestTransportTest.java b/client/transport/rest/src/test/java/io/a2a/client/transport/rest/RestTransportTest.java
index efa89006b..a7f041237 100644
--- a/client/transport/rest/src/test/java/io/a2a/client/transport/rest/RestTransportTest.java
+++ b/client/transport/rest/src/test/java/io/a2a/client/transport/rest/RestTransportTest.java
@@ -46,8 +46,8 @@
import io.a2a.spec.FileWithBytes;
import io.a2a.spec.FileWithUri;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendConfiguration;
import io.a2a.spec.MessageSendParams;
@@ -357,8 +357,8 @@ public void testListTaskPushNotificationConfigurations() throws Exception {
);
RestTransport client = new RestTransport(CARD);
- ListTaskPushNotificationConfigResult result = client.listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams("de38c76d-d54c-436c-8b9f-4c2703648d64"), null);
+ ListTaskPushNotificationConfigsResult result = client.listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams("de38c76d-d54c-436c-8b9f-4c2703648d64"), null);
assertEquals(2, result.configs().size());
TaskPushNotificationConfig config0 = result.configs().get(0);
assertNotNull(config0);
diff --git a/client/transport/spi/src/main/java/io/a2a/client/transport/spi/ClientTransport.java b/client/transport/spi/src/main/java/io/a2a/client/transport/spi/ClientTransport.java
index ee85c1dca..cd63dadfb 100644
--- a/client/transport/spi/src/main/java/io/a2a/client/transport/spi/ClientTransport.java
+++ b/client/transport/spi/src/main/java/io/a2a/client/transport/spi/ClientTransport.java
@@ -11,8 +11,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -111,8 +111,8 @@ TaskPushNotificationConfig getTaskPushNotificationConfiguration(
* @return the result containing the list of task push notification configs and pagination information
* @throws A2AClientException if getting the task push notification configs fails for any reason
*/
- ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(
- ListTaskPushNotificationConfigParams request,
+ ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(
+ ListTaskPushNotificationConfigsParams request,
@Nullable ClientCallContext context) throws A2AClientException;
/**
diff --git a/extras/opentelemetry/client-propagation/src/main/java/io/a2a/extras/opentelemetry/client/propagation/OpenTelemetryClientPropagatorTransport.java b/extras/opentelemetry/client-propagation/src/main/java/io/a2a/extras/opentelemetry/client/propagation/OpenTelemetryClientPropagatorTransport.java
index fd2f80587..20cb377fd 100644
--- a/extras/opentelemetry/client-propagation/src/main/java/io/a2a/extras/opentelemetry/client/propagation/OpenTelemetryClientPropagatorTransport.java
+++ b/extras/opentelemetry/client-propagation/src/main/java/io/a2a/extras/opentelemetry/client/propagation/OpenTelemetryClientPropagatorTransport.java
@@ -10,8 +10,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -96,7 +96,7 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(GetTaskPu
}
@Override
- public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(ListTaskPushNotificationConfigParams request,
+ public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(ListTaskPushNotificationConfigsParams request,
@Nullable ClientCallContext context) throws A2AClientException {
return delegate.listTaskPushNotificationConfigurations(request, propagateContext(context));
}
diff --git a/extras/opentelemetry/client/src/main/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransport.java b/extras/opentelemetry/client/src/main/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransport.java
index 9051e0c2d..e9b248737 100644
--- a/extras/opentelemetry/client/src/main/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransport.java
+++ b/extras/opentelemetry/client/src/main/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransport.java
@@ -24,8 +24,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -306,7 +306,7 @@ public TaskPushNotificationConfig getTaskPushNotificationConfiguration(GetTaskPu
}
@Override
- public ListTaskPushNotificationConfigResult listTaskPushNotificationConfigurations(ListTaskPushNotificationConfigParams request,
+ public ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigurations(ListTaskPushNotificationConfigsParams request,
@Nullable ClientCallContext context) throws A2AClientException {
ClientCallContext clientContext = createContext(context);
SpanBuilder spanBuilder = tracer.spanBuilder(A2AMethods.LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD).setSpanKind(SpanKind.CLIENT);
@@ -319,7 +319,7 @@ public ListTaskPushNotificationConfigResult listTaskPushNotificationConfiguratio
}
Span span = spanBuilder.startSpan();
try (Scope scope = span.makeCurrent()) {
- ListTaskPushNotificationConfigResult result = delegate.listTaskPushNotificationConfigurations(request, clientContext);
+ ListTaskPushNotificationConfigsResult result = delegate.listTaskPushNotificationConfigurations(request, clientContext);
if (result != null && extractResponse()) {
String responseValue = result.configs().stream()
.map(TaskPushNotificationConfig::toString)
diff --git a/extras/opentelemetry/client/src/test/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransportTest.java b/extras/opentelemetry/client/src/test/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransportTest.java
index 37d04eeb6..2ef582ed6 100644
--- a/extras/opentelemetry/client/src/test/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransportTest.java
+++ b/extras/opentelemetry/client/src/test/java/io/a2a/extras/opentelemetry/client/OpenTelemetryClientTransportTest.java
@@ -14,8 +14,8 @@
import io.a2a.spec.EventKind;
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendParams;
@@ -262,16 +262,16 @@ void testGetTaskPushNotificationConfiguration_Success() throws A2AClientExceptio
@Test
void testListTaskPushNotificationConfigurations_Success() throws A2AClientException {
- ListTaskPushNotificationConfigParams request = mock(ListTaskPushNotificationConfigParams.class);
+ ListTaskPushNotificationConfigsParams request = mock(ListTaskPushNotificationConfigsParams.class);
TaskPushNotificationConfig config1 = mock(TaskPushNotificationConfig.class);
TaskPushNotificationConfig config2 = mock(TaskPushNotificationConfig.class);
when(config1.toString()).thenReturn("config1");
when(config2.toString()).thenReturn("config2");
- ListTaskPushNotificationConfigResult expectedResult = new ListTaskPushNotificationConfigResult(List.of(config1, config2));
+ ListTaskPushNotificationConfigsResult expectedResult = new ListTaskPushNotificationConfigsResult(List.of(config1, config2));
when(request.toString()).thenReturn("request-string");
when(delegate.listTaskPushNotificationConfigurations(eq(request), any(ClientCallContext.class))).thenReturn(expectedResult);
- ListTaskPushNotificationConfigResult result = transport.listTaskPushNotificationConfigurations(request, context);
+ ListTaskPushNotificationConfigsResult result = transport.listTaskPushNotificationConfigurations(request, context);
assertEquals(expectedResult, result);
verify(tracer).spanBuilder(A2AMethods.LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD);
diff --git a/extras/opentelemetry/server/src/main/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java b/extras/opentelemetry/server/src/main/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java
index ffa7a1322..dfad8a531 100644
--- a/extras/opentelemetry/server/src/main/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java
+++ b/extras/opentelemetry/server/src/main/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecorator.java
@@ -23,8 +23,8 @@
import io.a2a.spec.DeleteTaskPushNotificationConfigParams;
import io.a2a.spec.EventKind;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -396,7 +396,7 @@ public Flow.Publisher onSubscribeToTask(TaskIdParams params,
}
@Override
- public ListTaskPushNotificationConfigResult onListTaskPushNotificationConfig(ListTaskPushNotificationConfigParams params, ServerCallContext context) throws A2AError {
+ public ListTaskPushNotificationConfigsResult onListTaskPushNotificationConfigs(ListTaskPushNotificationConfigsParams params, ServerCallContext context) throws A2AError {
var spanBuilder = tracer.spanBuilder(A2AMethods.LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD)
.setSpanKind(SpanKind.SERVER)
.setAttribute(GENAI_OPERATION_NAME, A2AMethods.LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD);
@@ -411,7 +411,7 @@ public ListTaskPushNotificationConfigResult onListTaskPushNotificationConfig(Lis
Span span = spanBuilder.startSpan();
try (Scope scope = span.makeCurrent()) {
- ListTaskPushNotificationConfigResult result = delegate.onListTaskPushNotificationConfig(params, context);
+ ListTaskPushNotificationConfigsResult result = delegate.onListTaskPushNotificationConfigs(params, context);
if (result != null && extractResponse()) {
span.setAttribute(GENAI_RESPONSE, result.toString());
diff --git a/extras/opentelemetry/server/src/test/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java b/extras/opentelemetry/server/src/test/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java
index 748bb3927..290b40c37 100644
--- a/extras/opentelemetry/server/src/test/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java
+++ b/extras/opentelemetry/server/src/test/java/io/a2a/extras/opentelemetry/OpenTelemetryRequestHandlerDecoratorTest.java
@@ -393,14 +393,14 @@ void onResubscribeToTask_withError_setsErrorStatus() throws A2AError {
}
@Nested
- class ListTaskPushNotificationConfigTests {
+ class ListTaskPushNotificationConfigsTests {
@Test
- void onListTaskPushNotificationConfig_createsSpanAndDelegatesToHandler() throws A2AError {
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams("task-123");
- ListTaskPushNotificationConfigResult result = new ListTaskPushNotificationConfigResult(Collections.emptyList(), null);
- when(delegate.onListTaskPushNotificationConfig(params, context)).thenReturn(result);
+ void onListTaskPushNotificationConfigs_createsSpanAndDelegatesToHandler() throws A2AError {
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams("task-123");
+ ListTaskPushNotificationConfigsResult result = new ListTaskPushNotificationConfigsResult(Collections.emptyList(), null);
+ when(delegate.onListTaskPushNotificationConfigs(params, context)).thenReturn(result);
- ListTaskPushNotificationConfigResult actualResult = decorator.onListTaskPushNotificationConfig(params, context);
+ ListTaskPushNotificationConfigsResult actualResult = decorator.onListTaskPushNotificationConfigs(params, context);
assertEquals(result, actualResult);
verify(tracer).spanBuilder(A2AMethods.LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD);
@@ -411,12 +411,12 @@ void onListTaskPushNotificationConfig_createsSpanAndDelegatesToHandler() throws
}
@Test
- void onListTaskPushNotificationConfig_withError_setsErrorStatus() throws A2AError {
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams("task-123");
+ void onListTaskPushNotificationConfigs_withError_setsErrorStatus() throws A2AError {
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams("task-123");
A2AError error = new InvalidRequestError("Invalid request");
- when(delegate.onListTaskPushNotificationConfig(params, context)).thenThrow(error);
+ when(delegate.onListTaskPushNotificationConfigs(params, context)).thenThrow(error);
- assertThrows(InvalidRequestError.class, () -> decorator.onListTaskPushNotificationConfig(params, context));
+ assertThrows(InvalidRequestError.class, () -> decorator.onListTaskPushNotificationConfigs(params, context));
verify(span).setAttribute(ERROR_TYPE, error.getMessage());
verify(span).setStatus(StatusCode.ERROR, error.getMessage());
diff --git a/extras/push-notification-config-store-database-jpa/src/main/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java b/extras/push-notification-config-store-database-jpa/src/main/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java
index a34d0b55f..20d88e79c 100644
--- a/extras/push-notification-config-store-database-jpa/src/main/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java
+++ b/extras/push-notification-config-store-database-jpa/src/main/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStore.java
@@ -13,8 +13,8 @@
import io.a2a.jsonrpc.common.json.JsonProcessingException;
import io.a2a.server.tasks.PushNotificationConfigStore;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.util.Assert;
import io.a2a.util.PageToken;
import io.a2a.spec.TaskPushNotificationConfig;
@@ -74,7 +74,7 @@ public TaskPushNotificationConfig setInfo(TaskPushNotificationConfig notificatio
@Transactional
@Override
- public ListTaskPushNotificationConfigResult getInfo(ListTaskPushNotificationConfigParams params) {
+ public ListTaskPushNotificationConfigsResult getInfo(ListTaskPushNotificationConfigsParams params) {
String taskId = params.id();
LOGGER.debug("Retrieving PushNotificationConfigs for Task '{}' with params: pageSize={}, pageToken={}",
taskId, params.pageSize(), params.pageToken());
@@ -136,7 +136,7 @@ public ListTaskPushNotificationConfigResult getInfo(ListTaskPushNotificationConf
LOGGER.debug("Successfully retrieved {} PushNotificationConfigs for Task '{}'", taskPushNotificationConfigs.size(), taskId);
- return new ListTaskPushNotificationConfigResult(taskPushNotificationConfigs, nextPageToken);
+ return new ListTaskPushNotificationConfigsResult(taskPushNotificationConfigs, nextPageToken);
} catch (Exception e) {
LOGGER.error("Failed to retrieve PushNotificationConfigs for Task '{}'", taskId, e);
throw e;
diff --git a/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStoreIntegrationTest.java b/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStoreIntegrationTest.java
index 3551f700a..59dc130f5 100644
--- a/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStoreIntegrationTest.java
+++ b/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaDatabasePushNotificationConfigStoreIntegrationTest.java
@@ -25,8 +25,8 @@
import io.a2a.spec.AgentCard;
import io.a2a.spec.DeleteTaskPushNotificationConfigParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.Message;
import io.a2a.spec.Task;
import io.a2a.spec.TaskPushNotificationConfig;
@@ -207,8 +207,8 @@ public void testPaginationWithPageSize() {
// Create 5 configs
createSamples(taskId, 5);
// Request first page with pageSize=2
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertEquals(2, result.configs().size(), "Should return 2 configs");
@@ -223,14 +223,14 @@ public void testPaginationWithPageToken() {
createSamples(taskId, 5);
// Get first page
- ListTaskPushNotificationConfigParams firstPageParams = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult firstPage = pushNotificationConfigStore.getInfo(firstPageParams);
+ ListTaskPushNotificationConfigsParams firstPageParams = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult firstPage = pushNotificationConfigStore.getInfo(firstPageParams);
assertNotNull(firstPage.nextPageToken());
// Get second page using nextPageToken
- ListTaskPushNotificationConfigParams secondPageParams = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams secondPageParams = new ListTaskPushNotificationConfigsParams(
taskId, 2, firstPage.nextPageToken(), "");
- ListTaskPushNotificationConfigResult secondPage = pushNotificationConfigStore.getInfo(secondPageParams);
+ ListTaskPushNotificationConfigsResult secondPage = pushNotificationConfigStore.getInfo(secondPageParams);
assertNotNull(secondPage);
assertEquals(2, secondPage.configs().size(), "Should return 2 configs for second page");
@@ -268,18 +268,18 @@ public void testPaginationLastPage() {
createSamples(taskId, 5);
// Get first page (2 items)
- ListTaskPushNotificationConfigParams firstPageParams = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult firstPage = pushNotificationConfigStore.getInfo(firstPageParams);
+ ListTaskPushNotificationConfigsParams firstPageParams = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult firstPage = pushNotificationConfigStore.getInfo(firstPageParams);
// Get second page (2 items)
- ListTaskPushNotificationConfigParams secondPageParams = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams secondPageParams = new ListTaskPushNotificationConfigsParams(
taskId, 2, firstPage.nextPageToken(), "");
- ListTaskPushNotificationConfigResult secondPage = pushNotificationConfigStore.getInfo(secondPageParams);
+ ListTaskPushNotificationConfigsResult secondPage = pushNotificationConfigStore.getInfo(secondPageParams);
// Get last page (1 item remaining)
- ListTaskPushNotificationConfigParams lastPageParams = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams lastPageParams = new ListTaskPushNotificationConfigsParams(
taskId, 2, secondPage.nextPageToken(), "");
- ListTaskPushNotificationConfigResult lastPage = pushNotificationConfigStore.getInfo(lastPageParams);
+ ListTaskPushNotificationConfigsResult lastPage = pushNotificationConfigStore.getInfo(lastPageParams);
assertNotNull(lastPage);
assertEquals(1, lastPage.configs().size(), "Last page should have 1 remaining config");
@@ -294,8 +294,8 @@ public void testPaginationWithZeroPageSize() {
createSamples(taskId, 5);
// Request with pageSize=0 should return all configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 0, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 0, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertEquals(5, result.configs().size(), "Should return all 5 configs when pageSize=0");
@@ -310,8 +310,8 @@ public void testPaginationWithNegativePageSize() {
createSamples(taskId, 3);
// Request with negative pageSize should return all configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, -1, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, -1, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertEquals(3, result.configs().size(), "Should return all configs when pageSize is negative");
@@ -326,8 +326,8 @@ public void testPaginationPageSizeLargerThanConfigs() {
createSamples(taskId, 3);
// Request with pageSize larger than available configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 10, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 10, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertEquals(3, result.configs().size(), "Should return all 3 configs");
@@ -342,8 +342,8 @@ public void testPaginationExactlyPageSize() {
createSamples(taskId, 3);
// Request with pageSize equal to number of configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 3, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 3, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertEquals(3, result.configs().size(), "Should return all 3 configs");
@@ -358,7 +358,7 @@ public void testPaginationWithInvalidToken() {
createSamples(taskId, 5);
// Request with invalid pageToken - should throw InvalidParamsError for invalid format
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(
taskId, 2, "invalid_token_that_does_not_exist", "");
assertThrows(io.a2a.spec.InvalidParamsError.class, () -> pushNotificationConfigStore.getInfo(params),
@@ -371,8 +371,8 @@ public void testPaginationEmptyTaskWithPageSize() {
String taskId = "task_pagination_empty_" + System.currentTimeMillis();
// No configs created
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertTrue(result.configs().isEmpty(), "Should return empty list for non-existent task");
@@ -392,8 +392,8 @@ public void testPaginationFullIteration() {
int pageCount = 0;
do {
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 3, pageToken, "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 3, pageToken, "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
totalCollected += result.configs().size();
pageToken = result.nextPageToken();
@@ -414,8 +414,8 @@ public void testPageTokenWithNonNumericTimestamp() {
String taskId = "task_malformed_token_" + System.currentTimeMillis();
createSamples(taskId, 3);
- ListTaskPushNotificationConfigParams params =
- new ListTaskPushNotificationConfigParams(taskId, 2, "not_a_number:cfg1", "");
+ ListTaskPushNotificationConfigsParams params =
+ new ListTaskPushNotificationConfigsParams(taskId, 2, "not_a_number:cfg1", "");
assertThrows(io.a2a.spec.InvalidParamsError.class,
() -> pushNotificationConfigStore.getInfo(params),
@@ -428,8 +428,8 @@ public void testPageTokenWithMissingColon() {
String taskId = "task_missing_colon_" + System.currentTimeMillis();
createSamples(taskId, 5);
- ListTaskPushNotificationConfigParams params =
- new ListTaskPushNotificationConfigParams(taskId, 2, "123456789cfg1", "");
+ ListTaskPushNotificationConfigsParams params =
+ new ListTaskPushNotificationConfigsParams(taskId, 2, "123456789cfg1", "");
assertThrows(io.a2a.spec.InvalidParamsError.class, () -> pushNotificationConfigStore.getInfo(params),
"Should throw InvalidParamsError for invalid pageToken format (missing colon)");
@@ -442,9 +442,9 @@ public void testPaginationBoundaryExactlyMaxResultsPlusOne() {
createSamples(taskId, 4);
- ListTaskPushNotificationConfigParams params =
- new ListTaskPushNotificationConfigParams(taskId, 4, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params =
+ new ListTaskPushNotificationConfigsParams(taskId, 4, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertEquals(4, result.configs().size(),
"Should return all 4 configs when pageSize equals total count");
@@ -461,10 +461,10 @@ public void testMultipleTasksDoNotInterfere() {
createSamples(taskId1, 3);
createSamples(taskId2, 2);
- ListTaskPushNotificationConfigResult result1 =
- pushNotificationConfigStore.getInfo(new ListTaskPushNotificationConfigParams(taskId1));
- ListTaskPushNotificationConfigResult result2 =
- pushNotificationConfigStore.getInfo(new ListTaskPushNotificationConfigParams(taskId2));
+ ListTaskPushNotificationConfigsResult result1 =
+ pushNotificationConfigStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId1));
+ ListTaskPushNotificationConfigsResult result2 =
+ pushNotificationConfigStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId2));
assertEquals(3, result1.configs().size(), "Task1 should have 3 configs");
assertEquals(2, result2.configs().size(), "Task2 should have 2 configs");
@@ -487,9 +487,9 @@ public void testMultipleTasksDoNotInterfere() {
public void testGetInfoWithNonExistentTaskIdDoesNotThrow() {
String nonExistentTaskId = "non_existent_task_" + System.currentTimeMillis();
- ListTaskPushNotificationConfigParams params =
- new ListTaskPushNotificationConfigParams(nonExistentTaskId, 10, "", "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params =
+ new ListTaskPushNotificationConfigsParams(nonExistentTaskId, 10, "", "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result, "Result should not be null");
assertTrue(result.configs().isEmpty(),
@@ -508,9 +508,9 @@ public void testGetInfoReturnsTenantFromParams() {
"http://url.com/callback", "cfg1", "token");
pushNotificationConfigStore.setInfo(TaskPushNotificationConfig.builder(config).taskId(taskId).build());
- ListTaskPushNotificationConfigParams params =
- new ListTaskPushNotificationConfigParams(taskId, 0, "", tenant);
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params =
+ new ListTaskPushNotificationConfigsParams(taskId, 0, "", tenant);
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
assertNotNull(result);
assertEquals(1, result.configs().size());
@@ -529,9 +529,9 @@ public void testPaginationOrderingConsistency() {
int pageCount = 0;
do {
- ListTaskPushNotificationConfigParams params =
- new ListTaskPushNotificationConfigParams(taskId, 3, pageToken, "");
- ListTaskPushNotificationConfigResult result = pushNotificationConfigStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params =
+ new ListTaskPushNotificationConfigsParams(taskId, 3, pageToken, "");
+ ListTaskPushNotificationConfigsResult result = pushNotificationConfigStore.getInfo(params);
result.configs().forEach(c ->
allConfigIds.add(c.id()));
diff --git a/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaPushNotificationConfigStoreTest.java b/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaPushNotificationConfigStoreTest.java
index 9e10e1910..9e0aff233 100644
--- a/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaPushNotificationConfigStoreTest.java
+++ b/extras/push-notification-config-store-database-jpa/src/test/java/io/a2a/extras/pushnotificationconfigstore/database/jpa/JpaPushNotificationConfigStoreTest.java
@@ -20,8 +20,8 @@
import io.a2a.client.http.A2AHttpResponse;
import io.a2a.server.tasks.BasePushNotificationSender;
import io.a2a.server.tasks.PushNotificationConfigStore;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.Task;
import io.a2a.spec.TaskPushNotificationConfig;
import io.a2a.spec.TaskState;
@@ -90,7 +90,7 @@ public void testSetInfoAddsNewConfig() {
assertEquals(config.url(), result.url());
assertEquals(config.id(), result.id());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
assertEquals(config.url(), configResult.configs().get(0).url());
@@ -109,7 +109,7 @@ public void testSetInfoAppendsToExistingConfig() {
"http://updated.url/callback", "cfg_updated", null);
configStore.setInfo(TaskPushNotificationConfig.builder(updatedConfig).taskId(taskId).build());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(2, configResult.configs().size());
@@ -143,7 +143,7 @@ public void testSetInfoWithoutConfigId() {
TaskPushNotificationConfig result = configStore.setInfo(initialConfig);
assertEquals(taskId, result.id(), "Config ID should default to taskId when not provided");
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertEquals(1, configResult.configs().size());
assertEquals(taskId, configResult.configs().get(0).id());
@@ -156,7 +156,7 @@ public void testSetInfoWithoutConfigId() {
TaskPushNotificationConfig updatedResult = configStore.setInfo(updatedConfig);
assertEquals(taskId, updatedResult.id());
- configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertEquals(1, configResult.configs().size(), "Should replace existing config with same ID rather than adding new one");
assertEquals(updatedConfig.url(), configResult.configs().get(0).url());
}
@@ -168,7 +168,7 @@ public void testGetInfoExistingConfig() {
TaskPushNotificationConfig config = createSamplePushConfig("http://get.this/callback", "cfg1", null);
configStore.setInfo(TaskPushNotificationConfig.builder(config).taskId(taskId).build());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
assertEquals(config.url(), configResult.configs().get(0).url());
@@ -179,7 +179,7 @@ public void testGetInfoExistingConfig() {
@Transactional
public void testGetInfoNonExistentConfig() {
String taskId = "task_get_non_exist";
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertTrue(configResult.configs().isEmpty(), "Should return empty list for non-existent task ID");
}
@@ -191,13 +191,13 @@ public void testDeleteInfoExistingConfig() {
TaskPushNotificationConfig config = createSamplePushConfig("http://delete.this/callback", "cfg1", null);
configStore.setInfo(TaskPushNotificationConfig.builder(config).taskId(taskId).build());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
configStore.deleteInfo(taskId, config.id());
- ListTaskPushNotificationConfigResult configsAfterDelete = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configsAfterDelete = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configsAfterDelete);
assertTrue(configsAfterDelete.configs().isEmpty(), "Should return empty list when no configs remain after deletion");
}
@@ -209,7 +209,7 @@ public void testDeleteInfoNonExistentConfig() {
// Should not throw an error
configStore.deleteInfo(taskId, "non_existent_id");
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertTrue(configResult.configs().isEmpty(), "Should return empty list for non-existent task ID");
}
@@ -228,7 +228,7 @@ public void testDeleteInfoWithNullConfigId() {
// Delete with null configId should use taskId
configStore.deleteInfo(taskId, null);
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertTrue(configResult.configs().isEmpty(), "Should return empty list after deletion when using taskId as configId");
}
@@ -323,7 +323,7 @@ public void testMultipleConfigsForSameTask() {
configStore.setInfo(TaskPushNotificationConfig.builder(config1).taskId(taskId).build());
configStore.setInfo(TaskPushNotificationConfig.builder(config2).taskId(taskId).build());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(2, configResult.configs().size());
@@ -345,7 +345,7 @@ public void testDeleteSpecificConfigFromMultiple() {
// Delete only config1
configStore.deleteInfo(taskId, "cfg1");
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
assertEquals("cfg2", configResult.configs().get(0).id());
@@ -362,13 +362,13 @@ public void testConfigStoreIntegration() {
assertEquals(config.url(), storedConfig.url());
assertEquals(config.token(), storedConfig.token());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertEquals(1, configResult.configs().size());
assertEquals(config.url(), configResult.configs().get(0).url());
// Test deletion
configStore.deleteInfo(taskId, storedConfig.id());
- ListTaskPushNotificationConfigResult afterDeletion = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult afterDeletion = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertTrue(afterDeletion.configs().isEmpty());
}
}
diff --git a/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsRequest.java b/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsRequest.java
index 66133f250..82b7a40bc 100644
--- a/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsRequest.java
+++ b/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsRequest.java
@@ -3,7 +3,7 @@
import java.util.UUID;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
import io.a2a.spec.TaskPushNotificationConfig;
import static io.a2a.spec.A2AMethods.LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD;
@@ -17,11 +17,11 @@
* This class implements the JSON-RPC {@code tasks/pushNotificationConfig/list} method.
*
* @see ListTaskPushNotificationConfigsResponse for the response
- * @see ListTaskPushNotificationConfigParams for the parameter structure
+ * @see ListTaskPushNotificationConfigsParams for the parameter structure
* @see TaskPushNotificationConfig for the configuration structure
* @see A2A Protocol Specification
*/
-public final class ListTaskPushNotificationConfigsRequest extends NonStreamingJSONRPCRequest {
+public final class ListTaskPushNotificationConfigsRequest extends NonStreamingJSONRPCRequest {
/**
* Constructs request with all parameters.
@@ -30,7 +30,7 @@ public final class ListTaskPushNotificationConfigsRequest extends NonStreamingJS
* @param id the request ID
* @param params the request parameters
*/
- public ListTaskPushNotificationConfigsRequest(String jsonrpc, Object id, ListTaskPushNotificationConfigParams params) {
+ public ListTaskPushNotificationConfigsRequest(String jsonrpc, Object id, ListTaskPushNotificationConfigsParams params) {
super(jsonrpc, LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD, id, params);
}
@@ -40,7 +40,7 @@ public ListTaskPushNotificationConfigsRequest(String jsonrpc, Object id, ListTas
* @param id the request ID
* @param params the request parameters
*/
- public ListTaskPushNotificationConfigsRequest(String id, ListTaskPushNotificationConfigParams params) {
+ public ListTaskPushNotificationConfigsRequest(String id, ListTaskPushNotificationConfigsParams params) {
this(null, id, params);
}
@@ -59,7 +59,7 @@ public static Builder builder() {
public static class Builder {
private String jsonrpc;
private Object id;
- private ListTaskPushNotificationConfigParams params;
+ private ListTaskPushNotificationConfigsParams params;
/**
* Creates a new Builder with all fields unset.
@@ -95,7 +95,7 @@ public Builder id(Object id) {
* @param params the params
* @return this builder for method chaining
*/
- public Builder params(ListTaskPushNotificationConfigParams params) {
+ public Builder params(ListTaskPushNotificationConfigsParams params) {
this.params = params;
return this;
}
diff --git a/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsResponse.java b/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsResponse.java
index 30b983c06..eb1ef9ff7 100644
--- a/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsResponse.java
+++ b/jsonrpc-common/src/main/java/io/a2a/jsonrpc/common/wrappers/ListTaskPushNotificationConfigsResponse.java
@@ -1,24 +1,24 @@
package io.a2a.jsonrpc.common.wrappers;
import io.a2a.spec.A2AError;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.TaskPushNotificationConfig;
/**
* JSON-RPC response containing all push notification configurations for a task with pagination support.
*
- * This response returns a {@link ListTaskPushNotificationConfigResult} containing
+ * This response returns a {@link ListTaskPushNotificationConfigsResult} containing
* {@link TaskPushNotificationConfig} entries configured for the requested task,
* showing all active notification endpoints with optional pagination information.
*
* If an error occurs, the error field will contain a {@link A2AError}.
*
* @see ListTaskPushNotificationConfigsRequest for the corresponding request
- * @see ListTaskPushNotificationConfigResult for the result structure
+ * @see ListTaskPushNotificationConfigsResult for the result structure
* @see TaskPushNotificationConfig for the configuration structure
* @see A2A Protocol Specification
*/
-public final class ListTaskPushNotificationConfigsResponse extends A2AResponse {
+public final class ListTaskPushNotificationConfigsResponse extends A2AResponse {
/**
* Constructs response with all parameters.
@@ -28,8 +28,8 @@ public final class ListTaskPushNotificationConfigsResponse extends A2AResponse{@code CancelTask} - Cancel task execution
* {@code CreateTaskPushNotificationConfig} - Configure push notifications
* {@code GetTaskPushNotificationConfig} - Get push notification config
- * {@code ListTaskPushNotificationConfig} - List push notification configs
+ * {@code ListTaskPushNotificationConfigs} - List push notification configs
* {@code DeleteTaskPushNotificationConfig} - Delete push notification config
* {@code GetExtendedAgentCard} - Get extended agent card
*
diff --git a/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/A2AServerRoutes.java b/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/A2AServerRoutes.java
index c1e831ebb..6914dc5f9 100644
--- a/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/A2AServerRoutes.java
+++ b/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/A2AServerRoutes.java
@@ -109,7 +109,7 @@
* {@code listTasks} - List tasks with filtering
* {@code setTaskPushNotificationConfig} - Configure push notifications
* {@code getTaskPushNotificationConfig} - Get push notification config
- * {@code listTaskPushNotificationConfig} - List push notification configs
+ * {@code listTaskPushNotificationConfigs} - List push notification configs
* {@code deleteTaskPushNotificationConfig} - Delete push notification config
* {@code getExtendedAgentCard} - Get extended agent capabilities
*
@@ -366,7 +366,7 @@ public String getAgentCard() throws JsonProcessingException {
* {@link SendMessageRequest} → {@link JSONRPCHandler#onMessageSend}
* {@link CreateTaskPushNotificationConfigRequest} → {@link JSONRPCHandler#setPushNotificationConfig}
* {@link GetTaskPushNotificationConfigRequest} → {@link JSONRPCHandler#getPushNotificationConfig}
- * {@link ListTaskPushNotificationConfigRequest} → {@link JSONRPCHandler#listPushNotificationConfig}
+ * {@link ListTaskPushNotificationConfigsRequest} → {@link JSONRPCHandler#listPushNotificationConfigs}
* {@link DeleteTaskPushNotificationConfigRequest} → {@link JSONRPCHandler#deletePushNotificationConfig}
* {@link GetExtendedAgentCardRequest} → {@link JSONRPCHandler#onGetExtendedCardRequest}
*
@@ -395,7 +395,7 @@ private A2AResponse> processNonStreamingRequest(NonStreamingJSONRPCRequest>
return jsonRpcHandler.onMessageSend(req, context);
}
if (request instanceof ListTaskPushNotificationConfigsRequest req) {
- return jsonRpcHandler.listPushNotificationConfig(req, context);
+ return jsonRpcHandler.listPushNotificationConfigs(req, context);
}
if (request instanceof DeleteTaskPushNotificationConfigRequest req) {
return jsonRpcHandler.deletePushNotificationConfig(req, context);
@@ -618,7 +618,7 @@ private static String serializeResponse(A2AResponse> response) {
* {@link ListTasksResponse} → ListTasksResult protobuf message
* {@link CreateTaskPushNotificationConfigResponse} → CreateTaskPushNotificationConfigResponse protobuf message
* {@link GetTaskPushNotificationConfigResponse} → GetTaskPushNotificationConfigResponse protobuf message
- * {@link ListTaskPushNotificationConfigResponse} → ListTaskPushNotificationConfigResponse protobuf message
+ * {@link ListTaskPushNotificationConfigsResponse} → ListTaskPushNotificationConfigsResponse protobuf message
* {@link DeleteTaskPushNotificationConfigResponse} → Empty protobuf message
* {@link GetExtendedAgentCardResponse} → GetExtendedCardResponse protobuf message
* {@link SendStreamingMessageResponse} → TaskOrMessageStream protobuf message
@@ -643,7 +643,7 @@ private static com.google.protobuf.MessageOrBuilder convertToProto(A2AResponse
} else if (response instanceof GetTaskPushNotificationConfigResponse r) {
return io.a2a.grpc.utils.ProtoUtils.ToProto.getTaskPushNotificationConfigResponse(r.getResult());
} else if (response instanceof ListTaskPushNotificationConfigsResponse r) {
- return io.a2a.grpc.utils.ProtoUtils.ToProto.listTaskPushNotificationConfigResponse(r.getResult());
+ return io.a2a.grpc.utils.ProtoUtils.ToProto.listTaskPushNotificationConfigsResponse(r.getResult());
} else if (response instanceof DeleteTaskPushNotificationConfigResponse) {
// DeleteTaskPushNotificationConfig has no result body, just return empty message
return com.google.protobuf.Empty.getDefaultInstance();
diff --git a/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/package-info.java b/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/package-info.java
index bf47f0340..5d85284cc 100644
--- a/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/package-info.java
+++ b/reference/jsonrpc/src/main/java/io/a2a/server/apps/quarkus/package-info.java
@@ -102,7 +102,7 @@
* {@code cancelTask} - Cancel task execution
* {@code getTaskPushNotificationConfig} - Get push notification config
* {@code setTaskPushNotificationConfig} - Create push notification config
- * {@code listTaskPushNotificationConfig} - List push notification configs
+ * {@code listTaskPushNotificationConfigs} - List push notification configs
* {@code deleteTaskPushNotificationConfig} - Delete push notification config
* {@code getExtendedAgentCard} - Get extended agent card
*
diff --git a/reference/jsonrpc/src/test/java/io/a2a/server/apps/quarkus/A2AServerRoutesTest.java b/reference/jsonrpc/src/test/java/io/a2a/server/apps/quarkus/A2AServerRoutesTest.java
index 94f67bc71..ab1566308 100644
--- a/reference/jsonrpc/src/test/java/io/a2a/server/apps/quarkus/A2AServerRoutesTest.java
+++ b/reference/jsonrpc/src/test/java/io/a2a/server/apps/quarkus/A2AServerRoutesTest.java
@@ -54,7 +54,7 @@
import io.a2a.spec.AgentCard;
import io.a2a.spec.AgentInterface;
import io.a2a.spec.AuthenticationInfo;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.Task;
import io.a2a.spec.TaskPushNotificationConfig;
import io.a2a.spec.TaskState;
@@ -411,7 +411,7 @@ public void testGetTaskPushNotificationConfig_MethodNameSetInContext() {
}
@Test
- public void testListTaskPushNotificationConfig_MethodNameSetInContext() {
+ public void testListTaskPushNotificationConfigs_MethodNameSetInContext() {
// Arrange - using protobuf JSON format
String jsonRpcRequest = """
{
@@ -432,8 +432,8 @@ public void testListTaskPushNotificationConfig_MethodNameSetInContext() {
.taskId("de38c76d-d54c-436c-8b9f-4c2703648d64")
.url("https://example.com/callback")
.build();
- ListTaskPushNotificationConfigsResponse realResponse = new ListTaskPushNotificationConfigsResponse("1", new ListTaskPushNotificationConfigResult(singletonList(config)));
- when(mockJsonRpcHandler.listPushNotificationConfig(any(ListTaskPushNotificationConfigsRequest.class),
+ ListTaskPushNotificationConfigsResponse realResponse = new ListTaskPushNotificationConfigsResponse("1", new ListTaskPushNotificationConfigsResult(singletonList(config)));
+ when(mockJsonRpcHandler.listPushNotificationConfigs(any(ListTaskPushNotificationConfigsRequest.class),
any(ServerCallContext.class))).thenReturn(realResponse);
ArgumentCaptor contextCaptor = ArgumentCaptor.forClass(ServerCallContext.class);
@@ -442,7 +442,7 @@ public void testListTaskPushNotificationConfig_MethodNameSetInContext() {
routes.invokeJSONRPCHandler(jsonRpcRequest, mockRoutingContext);
// Assert
- verify(mockJsonRpcHandler).listPushNotificationConfig(any(ListTaskPushNotificationConfigsRequest.class),
+ verify(mockJsonRpcHandler).listPushNotificationConfigs(any(ListTaskPushNotificationConfigsRequest.class),
contextCaptor.capture());
ServerCallContext capturedContext = contextCaptor.getValue();
assertNotNull(capturedContext);
diff --git a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java
index 96c17eced..fdc6ee11d 100644
--- a/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java
+++ b/server-common/src/main/java/io/a2a/server/requesthandlers/DefaultRequestHandler.java
@@ -52,8 +52,8 @@
import io.a2a.spec.GetTaskPushNotificationConfigParams;
import io.a2a.spec.InternalError;
import io.a2a.spec.InvalidParamsError;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendParams;
@@ -794,16 +794,16 @@ public TaskPushNotificationConfig onGetTaskPushNotificationConfig(
throw new TaskNotFoundError();
}
- ListTaskPushNotificationConfigResult listTaskPushNotificationConfigResult = pushConfigStore.getInfo(new ListTaskPushNotificationConfigParams(params.taskId()));
- if (listTaskPushNotificationConfigResult == null || listTaskPushNotificationConfigResult.isEmpty()) {
+ ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigsResult = pushConfigStore.getInfo(new ListTaskPushNotificationConfigsParams(params.taskId()));
+ if (listTaskPushNotificationConfigsResult == null || listTaskPushNotificationConfigsResult.isEmpty()) {
throw new InternalError("No push notification config found");
}
String configId = params.id();
- return getTaskPushNotificationConfig(listTaskPushNotificationConfigResult, configId);
+ return getTaskPushNotificationConfig(listTaskPushNotificationConfigsResult, configId);
}
- private TaskPushNotificationConfig getTaskPushNotificationConfig(ListTaskPushNotificationConfigResult notificationConfigList,
+ private TaskPushNotificationConfig getTaskPushNotificationConfig(ListTaskPushNotificationConfigsResult notificationConfigList,
String configId) {
for (TaskPushNotificationConfig notificationConfig : notificationConfigList.configs()) {
if (configId.equals(notificationConfig.id())) {
@@ -851,8 +851,8 @@ public Flow.Publisher onSubscribeToTask(TaskIdParams params,
}
@Override
- public ListTaskPushNotificationConfigResult onListTaskPushNotificationConfig(
- ListTaskPushNotificationConfigParams params, ServerCallContext context) throws A2AError {
+ public ListTaskPushNotificationConfigsResult onListTaskPushNotificationConfigs(
+ ListTaskPushNotificationConfigsParams params, ServerCallContext context) throws A2AError {
if (pushConfigStore == null) {
throw new UnsupportedOperationError();
}
diff --git a/server-common/src/main/java/io/a2a/server/requesthandlers/RequestHandler.java b/server-common/src/main/java/io/a2a/server/requesthandlers/RequestHandler.java
index b41a8ac76..06bc11354 100644
--- a/server-common/src/main/java/io/a2a/server/requesthandlers/RequestHandler.java
+++ b/server-common/src/main/java/io/a2a/server/requesthandlers/RequestHandler.java
@@ -9,8 +9,8 @@
import io.a2a.spec.DeleteTaskPushNotificationConfigParams;
import io.a2a.spec.EventKind;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.StreamingEventKind;
@@ -52,8 +52,8 @@ Flow.Publisher onSubscribeToTask(
TaskIdParams params,
ServerCallContext context) throws A2AError;
- ListTaskPushNotificationConfigResult onListTaskPushNotificationConfig(
- ListTaskPushNotificationConfigParams params,
+ ListTaskPushNotificationConfigsResult onListTaskPushNotificationConfigs(
+ ListTaskPushNotificationConfigsParams params,
ServerCallContext context) throws A2AError;
void onDeleteTaskPushNotificationConfig(
diff --git a/server-common/src/main/java/io/a2a/server/tasks/BasePushNotificationSender.java b/server-common/src/main/java/io/a2a/server/tasks/BasePushNotificationSender.java
index ac64659ec..c11fb598f 100644
--- a/server-common/src/main/java/io/a2a/server/tasks/BasePushNotificationSender.java
+++ b/server-common/src/main/java/io/a2a/server/tasks/BasePushNotificationSender.java
@@ -19,8 +19,8 @@
import io.a2a.client.http.A2AHttpClient;
import io.a2a.client.http.A2AHttpClientFactory;
import io.a2a.jsonrpc.common.json.JsonUtil;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.Message;
import io.a2a.spec.StreamingEventKind;
import io.a2a.spec.Task;
@@ -76,7 +76,7 @@ public void sendNotification(StreamingEventKind event) {
List configs = new ArrayList<>();
String nextPageToken = null;
do {
- ListTaskPushNotificationConfigResult pageResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId,
+ ListTaskPushNotificationConfigsResult pageResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId,
DEFAULT_PAGE_SIZE, nextPageToken == null ? "" : nextPageToken, ""));
if (!pageResult.configs().isEmpty()) {
configs.addAll(pageResult.configs());
diff --git a/server-common/src/main/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStore.java b/server-common/src/main/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStore.java
index 8bdc82715..16ab9bf9f 100644
--- a/server-common/src/main/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStore.java
+++ b/server-common/src/main/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStore.java
@@ -11,8 +11,8 @@
import jakarta.inject.Inject;
import io.a2a.util.Assert;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.TaskPushNotificationConfig;
/**
@@ -53,13 +53,13 @@ public TaskPushNotificationConfig setInfo(TaskPushNotificationConfig notificatio
}
@Override
- public ListTaskPushNotificationConfigResult getInfo(ListTaskPushNotificationConfigParams params) {
+ public ListTaskPushNotificationConfigsResult getInfo(ListTaskPushNotificationConfigsParams params) {
List configs = pushNotificationInfos.get(params.id());
if (configs == null) {
- return new ListTaskPushNotificationConfigResult(Collections.emptyList());
+ return new ListTaskPushNotificationConfigsResult(Collections.emptyList());
}
if (params.pageSize() <= 0) {
- return new ListTaskPushNotificationConfigResult(new ArrayList<>(configs), null);
+ return new ListTaskPushNotificationConfigsResult(new ArrayList<>(configs), null);
}
if (params.pageToken() != null && !params.pageToken().isBlank()) {
//find first index
@@ -69,10 +69,10 @@ public ListTaskPushNotificationConfigResult getInfo(ListTaskPushNotificationConf
}
}
if (configs.size() <= params.pageSize()) {
- return new ListTaskPushNotificationConfigResult(new ArrayList<>(configs), null);
+ return new ListTaskPushNotificationConfigsResult(new ArrayList<>(configs), null);
}
String newToken = configs.get(params.pageSize()).id();
- return new ListTaskPushNotificationConfigResult(new ArrayList<>(configs.subList(0, params.pageSize())), newToken);
+ return new ListTaskPushNotificationConfigsResult(new ArrayList<>(configs.subList(0, params.pageSize())), newToken);
}
private int findFirstIndex(List configs, String id) {
diff --git a/server-common/src/main/java/io/a2a/server/tasks/PushNotificationConfigStore.java b/server-common/src/main/java/io/a2a/server/tasks/PushNotificationConfigStore.java
index 50c3b2e28..4c5f35eda 100644
--- a/server-common/src/main/java/io/a2a/server/tasks/PushNotificationConfigStore.java
+++ b/server-common/src/main/java/io/a2a/server/tasks/PushNotificationConfigStore.java
@@ -1,7 +1,7 @@
package io.a2a.server.tasks;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.TaskPushNotificationConfig;
/**
@@ -21,12 +21,12 @@
*
*
* Pagination Support
- * {@link #getInfo(ListTaskPushNotificationConfigParams)} supports pagination for tasks
+ * {@link #getInfo(ListTaskPushNotificationConfigsParams)} supports pagination for tasks
* with many push notification configurations:
*
* - pageSize: Maximum number of configs to return (0 = unlimited)
* - pageToken: Continuation token from previous response
- * - Returns {@link ListTaskPushNotificationConfigResult} with configs and next page token
+ * - Returns {@link ListTaskPushNotificationConfigsResult} with configs and next page token
*
*
* Default Implementation
@@ -90,13 +90,13 @@ public interface PushNotificationConfigStore {
* Pagination Example:
* {@code
* // First page
- * ListTaskPushNotificationConfigParams params =
- * new ListTaskPushNotificationConfigParams(taskId, 10, null, tenant);
- * ListTaskPushNotificationConfigResult result = store.getInfo(params);
+ * ListTaskPushNotificationConfigsParams params =
+ * new ListTaskPushNotificationConfigsParams(taskId, 10, null, tenant);
+ * ListTaskPushNotificationConfigsResult result = store.getInfo(params);
*
* // Next page
* if (result.nextPageToken() != null) {
- * params = new ListTaskPushNotificationConfigParams(
+ * params = new ListTaskPushNotificationConfigsParams(
* taskId, 10, result.nextPageToken(), tenant);
* result = store.getInfo(params);
* }
@@ -105,7 +105,7 @@ public interface PushNotificationConfigStore {
* @param params the query parameters including task ID, page size, and page token
* @return the configurations for this task (empty list if none found)
*/
- ListTaskPushNotificationConfigResult getInfo(ListTaskPushNotificationConfigParams params);
+ ListTaskPushNotificationConfigsResult getInfo(ListTaskPushNotificationConfigsParams params);
/**
* Deletes a push notification configuration for a task.
diff --git a/server-common/src/main/java/io/a2a/server/util/sse/SseFormatter.java b/server-common/src/main/java/io/a2a/server/util/sse/SseFormatter.java
index fec2386cc..8777f0f80 100644
--- a/server-common/src/main/java/io/a2a/server/util/sse/SseFormatter.java
+++ b/server-common/src/main/java/io/a2a/server/util/sse/SseFormatter.java
@@ -121,7 +121,7 @@ private static com.google.protobuf.MessageOrBuilder convertToProto(A2AResponse
} else if (response instanceof GetTaskPushNotificationConfigResponse r) {
return io.a2a.grpc.utils.ProtoUtils.ToProto.getTaskPushNotificationConfigResponse(r.getResult());
} else if (response instanceof ListTaskPushNotificationConfigsResponse r) {
- return io.a2a.grpc.utils.ProtoUtils.ToProto.listTaskPushNotificationConfigResponse(r.getResult());
+ return io.a2a.grpc.utils.ProtoUtils.ToProto.listTaskPushNotificationConfigsResponse(r.getResult());
} else if (response instanceof DeleteTaskPushNotificationConfigResponse) {
// DeleteTaskPushNotificationConfig has no result body, just return empty message
return com.google.protobuf.Empty.getDefaultInstance();
diff --git a/server-common/src/test/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStoreTest.java b/server-common/src/test/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStoreTest.java
index 22caad022..02cc84ae0 100644
--- a/server-common/src/test/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStoreTest.java
+++ b/server-common/src/test/java/io/a2a/server/tasks/InMemoryPushNotificationConfigStoreTest.java
@@ -16,8 +16,8 @@
import io.a2a.client.http.A2AHttpClient;
import io.a2a.client.http.A2AHttpResponse;
import io.a2a.common.A2AHeaders;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.Task;
import io.a2a.spec.TaskPushNotificationConfig;
import io.a2a.spec.TaskState;
@@ -103,7 +103,7 @@ public void testSetInfoAddsNewConfig() {
assertEquals(config.url(), result.url());
assertEquals(config.id(), result.id());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
assertEquals(config.url(), configResult.configs().get(0).url());
@@ -121,7 +121,7 @@ public void testSetInfoAppendsToExistingConfig() {
"http://updated.url/callback", "cfg_updated", null);
configStore.setInfo(updatedConfig);
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(2, configResult.configs().size());
@@ -154,7 +154,7 @@ public void testSetInfoWithoutConfigId() {
TaskPushNotificationConfig result = configStore.setInfo(initialConfig);
assertEquals(taskId, result.id(), "Config ID should default to taskId when not provided");
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertEquals(1, configResult.configs().size());
assertEquals(taskId, configResult.configs().get(0).id());
@@ -167,7 +167,7 @@ public void testSetInfoWithoutConfigId() {
TaskPushNotificationConfig updatedResult = configStore.setInfo(updatedConfig);
assertEquals(taskId, updatedResult.id());
- configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertEquals(1, configResult.configs().size(), "Should replace existing config with same ID rather than adding new one");
assertEquals(updatedConfig.url(), configResult.configs().get(0).url());
}
@@ -178,7 +178,7 @@ public void testGetInfoExistingConfig() {
TaskPushNotificationConfig config = createSamplePushConfig(taskId,"http://get.this/callback", "cfg1", null);
configStore.setInfo(config);
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
assertEquals(config.url(), configResult.configs().get(0).url());
@@ -188,7 +188,7 @@ public void testGetInfoExistingConfig() {
@Test
public void testGetInfoNonExistentConfig() {
String taskId = "task_get_non_exist";
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertTrue(configResult.configs().isEmpty(), "Should return empty list for non-existent task ID");
}
@@ -199,13 +199,13 @@ public void testDeleteInfoExistingConfig() {
TaskPushNotificationConfig config = createSamplePushConfig(taskId,"http://delete.this/callback", "cfg1", null);
configStore.setInfo(config);
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
configStore.deleteInfo(taskId, config.id());
- ListTaskPushNotificationConfigResult configsAfterDelete = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configsAfterDelete = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configsAfterDelete);
assertTrue(configsAfterDelete.configs().isEmpty(), "Should return empty list when no configs remain after deletion");
}
@@ -216,7 +216,7 @@ public void testDeleteInfoNonExistentConfig() {
// Should not throw an error
configStore.deleteInfo(taskId, "non_existent_id");
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertTrue(configResult.configs().isEmpty(), "Should return empty list for non-existent task ID");
}
@@ -234,7 +234,7 @@ public void testDeleteInfoWithNullConfigId() {
// Delete with null configId should use taskId
configStore.deleteInfo(taskId, null);
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertTrue(configResult.configs().isEmpty(), "Should return empty list after deletion when using taskId as configId");
}
@@ -340,7 +340,7 @@ public void testMultipleConfigsForSameTask() {
configStore.setInfo(config1);
configStore.setInfo(config2);
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(2, configResult.configs().size());
@@ -362,7 +362,7 @@ public void testDeleteSpecificConfigFromMultiple() {
// Delete only config1
configStore.deleteInfo(taskId, "cfg1");
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(configResult);
assertEquals(1, configResult.configs().size());
assertEquals("cfg2", configResult.configs().get(0).id());
@@ -378,13 +378,13 @@ public void testConfigStoreIntegration() {
assertEquals(config.url(), storedConfig.url());
assertEquals(config.token(), storedConfig.token());
- ListTaskPushNotificationConfigResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult configResult = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertEquals(1, configResult.configs().size());
assertEquals(config.url(), configResult.configs().get(0).url());
// Test deletion
configStore.deleteInfo(taskId, storedConfig.id());
- ListTaskPushNotificationConfigResult afterDeletion = configStore.getInfo(new ListTaskPushNotificationConfigParams(taskId));
+ ListTaskPushNotificationConfigsResult afterDeletion = configStore.getInfo(new ListTaskPushNotificationConfigsParams(taskId));
assertNotNull(afterDeletion);
assertTrue(afterDeletion.configs().isEmpty());
}
@@ -400,8 +400,8 @@ public void testPaginationWithPageSize() {
}
// Request first page with pageSize=2
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
assertEquals(2, result.configs().size(), "Should return 2 configs");
@@ -419,14 +419,14 @@ public void testPaginationWithPageToken() {
}
// Get first page
- ListTaskPushNotificationConfigParams firstPageParams = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult firstPage = configStore.getInfo(firstPageParams);
+ ListTaskPushNotificationConfigsParams firstPageParams = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult firstPage = configStore.getInfo(firstPageParams);
assertNotNull(firstPage.nextPageToken());
// Get second page using nextPageToken
- ListTaskPushNotificationConfigParams secondPageParams = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams secondPageParams = new ListTaskPushNotificationConfigsParams(
taskId, 2, firstPage.nextPageToken(), "");
- ListTaskPushNotificationConfigResult secondPage = configStore.getInfo(secondPageParams);
+ ListTaskPushNotificationConfigsResult secondPage = configStore.getInfo(secondPageParams);
assertNotNull(secondPage);
assertEquals(2, secondPage.configs().size(), "Should return 2 configs for second page");
@@ -465,18 +465,18 @@ public void testPaginationLastPage() {
}
// Get first page (2 items)
- ListTaskPushNotificationConfigParams firstPageParams = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult firstPage = configStore.getInfo(firstPageParams);
+ ListTaskPushNotificationConfigsParams firstPageParams = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult firstPage = configStore.getInfo(firstPageParams);
// Get second page (2 items)
- ListTaskPushNotificationConfigParams secondPageParams = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams secondPageParams = new ListTaskPushNotificationConfigsParams(
taskId, 2, firstPage.nextPageToken(), "");
- ListTaskPushNotificationConfigResult secondPage = configStore.getInfo(secondPageParams);
+ ListTaskPushNotificationConfigsResult secondPage = configStore.getInfo(secondPageParams);
// Get last page (1 item remaining)
- ListTaskPushNotificationConfigParams lastPageParams = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams lastPageParams = new ListTaskPushNotificationConfigsParams(
taskId, 2, secondPage.nextPageToken(), "");
- ListTaskPushNotificationConfigResult lastPage = configStore.getInfo(lastPageParams);
+ ListTaskPushNotificationConfigsResult lastPage = configStore.getInfo(lastPageParams);
assertNotNull(lastPage);
assertEquals(1, lastPage.configs().size(), "Last page should have 1 remaining config");
@@ -494,8 +494,8 @@ public void testPaginationWithZeroPageSize() {
}
// Request with pageSize=0 should return all configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 0, "", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 0, "", "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
assertEquals(5, result.configs().size(), "Should return all 5 configs when pageSize=0");
@@ -513,8 +513,8 @@ public void testPaginationWithNegativePageSize() {
}
// Request with negative pageSize should return all configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, -1, "", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, -1, "", "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
assertEquals(3, result.configs().size(), "Should return all configs when pageSize is negative");
@@ -532,8 +532,8 @@ public void testPaginationPageSizeLargerThanConfigs() {
}
// Request with pageSize larger than available configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 10, "", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 10, "", "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
assertEquals(3, result.configs().size(), "Should return all 3 configs");
@@ -551,8 +551,8 @@ public void testPaginationExactlyPageSize() {
}
// Request with pageSize equal to number of configs
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 3, "", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 3, "", "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
assertEquals(3, result.configs().size(), "Should return all 3 configs");
@@ -570,9 +570,9 @@ public void testPaginationWithInvalidToken() {
}
// Request with invalid pageToken - implementation behavior is to start from beginning
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(
taskId, 2, "invalid_token_that_does_not_exist", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
// When token is not found, implementation starts from beginning
@@ -585,8 +585,8 @@ public void testPaginationEmptyTaskWithPageSize() {
String taskId = "task_pagination_empty";
// No configs created
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 2, "", "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 2, "", "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
assertNotNull(result);
assertTrue(result.configs().isEmpty(), "Should return empty list for non-existent task");
@@ -609,8 +609,8 @@ public void testPaginationFullIteration() {
int pageCount = 0;
do {
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, 3, pageToken, "");
- ListTaskPushNotificationConfigResult result = configStore.getInfo(params);
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, 3, pageToken, "");
+ ListTaskPushNotificationConfigsResult result = configStore.getInfo(params);
totalCollected += result.configs().size();
pageToken = result.nextPageToken();
diff --git a/spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTaskPushNotificationConfigParamsMapper.java b/spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTaskPushNotificationConfigsParamsMapper.java
similarity index 56%
rename from spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTaskPushNotificationConfigParamsMapper.java
rename to spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTaskPushNotificationConfigsParamsMapper.java
index 4b3361f77..bf6e3cf79 100644
--- a/spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTaskPushNotificationConfigParamsMapper.java
+++ b/spec-grpc/src/main/java/io/a2a/grpc/mapper/ListTaskPushNotificationConfigsParamsMapper.java
@@ -1,31 +1,31 @@
package io.a2a.grpc.mapper;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
import org.mapstruct.BeanMapping;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
/**
- * Mapper between {@link io.a2a.grpc.ListTaskPushNotificationConfigsRequest} and {@link io.a2a.spec.ListTaskPushNotificationConfigParams}.
+ * Mapper between {@link io.a2a.grpc.ListTaskPushNotificationConfigsRequest} and {@link io.a2a.spec.ListTaskPushNotificationConfigsParams}.
*/
@Mapper(config = A2AProtoMapperConfig.class)
-public interface ListTaskPushNotificationConfigParamsMapper {
+public interface ListTaskPushNotificationConfigsParamsMapper {
- ListTaskPushNotificationConfigParamsMapper INSTANCE = A2AMappers.getMapper(ListTaskPushNotificationConfigParamsMapper.class);
+ ListTaskPushNotificationConfigsParamsMapper INSTANCE = A2AMappers.getMapper(ListTaskPushNotificationConfigsParamsMapper.class);
/**
- * Converts proto ListTaskPushNotificationConfigsRequest to domain ListTaskPushNotificationConfigParams.
+ * Converts proto ListTaskPushNotificationConfigsRequest to domain ListTaskPushNotificationConfigsParams.
*/
@BeanMapping(builder = @Builder(buildMethod = "build"))
@Mapping(target = "id", source = "taskId")
@Mapping(target = "tenant", source = "tenant")
- ListTaskPushNotificationConfigParams fromProto(io.a2a.grpc.ListTaskPushNotificationConfigsRequest proto);
+ ListTaskPushNotificationConfigsParams fromProto(io.a2a.grpc.ListTaskPushNotificationConfigsRequest proto);
/**
- * Converts domain ListTaskPushNotificationConfigParams to proto ListTaskPushNotificationConfigsRequest.
+ * Converts domain ListTaskPushNotificationConfigsParams to proto ListTaskPushNotificationConfigsRequest.
*/
@Mapping(target = "taskId", source = "id")
@Mapping(target = "tenant", source = "tenant")
- io.a2a.grpc.ListTaskPushNotificationConfigsRequest toProto(ListTaskPushNotificationConfigParams domain);
+ io.a2a.grpc.ListTaskPushNotificationConfigsRequest toProto(ListTaskPushNotificationConfigsParams domain);
}
diff --git a/spec-grpc/src/main/java/io/a2a/grpc/utils/JSONRPCUtils.java b/spec-grpc/src/main/java/io/a2a/grpc/utils/JSONRPCUtils.java
index dbfe89c89..9ea4a2a38 100644
--- a/spec-grpc/src/main/java/io/a2a/grpc/utils/JSONRPCUtils.java
+++ b/spec-grpc/src/main/java/io/a2a/grpc/utils/JSONRPCUtils.java
@@ -258,7 +258,7 @@ private static A2ARequest> parseMethodRequest(String version, Object id, Strin
if (tenant != null && !tenant.isBlank() && (builder.getTenant() == null || builder.getTenant().isBlank())) {
builder.setTenant(tenant);
}
- return new ListTaskPushNotificationConfigsRequest(version, id, ProtoUtils.FromProto.listTaskPushNotificationConfigParams(builder));
+ return new ListTaskPushNotificationConfigsRequest(version, id, ProtoUtils.FromProto.listTaskPushNotificationConfigsParams(builder));
}
case DELETE_TASK_PUSH_NOTIFICATION_CONFIG_METHOD -> {
io.a2a.grpc.DeleteTaskPushNotificationConfigRequest.Builder builder = io.a2a.grpc.DeleteTaskPushNotificationConfigRequest.newBuilder();
@@ -352,7 +352,7 @@ public static A2AResponse> parseResponseBody(String body, String method) throw
case LIST_TASK_PUSH_NOTIFICATION_CONFIG_METHOD -> {
io.a2a.grpc.ListTaskPushNotificationConfigsResponse.Builder builder = io.a2a.grpc.ListTaskPushNotificationConfigsResponse.newBuilder();
parseRequestBody(paramsNode, builder, id);
- return new ListTaskPushNotificationConfigsResponse(id, ProtoUtils.FromProto.listTaskPushNotificationConfigResult(builder));
+ return new ListTaskPushNotificationConfigsResponse(id, ProtoUtils.FromProto.listTaskPushNotificationConfigsResult(builder));
}
case DELETE_TASK_PUSH_NOTIFICATION_CONFIG_METHOD -> {
return new DeleteTaskPushNotificationConfigResponse(id);
diff --git a/spec-grpc/src/main/java/io/a2a/grpc/utils/ProtoUtils.java b/spec-grpc/src/main/java/io/a2a/grpc/utils/ProtoUtils.java
index 5cb52b96b..e2c98f47c 100644
--- a/spec-grpc/src/main/java/io/a2a/grpc/utils/ProtoUtils.java
+++ b/spec-grpc/src/main/java/io/a2a/grpc/utils/ProtoUtils.java
@@ -8,7 +8,7 @@
import io.a2a.grpc.mapper.AgentCardMapper;
import io.a2a.grpc.mapper.DeleteTaskPushNotificationConfigParamsMapper;
import io.a2a.grpc.mapper.GetTaskPushNotificationConfigParamsMapper;
-import io.a2a.grpc.mapper.ListTaskPushNotificationConfigParamsMapper;
+import io.a2a.grpc.mapper.ListTaskPushNotificationConfigsParamsMapper;
import io.a2a.grpc.mapper.ListTasksParamsMapper;
import io.a2a.grpc.mapper.ListTasksResultMapper;
import io.a2a.grpc.mapper.MessageMapper;
@@ -30,8 +30,8 @@
import io.a2a.spec.GetExtendedAgentCardParams;
import io.a2a.spec.GetTaskPushNotificationConfigParams;
import io.a2a.spec.InvalidParamsError;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendConfiguration;
@@ -88,8 +88,8 @@ public static io.a2a.grpc.DeleteTaskPushNotificationConfigRequest deleteTaskPush
return DeleteTaskPushNotificationConfigParamsMapper.INSTANCE.toProto(params);
}
- public static io.a2a.grpc.ListTaskPushNotificationConfigsRequest listTaskPushNotificationConfigRequest(ListTaskPushNotificationConfigParams params) {
- return ListTaskPushNotificationConfigParamsMapper.INSTANCE.toProto(params);
+ public static io.a2a.grpc.ListTaskPushNotificationConfigsRequest listTaskPushNotificationConfigsRequest(ListTaskPushNotificationConfigsParams params) {
+ return ListTaskPushNotificationConfigsParamsMapper.INSTANCE.toProto(params);
}
public static io.a2a.grpc.Task task(Task task) {
@@ -132,7 +132,7 @@ public static io.a2a.grpc.SendMessageRequest sendMessageRequest(MessageSendParam
return MessageSendParamsMapper.INSTANCE.toProto(request);
}
- public static io.a2a.grpc.ListTaskPushNotificationConfigsResponse listTaskPushNotificationConfigResponse(ListTaskPushNotificationConfigResult result) {
+ public static io.a2a.grpc.ListTaskPushNotificationConfigsResponse listTaskPushNotificationConfigsResponse(ListTaskPushNotificationConfigsResult result) {
List confs = new ArrayList<>(result.configs().size());
for (TaskPushNotificationConfig config : result.configs()) {
confs.add(taskPushNotificationConfig(config));
@@ -264,7 +264,7 @@ public static TaskIdParams taskIdParams(io.a2a.grpc.SubscribeToTaskRequestOrBuil
return convert(() -> TaskIdParamsMapper.INSTANCE.fromProtoSubscribeToTaskRequest(reqProto));
}
- public static ListTaskPushNotificationConfigResult listTaskPushNotificationConfigResult(io.a2a.grpc.ListTaskPushNotificationConfigsResponseOrBuilder response) {
+ public static ListTaskPushNotificationConfigsResult listTaskPushNotificationConfigsResult(io.a2a.grpc.ListTaskPushNotificationConfigsResponseOrBuilder response) {
List configs = response.getConfigsList();
List result = new ArrayList<>(configs.size());
for (io.a2a.grpc.TaskPushNotificationConfig config : configs) {
@@ -274,14 +274,14 @@ public static ListTaskPushNotificationConfigResult listTaskPushNotificationConfi
if (nextPageToken != null && nextPageToken.isEmpty()) {
nextPageToken = null;
}
- return new ListTaskPushNotificationConfigResult(result, nextPageToken);
+ return new ListTaskPushNotificationConfigsResult(result, nextPageToken);
}
- public static ListTaskPushNotificationConfigParams listTaskPushNotificationConfigParams(io.a2a.grpc.ListTaskPushNotificationConfigsRequestOrBuilder request) {
+ public static ListTaskPushNotificationConfigsParams listTaskPushNotificationConfigsParams(io.a2a.grpc.ListTaskPushNotificationConfigsRequestOrBuilder request) {
io.a2a.grpc.ListTaskPushNotificationConfigsRequest reqProto = request instanceof io.a2a.grpc.ListTaskPushNotificationConfigsRequest
? (io.a2a.grpc.ListTaskPushNotificationConfigsRequest) request
: ((io.a2a.grpc.ListTaskPushNotificationConfigsRequest.Builder) request).build();
- return convert(() -> ListTaskPushNotificationConfigParamsMapper.INSTANCE.fromProto(reqProto));
+ return convert(() -> ListTaskPushNotificationConfigsParamsMapper.INSTANCE.fromProto(reqProto));
}
public static DeleteTaskPushNotificationConfigParams deleteTaskPushNotificationConfigParams(io.a2a.grpc.DeleteTaskPushNotificationConfigRequestOrBuilder request) {
diff --git a/spec-grpc/src/test/java/io/a2a/grpc/utils/ToProtoTest.java b/spec-grpc/src/test/java/io/a2a/grpc/utils/ToProtoTest.java
index a9ef05edc..06759af55 100644
--- a/spec-grpc/src/test/java/io/a2a/grpc/utils/ToProtoTest.java
+++ b/spec-grpc/src/test/java/io/a2a/grpc/utils/ToProtoTest.java
@@ -22,7 +22,7 @@
import io.a2a.spec.AuthenticationInfo;
import io.a2a.spec.DeleteTaskPushNotificationConfigParams;
import io.a2a.spec.HTTPAuthSecurityScheme;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendConfiguration;
import io.a2a.spec.Task;
@@ -323,16 +323,16 @@ public void convertDeleteTaskPushNotificationConfigRequest() {
@Test
public void convertListTaskPushNotificationConfigsRequest() {
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams("task-789");
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams("task-789");
io.a2a.grpc.ListTaskPushNotificationConfigsRequest result =
- ProtoUtils.ToProto.listTaskPushNotificationConfigRequest(params);
+ ProtoUtils.ToProto.listTaskPushNotificationConfigsRequest(params);
assertEquals("task-789", result.getTaskId());
// Test round-trip conversion
- ListTaskPushNotificationConfigParams convertedBack =
- ProtoUtils.FromProto.listTaskPushNotificationConfigParams(result);
+ ListTaskPushNotificationConfigsParams convertedBack =
+ ProtoUtils.FromProto.listTaskPushNotificationConfigsParams(result);
assertEquals("task-789", convertedBack.id());
}
}
diff --git a/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigParams.java b/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigsParams.java
similarity index 88%
rename from spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigParams.java
rename to spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigsParams.java
index f24f3c4ce..9f39987fb 100644
--- a/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigParams.java
+++ b/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigsParams.java
@@ -17,7 +17,7 @@
* @see TaskPushNotificationConfig for the configuration structure
* @see A2A Protocol Specification
*/
-public record ListTaskPushNotificationConfigParams(String id, int pageSize, String pageToken, String tenant) {
+public record ListTaskPushNotificationConfigsParams(String id, int pageSize, String pageToken, String tenant) {
/**
* Compact constructor for validation.
@@ -28,7 +28,7 @@ public record ListTaskPushNotificationConfigParams(String id, int pageSize, Stri
* @param tenant the tenant identifier
* @throws IllegalArgumentException if id or tenant is null
*/
- public ListTaskPushNotificationConfigParams {
+ public ListTaskPushNotificationConfigsParams {
Assert.checkNotNullParam("id", id);
Assert.checkNotNullParam("tenant", tenant);
}
@@ -38,7 +38,7 @@ public record ListTaskPushNotificationConfigParams(String id, int pageSize, Stri
*
* @param id the task identifier (required)
*/
- public ListTaskPushNotificationConfigParams(String id) {
+ public ListTaskPushNotificationConfigsParams(String id) {
this(id, 0, "", "");
}
@@ -123,13 +123,13 @@ public Builder tenant(String tenant) {
}
/**
- * Builds the ListTaskPushNotificationConfigParams.
+ * Builds the ListTaskPushNotificationConfigsParams.
*
- * @return a new ListTaskPushNotificationConfigParams instance
+ * @return a new ListTaskPushNotificationConfigsParams instance
* @throws IllegalArgumentException if id is null
*/
- public ListTaskPushNotificationConfigParams build() {
- return new ListTaskPushNotificationConfigParams(
+ public ListTaskPushNotificationConfigsParams build() {
+ return new ListTaskPushNotificationConfigsParams(
Assert.checkNotNullParam("id", id),
pageSize != null ? pageSize : 0,
pageToken != null ? pageToken : "",
diff --git a/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigResult.java b/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigsResult.java
similarity index 87%
rename from spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigResult.java
rename to spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigsResult.java
index 1ae125713..a2b9ebb4f 100644
--- a/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigResult.java
+++ b/spec/src/main/java/io/a2a/spec/ListTaskPushNotificationConfigsResult.java
@@ -11,7 +11,7 @@
* @param configs List of push notification configurations for the task
* @param nextPageToken Token for retrieving the next page of results (null if no more results)
*/
-public record ListTaskPushNotificationConfigResult(List configs,
+public record ListTaskPushNotificationConfigsResult(List configs,
@Nullable String nextPageToken) {
/**
* Compact constructor for validation.
@@ -21,7 +21,7 @@ public record ListTaskPushNotificationConfigResult(List configs) {
+ public ListTaskPushNotificationConfigsResult(List configs) {
this(configs, null);
}
diff --git a/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java b/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java
index 2c7b2ecee..f7cdacc61 100644
--- a/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java
+++ b/tests/server-common/src/test/java/io/a2a/server/apps/common/AbstractA2AServerTest.java
@@ -62,8 +62,8 @@
import io.a2a.spec.InvalidParamsError;
import io.a2a.spec.InvalidRequestError;
import io.a2a.spec.JSONParseError;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendParams;
@@ -1118,7 +1118,7 @@ private boolean waitForChildQueueCountToBe(String taskId, int expectedCount, lon
}
@Test
- public void testListPushNotificationConfigWithConfigId() throws Exception {
+ public void testListPushNotificationConfigsWithConfigId() throws Exception {
saveTaskInTaskStore(MINIMAL_TASK);
TaskPushNotificationConfig notificationConfig1
= TaskPushNotificationConfig.builder()
@@ -1134,8 +1134,8 @@ public void testListPushNotificationConfigWithConfigId() throws Exception {
savePushNotificationConfigInStore(MINIMAL_TASK.id(), notificationConfig2);
try {
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
assertEquals(2, result.size());
assertEquals(TaskPushNotificationConfig.builder(notificationConfig1).taskId(MINIMAL_TASK.id()).build(), result.configs().get(0));
assertEquals(TaskPushNotificationConfig.builder(notificationConfig2).taskId(MINIMAL_TASK.id()).build(), result.configs().get(1));
@@ -1149,7 +1149,7 @@ public void testListPushNotificationConfigWithConfigId() throws Exception {
}
@Test
- public void testListPushNotificationConfigWithoutConfigId() throws Exception {
+ public void testListPushNotificationConfigsWithoutConfigId() throws Exception {
saveTaskInTaskStore(MINIMAL_TASK);
TaskPushNotificationConfig notificationConfig1
= TaskPushNotificationConfig.builder()
@@ -1166,8 +1166,8 @@ public void testListPushNotificationConfigWithoutConfigId() throws Exception {
// will overwrite the previous one
savePushNotificationConfigInStore(MINIMAL_TASK.id(), notificationConfig2);
try {
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
assertEquals(1, result.size());
TaskPushNotificationConfig expectedNotificationConfig = TaskPushNotificationConfig.builder()
@@ -1185,10 +1185,10 @@ public void testListPushNotificationConfigWithoutConfigId() throws Exception {
}
@Test
- public void testListPushNotificationConfigTaskNotFound() {
+ public void testListPushNotificationConfigsTaskNotFound() {
try {
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams("non-existent-task"));
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams("non-existent-task"));
fail();
} catch (A2AClientException e) {
assertInstanceOf(TaskNotFoundError.class, e.getCause());
@@ -1196,11 +1196,11 @@ public void testListPushNotificationConfigTaskNotFound() {
}
@Test
- public void testListPushNotificationConfigEmptyList() throws Exception {
+ public void testListPushNotificationConfigsEmptyList() throws Exception {
saveTaskInTaskStore(MINIMAL_TASK);
try {
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
assertEquals(0, result.size());
} catch (Exception e) {
fail(e.getMessage());
@@ -1238,13 +1238,13 @@ public void testDeletePushNotificationConfigWithValidConfigId() throws Exception
new DeleteTaskPushNotificationConfigParams(MINIMAL_TASK.id(), "config1"));
// should now be 1 left
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
assertEquals(1, result.size());
// should remain unchanged, this is a different task
result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams("task-456"));
+ new ListTaskPushNotificationConfigsParams("task-456"));
assertEquals(1, result.size());
} catch (Exception e) {
fail(e.getMessage());
@@ -1278,8 +1278,8 @@ public void testDeletePushNotificationConfigWithNonExistingConfigId() throws Exc
new DeleteTaskPushNotificationConfigParams(MINIMAL_TASK.id(), "non-existent-config-id"));
// should remain unchanged
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
assertEquals(2, result.size());
} catch (Exception e) {
fail();
@@ -1325,8 +1325,8 @@ public void testDeletePushNotificationConfigSetWithoutConfigId() throws Exceptio
new DeleteTaskPushNotificationConfigParams(MINIMAL_TASK.id(), MINIMAL_TASK.id()));
// should now be 0
- ListTaskPushNotificationConfigResult result = getClient().listTaskPushNotificationConfigurations(
- new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()), null);
+ ListTaskPushNotificationConfigsResult result = getClient().listTaskPushNotificationConfigurations(
+ new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()), null);
assertEquals(0, result.size());
} catch (Exception e) {
fail();
diff --git a/transport/grpc/src/main/java/io/a2a/transport/grpc/context/GrpcContextKeys.java b/transport/grpc/src/main/java/io/a2a/transport/grpc/context/GrpcContextKeys.java
index 99062f6fe..bea363271 100644
--- a/transport/grpc/src/main/java/io/a2a/transport/grpc/context/GrpcContextKeys.java
+++ b/transport/grpc/src/main/java/io/a2a/transport/grpc/context/GrpcContextKeys.java
@@ -102,7 +102,7 @@ public final class GrpcContextKeys {
* SubscribeToTask → SubscribeToTask
* CreateTaskPushNotification → CreateTaskPushNotificationConfig
* GetTaskPushNotification → GetTaskPushNotificationConfig
- * ListTaskPushNotification → ListTaskPushNotificationConfig
+ * ListTaskPushNotification → ListTaskPushNotificationConfigs
* DeleteTaskPushNotification → DeleteTaskPushNotificationConfig
*
*
diff --git a/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/GrpcHandler.java b/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/GrpcHandler.java
index 4d652377c..4eb8c7223 100644
--- a/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/GrpcHandler.java
+++ b/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/GrpcHandler.java
@@ -43,8 +43,8 @@
import io.a2a.spec.InvalidParamsError;
import io.a2a.spec.InvalidRequestError;
import io.a2a.spec.JSONParseError;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.MessageSendParams;
import io.a2a.spec.MethodNotFoundError;
import io.a2a.spec.PushNotificationNotSupportedError;
@@ -329,9 +329,9 @@ public void listTaskPushNotificationConfigs(io.a2a.grpc.ListTaskPushNotification
try {
ServerCallContext context = createCallContext(responseObserver);
- ListTaskPushNotificationConfigParams params = FromProto.listTaskPushNotificationConfigParams(request);
- ListTaskPushNotificationConfigResult result = getRequestHandler().onListTaskPushNotificationConfig(params, context);
- io.a2a.grpc.ListTaskPushNotificationConfigsResponse response = ToProto.listTaskPushNotificationConfigResponse(result);
+ ListTaskPushNotificationConfigsParams params = FromProto.listTaskPushNotificationConfigsParams(request);
+ ListTaskPushNotificationConfigsResult result = getRequestHandler().onListTaskPushNotificationConfigs(params, context);
+ io.a2a.grpc.ListTaskPushNotificationConfigsResponse response = ToProto.listTaskPushNotificationConfigsResponse(result);
responseObserver.onNext(response);
responseObserver.onCompleted();
} catch (A2AError e) {
diff --git a/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/package-info.java b/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/package-info.java
index b05417c46..3dfc56685 100644
--- a/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/package-info.java
+++ b/transport/grpc/src/main/java/io/a2a/transport/grpc/handler/package-info.java
@@ -29,7 +29,7 @@
* {@code CancelTask} - Cancel task execution
* {@code GetTaskPushNotificationConfig} - Get push notification config
* {@code CreateTaskPushNotificationConfig} - Create push notification config
- * {@code ListTaskPushNotificationConfig} - List push notification configs
+ * {@code ListTaskPushNotificationConfigs} - List push notification configs
* {@code DeleteTaskPushNotificationConfig} - Delete push notification config
* {@code GetExtendedAgentCard} - Get extended agent card
*
diff --git a/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandler.java b/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandler.java
index 0e30ac414..ec419f465 100644
--- a/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandler.java
+++ b/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandler.java
@@ -48,7 +48,7 @@
import io.a2a.spec.InternalError;
import io.a2a.spec.InvalidRequestError;
import io.a2a.spec.UnsupportedOperationError;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.PushNotificationNotSupportedError;
import io.a2a.spec.StreamingEventKind;
import io.a2a.spec.Task;
@@ -571,7 +571,7 @@ public ListTasksResponse onListTasks(ListTasksRequest request, ServerCallContext
* {
* "jsonrpc": "2.0",
* "id": "list-config-123",
- * "method": "listTaskPushNotificationConfig",
+ * "method": "listTaskPushNotificationConfigs",
* "params": {
* "taskId": "task-456",
* "pageSize": 10
@@ -582,17 +582,17 @@ public ListTasksResponse onListTasks(ListTasksRequest request, ServerCallContext
* @param request the JSON-RPC request containing task ID and pagination params
* @param context the server call context containing authentication and metadata
* @return JSON-RPC response with list of configurations
- * @see RequestHandler#onListTaskPushNotificationConfig
+ * @see RequestHandler#onListTaskPushNotificationConfigs
*/
- public ListTaskPushNotificationConfigsResponse listPushNotificationConfig(
+ public ListTaskPushNotificationConfigsResponse listPushNotificationConfigs(
ListTaskPushNotificationConfigsRequest request, ServerCallContext context) {
if ( !agentCard.capabilities().pushNotifications()) {
return new ListTaskPushNotificationConfigsResponse(request.getId(),
new PushNotificationNotSupportedError());
}
try {
- ListTaskPushNotificationConfigResult result =
- requestHandler.onListTaskPushNotificationConfig(request.getParams(), context);
+ ListTaskPushNotificationConfigsResult result =
+ requestHandler.onListTaskPushNotificationConfigs(request.getParams(), context);
return new ListTaskPushNotificationConfigsResponse(request.getId(), result);
} catch (A2AError e) {
return new ListTaskPushNotificationConfigsResponse(request.getId(), e);
diff --git a/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/package-info.java b/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/package-info.java
index 306e94d86..8bd8eeee7 100644
--- a/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/package-info.java
+++ b/transport/jsonrpc/src/main/java/io/a2a/transport/jsonrpc/handler/package-info.java
@@ -23,7 +23,7 @@
* {@code cancelTask} - Cancel task execution
* {@code getTaskPushNotificationConfig} - Get push notification config
* {@code setTaskPushNotificationConfig} - Create push notification config
- * {@code listTaskPushNotificationConfig} - List push notification configs
+ * {@code listTaskPushNotificationConfigs} - List push notification configs
* {@code deleteTaskPushNotificationConfig} - Delete push notification config
*
*
diff --git a/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java b/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java
index ac19034e0..72f94404b 100644
--- a/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java
+++ b/transport/jsonrpc/src/test/java/io/a2a/transport/jsonrpc/handler/JSONRPCHandlerTest.java
@@ -61,7 +61,7 @@
import io.a2a.spec.GetTaskPushNotificationConfigParams;
import io.a2a.spec.InternalError;
import io.a2a.spec.InvalidRequestError;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.Message;
import io.a2a.spec.MessageSendConfiguration;
@@ -1375,8 +1375,8 @@ public void testListPushNotificationConfig() {
.tenant("tenant")
.build();
ListTaskPushNotificationConfigsRequest listRequest
- = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
- ListTaskPushNotificationConfigsResponse listResponse = handler.listPushNotificationConfig(listRequest, callContext);
+ = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
+ ListTaskPushNotificationConfigsResponse listResponse = handler.listPushNotificationConfigs(listRequest, callContext);
assertEquals("111", listResponse.getId());
assertEquals(1, listResponse.getResult().size());
@@ -1403,9 +1403,9 @@ public void testListPushNotificationConfigNotSupported() {
handler.setPushNotificationConfig(request, callContext);
ListTaskPushNotificationConfigsRequest listRequest
- = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
ListTaskPushNotificationConfigsResponse listResponse
- = handler.listPushNotificationConfig(listRequest, callContext);
+ = handler.listPushNotificationConfigs(listRequest, callContext);
assertEquals("111", listResponse.getId());
assertNull(listResponse.getResult());
@@ -1422,9 +1422,9 @@ public void testListPushNotificationConfigNoPushConfigStore() {
};
ListTaskPushNotificationConfigsRequest listRequest
- = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
ListTaskPushNotificationConfigsResponse listResponse
- = handler.listPushNotificationConfig(listRequest, callContext);
+ = handler.listPushNotificationConfigs(listRequest, callContext);
assertEquals("111", listResponse.getId());
assertNull(listResponse.getResult());
@@ -1439,9 +1439,9 @@ public void testListPushNotificationConfigTaskNotFound() {
};
ListTaskPushNotificationConfigsRequest listRequest
- = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigParams(MINIMAL_TASK.id()));
+ = new ListTaskPushNotificationConfigsRequest("111", new ListTaskPushNotificationConfigsParams(MINIMAL_TASK.id()));
ListTaskPushNotificationConfigsResponse listResponse
- = handler.listPushNotificationConfig(listRequest, callContext);
+ = handler.listPushNotificationConfigs(listRequest, callContext);
assertEquals("111", listResponse.getId());
assertNull(listResponse.getResult());
diff --git a/transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java b/transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java
index 75de9cda4..2de6ce675 100644
--- a/transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java
+++ b/transport/rest/src/main/java/io/a2a/transport/rest/handler/RestHandler.java
@@ -49,8 +49,8 @@
import io.a2a.spec.InvalidParamsError;
import io.a2a.spec.InvalidRequestError;
import io.a2a.spec.JSONParseError;
-import io.a2a.spec.ListTaskPushNotificationConfigParams;
-import io.a2a.spec.ListTaskPushNotificationConfigResult;
+import io.a2a.spec.ListTaskPushNotificationConfigsParams;
+import io.a2a.spec.ListTaskPushNotificationConfigsResult;
import io.a2a.spec.ListTasksParams;
import io.a2a.spec.MethodNotFoundError;
import io.a2a.spec.PushNotificationNotSupportedError;
@@ -571,9 +571,9 @@ public HTTPRestResponse listTaskPushNotificationConfigurations(ServerCallContext
if (!agentCard.capabilities().pushNotifications()) {
throw new PushNotificationNotSupportedError();
}
- ListTaskPushNotificationConfigParams params = new ListTaskPushNotificationConfigParams(taskId, pageSize, pageToken, tenant);
- ListTaskPushNotificationConfigResult result = requestHandler.onListTaskPushNotificationConfig(params, context);
- return createSuccessResponse(200, io.a2a.grpc.ListTaskPushNotificationConfigsResponse.newBuilder(ProtoUtils.ToProto.listTaskPushNotificationConfigResponse(result)));
+ ListTaskPushNotificationConfigsParams params = new ListTaskPushNotificationConfigsParams(taskId, pageSize, pageToken, tenant);
+ ListTaskPushNotificationConfigsResult result = requestHandler.onListTaskPushNotificationConfigs(params, context);
+ return createSuccessResponse(200, io.a2a.grpc.ListTaskPushNotificationConfigsResponse.newBuilder(ProtoUtils.ToProto.listTaskPushNotificationConfigsResponse(result)));
} catch (A2AError e) {
return createErrorResponse(e);
} catch (Throwable throwable) {