a2aproject / a2aproject/a2a-js

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

Ouverte
#700 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
TypeScript
Étoiles
613
Forks
169
Merge moyen
1 j 6 h
PR mergées (30 j)
21

Description

## 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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.