From 42300d030863322808c89629bcc5ae725b8d50a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E4=B9=9F?= Date: Wed, 4 Jun 2025 22:57:23 +0800 Subject: [PATCH] fix(task_updater): fix potential duplicate artifact_id from default value Change artifact_id default from str(uuid.uuid4()) to None and generate unique ID within method This prevents using the same default value across multiple calls --- src/a2a/server/tasks/task_updater.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/a2a/server/tasks/task_updater.py b/src/a2a/server/tasks/task_updater.py index b62dedff0..b5ed97254 100644 --- a/src/a2a/server/tasks/task_updater.py +++ b/src/a2a/server/tasks/task_updater.py @@ -68,7 +68,7 @@ async def update_status( async def add_artifact( self, parts: list[Part], - artifact_id: str = str(uuid.uuid4()), + artifact_id: str | None = None, name: str | None = None, metadata: dict[str, Any] | None = None, ): @@ -82,6 +82,9 @@ async def add_artifact( append: Optional boolean indicating if this chunk appends to a previous one. last_chunk: Optional boolean indicating if this is the last chunk. """ + if not artifact_id: + artifact_id = str(uuid.uuid4()) + await self.event_queue.enqueue_event( TaskArtifactUpdateEvent( taskId=self.task_id,