a2aproject / a2aproject/a2a-js

[Bug]: REST push-notification config listing ignores pageSize and pageToken

Abierto
#700 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
613
Forks
169
Merge medio
1 d 6 h
PR fusionados (30 d)
21

Descripción

## What happened

The REST transport silently drops `pageSize` and `pageToken` when listing push-notification configurations. A call that supplies `pageSize: 7` and `pageToken: "cursor-abc"` sends `GET /tasks/task-1/pushNotificationConfigs` with no query string. The REST server also invokes the request handler with `pageSize: 0` and an empty `pageToken` even when the HTTP request contains those query parameters, so callers cannot request a page or continue from a cursor.

## What I expected

When `pageSize` and/or `pageToken` are supplied, the REST client should transmit them as URL-encoded camelCase query parameters, and the REST server should pass those values through to `ListTaskPushNotificationConfigsRequest`. A caller should be able to retrieve a bounded page and follow the returned `nextPageToken`.

## Steps to reproduce

1. Create a `RestTransport` with a custom `fetch` implementation that records the requested URL and returns a successful JSON response.
2. Call `listTaskPushNotificationConfig({ tenant: "", taskId: "task-1", pageSize: 7, pageToken: "cursor-abc" })`.
3. Observe that the requested URL is `/tasks/task-1/pushNotificationConfigs` rather than including `?pageSize=7&pageToken=cursor-abc`.
4. Alternatively, send `GET /tasks/task-1/pushNotificationConfigs?pageSize=7&pageToken=cursor-abc` to an Express server using `restHandler` and inspect the request-handler arguments; they still contain `pageSize: 0` and `pageToken: ""`.

## Additional context

The A2A specification section 11.5 (Query Parameter Naming for Request Parameters) requires GET operation request parameters to be sent as query parameters and defines the camelCase names `pageSize` and `pageToken`: https://github.com/a2aproject/A2A/blob/main/docs/specification.md#115-query-parameter-naming-for-request-parameters

The same request fields are available through the JSON-RPC and gRPC transports, so silently ignoring them in REST makes pagination behavior differ across transports. If pagination is intentionally unsupported for this endpoint, the public REST API should document or reject those inputs instead of ignoring them.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.