@@ -57,7 +57,7 @@ def make_dict_serializable(value: Any) -> Any:
5757 Returns:
5858 A serializable value.
5959 """
60- if isinstance (value , ( str , int , float , bool ) ) or value is None :
60+ if isinstance (value , str | int | float | bool ) or value is None :
6161 return value
6262 if isinstance (value , dict ):
6363 return {k : make_dict_serializable (v ) for k , v in value .items ()}
@@ -140,6 +140,7 @@ def message(cls, message: types.Message | None) -> a2a_pb2.Message | None:
140140 task_id = message .task_id or '' ,
141141 role = cls .role (message .role ),
142142 metadata = cls .metadata (message .metadata ),
143+ extensions = message .extensions or [],
143144 )
144145
145146 @classmethod
@@ -239,6 +240,7 @@ def artifact(cls, artifact: types.Artifact) -> a2a_pb2.Artifact:
239240 metadata = cls .metadata (artifact .metadata ),
240241 name = artifact .name ,
241242 parts = [cls .part (p ) for p in artifact .parts ],
243+ extensions = artifact .extensions or [],
242244 )
243245
244246 @classmethod
@@ -695,6 +697,7 @@ def artifact(cls, artifact: a2a_pb2.Artifact) -> types.Artifact:
695697 metadata = cls .metadata (artifact .metadata ),
696698 name = artifact .name ,
697699 parts = [cls .part (p ) for p in artifact .parts ],
700+ extensions = artifact .extensions or None ,
698701 )
699702
700703 @classmethod
0 commit comments