-
Notifications
You must be signed in to change notification settings - Fork 325
Closed
Copy link
Description
What happened?
I wonder why metadata is not passed to proto object for a task, although it is passed for a message. Is it a bug or there is a reason for it?
Implementation for context:
@classmethod
def task(cls, task: types.Task) -> a2a_pb2.Task:
return a2a_pb2.Task(
id=task.id,
context_id=task.context_id,
status=cls.task_status(task.status),
artifacts=(
[cls.artifact(a) for a in task.artifacts]
if task.artifacts
else None
),
history=(
[cls.message(h) for h in task.history] # type: ignore[misc]
if task.history
else None
),
)
@classmethod
def message(cls, message: types.Message | None) -> a2a_pb2.Message | None:
if message is None:
return None
return a2a_pb2.Message(
message_id=message.message_id,
content=[cls.part(p) for p in message.parts],
context_id=message.context_id or '',
task_id=message.task_id or '',
role=cls.role(message.role),
metadata=cls.metadata(message.metadata),
extensions=message.extensions or [],
)Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct