a2aproject / a2aproject/a2a-tck

TCK sends wrong field names/structure for CreateTaskPushNotificationConfig (configId + nested config vs flat id)

Abierto Apto para principiantes
#145 3 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
50
Forks
40
Merge medio
7 d 1 h
PR fusionados (30 d)
1

Descripción

## Summary

The TCK's `jsonrpc_client.create_task_push_notification_config` sends:

```json
{"taskId": "...", "configId": "...", "config": {"url": "...", "token": "..."}}
```

The v1.0 spec defines `TaskPushNotificationConfig` as a **flat** message (post-PR #1500):

```protobuf
message TaskPushNotificationConfig {
string tenant = 1;
string id = 2;
string task_id = 3;
string url = 4 [(google.api.field_behavior) = REQUIRED];
string token = 5;
AuthenticationInfo authentication = 6;
}
```

The SDK correctly serializes this flat via `MessageToDict()`:

```json
{"taskId": "...", "id": "...", "url": "...", "token": "..."}
```

## Two Mismatches

1. **Field name:** TCK sends `configId` — spec field is `id`
2. **Structure:** TCK nests `url`/`token`/`authentication` inside a `config` sub-object — spec has them flat on `TaskPushNotificationConfig`

## Location

`tests/utils/transport/jsonrpc_client.py`:
```python
response = self._make_jsonrpc_request(
method="CreateTaskPushNotificationConfig",
params={"taskId": task_id, "configId": config_id, "config": config},
)
```

## Impact

All push notification config create/get/list/delete tests fail with `-32602 InvalidParams` against any v1.0 agent built with the official SDK.

## Spec Reference

`TaskPushNotificationConfig` in `specification/a2a.proto` (current HEAD, post [a2aproject/A2A#1500](https://github.com/a2aproject/A2A/pull/1500))

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The issue is in tests/utils/transport/jsonrpc_client.py in the create_task_push_notification_config method. Compare the current params structure with the flat TaskPushNotificationConfig message in specification/a2a.proto. Update the method to send the correct flat fields (id, url, token) instead of configId and a nested config object. Run the push notification config tests to verify they no longer fail with InvalidParams.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
api, testing
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
65/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.