diff --git a/python/packages/a2a/agent_framework_a2a/_agent.py b/python/packages/a2a/agent_framework_a2a/_agent.py index 68694e3db4..7fe4649a65 100644 --- a/python/packages/a2a/agent_framework_a2a/_agent.py +++ b/python/packages/a2a/agent_framework_a2a/_agent.py @@ -388,6 +388,17 @@ def _task_to_chat_messages(self, task: Task) -> list[ChatMessage]: if task.artifacts is not None: for artifact in task.artifacts: messages.append(self._artifact_to_chat_message(artifact)) + elif task.history is not None and len(task.history) > 0: + # Include the last history item as the agent response + history_item = task.history[-1] + contents = self._a2a_parts_to_contents(history_item.parts) + messages.append( + ChatMessage( + role=Role.ASSISTANT if history_item.role == A2ARole.agent else Role.USER, + contents=contents, + raw_representation=history_item, + ) + ) return messages