Skip to content
Merged
14 changes: 1 addition & 13 deletions src/a2a/utils/task.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
"""Utility functions for creating A2A Task objects."""

import uuid
Expand Down Expand Up @@ -28,22 +28,10 @@
if isinstance(part.root, TextPart) and not part.root.text:
raise ValueError('TextPart content cannot be empty')

context_id_str = request.context_id
if context_id_str is not None:
try:
uuid.UUID(context_id_str)
context_id = context_id_str
except (ValueError, AttributeError, TypeError) as e:
raise ValueError(
f"Invalid context_id: '{context_id_str}' is not a valid UUID."
) from e
else:
context_id = str(uuid.uuid4())

return Task(
status=TaskStatus(state=TaskState.submitted),
id=(request.task_id if request.task_id else str(uuid.uuid4())),
context_id=context_id,
context_id=(request.context_id if request.context_id else str(uuid.uuid4())),
history=[request],
)

Expand Down
18 changes: 0 additions & 18 deletions tests/utils/test_task.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,24 +188,6 @@ def test_completed_task_invalid_artifact_type(self):
history=[],
)

def test_new_task_with_invalid_context_id(self):
"""Test that new_task raises a ValueError for various invalid context_id formats."""
invalid_ids = ['not-a-uuid', '']
for invalid_id in invalid_ids:
with self.subTest(invalid_id=invalid_id):
with pytest.raises(
ValueError,
match=f"Invalid context_id: '{invalid_id}' is not a valid UUID.",
):
new_task(
Message(
role=Role.user,
parts=[Part(root=TextPart(text='test message'))],
message_id=str(uuid.uuid4()),
context_id=invalid_id,
)
)


if __name__ == '__main__':
unittest.main()
Loading