[Bug]: CancelTaskRequest.metadata never reaches AgentExecutor.cancel

Abierto
#1,415 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 2 días

@muscariello ya está trabajando en esto.

Desde el 2/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

maintainers-only
What happened?

CancelTaskRequest has a metadata field (a2a_pb2.pyi; the REST mapping sends the whole request as the body, post: "/tasks/{id=*}:cancel", body: "*" in a2a.proto), but nothing on the server hands it to AgentExecutor.cancel:

  • RestDispatcher.on_cancel_task (src/a2a/server/routes/rest_dispatcher.py) builds CancelTaskRequest(id=task_id) and does not read the body.
  • On every binding, on_cancel_task in DefaultRequestHandlerV2 reads only params.id, and the RequestContext given to cancel has no request (request=None in default_request_handler.py, no request in ActiveTask.cancel). So context.metadata is {} for a cancel, while for SendMessage it returns the request's metadata.

A caller's {"metadata": {...}} therefore never reaches the executor, whichever transport it uses. The Go SDK (gRPC) and the .NET SDK (gRPC and JSON-RPC) do pass it to the executor; only their REST bindings drop it.

Expected: context.metadata of a cancel holds the request's metadata. For REST, decode the body into CancelTaskRequest and keep the id from the path.

Read from the source at 11f1116 (v1.3.0 + 12 commits); I did not run it.

Relevant log output
n/a (found by reading the source)
Code of Conduct
  • I agree to follow this project's Code of Conduct
Lenguaje dominante
Python
Estrellas
2.2k
Forks
528
Merge medio
3 d 17 h
PR fusionados (30 d)
43

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de a2aproject/a2a-python

Todos los issues de a2aproject/a2a-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.