From dd300ede8968ff36a741a75c723b13a3e31c8ea2 Mon Sep 17 00:00:00 2001 From: Pastukhov Nikita Date: Mon, 13 Oct 2025 20:04:27 +0300 Subject: [PATCH 1/2] fix: correct `new_artifact` methods description according to Artifact field type Artifact class has nullable description with default None `Artifact(description: str | None = None)` But, utilities functions creates and artifact with empty description by default `description=''` --- src/a2a/utils/artifact.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/a2a/utils/artifact.py b/src/a2a/utils/artifact.py index 1cf0a89a..101295bf 100644 --- a/src/a2a/utils/artifact.py +++ b/src/a2a/utils/artifact.py @@ -8,7 +8,9 @@ def new_artifact( - parts: list[Part], name: str, description: str = '' + parts: list[Part], + name: str, + description: str | None = None, ) -> Artifact: """Creates a new Artifact object. @@ -31,7 +33,7 @@ def new_artifact( def new_text_artifact( name: str, text: str, - description: str = '', + description: str | None = None, ) -> Artifact: """Creates a new Artifact object containing only a single TextPart. @@ -53,7 +55,7 @@ def new_text_artifact( def new_data_artifact( name: str, data: dict[str, Any], - description: str = '', + description: str | None = None, ) -> Artifact: """Creates a new Artifact object containing only a single DataPart. From 37f0f8e9190d50675d957683e374e8ac1f641966 Mon Sep 17 00:00:00 2001 From: Nikita Pastukhov Date: Mon, 13 Oct 2025 20:09:26 +0300 Subject: [PATCH 2/2] test: empty description now None --- tests/utils/test_artifact.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/utils/test_artifact.py b/tests/utils/test_artifact.py index 132d0567..a0b783cb 100644 --- a/tests/utils/test_artifact.py +++ b/tests/utils/test_artifact.py @@ -32,7 +32,7 @@ def test_new_artifact_empty_description_if_not_provided(self): parts = [Part(root=TextPart(text='Another sample'))] name = 'Artifact_No_Desc' artifact = new_artifact(parts=parts, name=name) - self.assertEqual(artifact.description, '') + self.assertEqual(artifact.description, None) def test_new_text_artifact_creates_single_text_part(self): text = 'This is a text artifact.'