The A2A spec says that the payload of a message/send request (MessageSendParams) contains an optional metadata field, which is for the use of extensions:
https://a2a-protocol.org/latest/specification/#711-messagesendparams-object
The Worker.run_task() method takes a TaskSendParams argument, which also has a field metadata for extension metadata.
But when the message is forwarded to the broker (TaskManager.send_message()), this metadata object is omitted.
Is there any particular reason for this? In some cases it could be useful for the Worker to have access to extension metadata.
I think that resolving this would require no more than to add 'metadata': request['params']['metadata'] to the initialisation of broker_params in TaskManager.send_message().
https://github.com/pydantic/fasta2a/blob/a6d6cf0a0f65a418bc8a6eb980c7e74366c0e934/fasta2a/task_manager.py#L123
The A2A spec says that the payload of a message/send request (MessageSendParams) contains an optional metadata field, which is for the use of extensions:
https://a2a-protocol.org/latest/specification/#711-messagesendparams-object
The Worker.run_task() method takes a
TaskSendParamsargument, which also has a fieldmetadatafor extension metadata.But when the message is forwarded to the broker (
TaskManager.send_message()), this metadata object is omitted.Is there any particular reason for this? In some cases it could be useful for the Worker to have access to extension metadata.
I think that resolving this would require no more than to add
'metadata': request['params']['metadata']to the initialisation ofbroker_paramsinTaskManager.send_message().https://github.com/pydantic/fasta2a/blob/a6d6cf0a0f65a418bc8a6eb980c7e74366c0e934/fasta2a/task_manager.py#L123