3434_EXTENSIONS_KEY = 'extensions'
3535_REFERENCE_TASK_IDS_KEY = 'referenceTaskIds'
3636_PART_METADATA_KEY = 'partMetadata'
37- _PART_TYPES_KEY = 'partTypes'
3837_METADATA_VERSION_KEY = '__vertex_compat_v'
3938_METADATA_VERSION_NUMBER = 1.0
4039
40+ _DATA_PART_MIME_TYPE = 'application/x-a2a-datapart'
41+
4142
4243_TO_SDK_TASK_STATE = {
4344 vertexai_types .A2aTaskState .STATE_UNSPECIFIED : TaskState .unknown ,
@@ -81,14 +82,7 @@ def to_stored_metadata(
8182 if reference_task_ids :
8283 metadata [_REFERENCE_TASK_IDS_KEY ] = reference_task_ids
8384
84- part_types = []
85- part_metadata = []
86- for part in parts :
87- part_types .append ('data' if isinstance (part .root , DataPart ) else '' )
88- part_metadata .append (part .root .metadata )
89-
90- metadata [_PART_TYPES_KEY ] = part_types
91- metadata [_PART_METADATA_KEY ] = part_metadata
85+ metadata [_PART_METADATA_KEY ] = [part .root .metadata for part in parts ]
9286
9387 return metadata
9488
@@ -99,7 +93,6 @@ class _UnpackedMetadata:
9993 extensions : list [str ] | None = None
10094 reference_task_ids : list [str ] | None = None
10195 part_metadata : list [dict [str , Any ] | None ] | None = None
102- part_types : list [str ] | None = None
10396
10497
10598def to_sdk_metadata (
@@ -118,7 +111,6 @@ def to_sdk_metadata(
118111 extensions = stored_metadata .get (_EXTENSIONS_KEY ),
119112 reference_task_ids = stored_metadata .get (_REFERENCE_TASK_IDS_KEY ),
120113 part_metadata = stored_metadata .get (_PART_METADATA_KEY ),
121- part_types = stored_metadata .get (_PART_TYPES_KEY ),
122114 )
123115
124116
@@ -130,7 +122,7 @@ def to_stored_part(part: Part) -> genai_types.Part:
130122 data_bytes = json .dumps (part .root .data ).encode ('utf-8' )
131123 return genai_types .Part (
132124 inline_data = genai_types .Blob (
133- mime_type = 'application/json' , data = data_bytes
125+ mime_type = _DATA_PART_MIME_TYPE , data = data_bytes
134126 )
135127 )
136128 if isinstance (part .root , FilePart ):
@@ -155,7 +147,6 @@ def to_stored_part(part: Part) -> genai_types.Part:
155147def to_sdk_part (
156148 stored_part : genai_types .Part ,
157149 part_metadata : dict [str , Any ] | None = None ,
158- part_type : str = '' ,
159150) -> Part :
160151 """Converts a proto Part to a SDK Part."""
161152 if stored_part .text :
@@ -164,7 +155,7 @@ def to_sdk_part(
164155 )
165156 if stored_part .inline_data :
166157 mime_type = stored_part .inline_data .mime_type
167- if part_type == 'data' and mime_type == 'application/json' :
158+ if mime_type == _DATA_PART_MIME_TYPE :
168159 data_dict = json .loads (stored_part .inline_data .data or b'{}' )
169160 return Part (root = DataPart (data = data_dict , metadata = part_metadata ))
170161
@@ -214,17 +205,13 @@ def to_sdk_artifact(stored_artifact: vertexai_types.TaskArtifact) -> Artifact:
214205 """Converts a proto TaskArtifact to a SDK Artifact."""
215206 unpacked_meta = to_sdk_metadata (stored_artifact .metadata )
216207 part_metadata_list = unpacked_meta .part_metadata or []
217- part_types = unpacked_meta .part_types or []
218208
219209 parts = []
220210 for i , part in enumerate (stored_artifact .parts or []):
221211 meta : dict [str , Any ] | None = None
222212 if i < len (part_metadata_list ):
223213 meta = part_metadata_list [i ]
224- ptype = ''
225- if i < len (part_types ):
226- ptype = part_types [i ]
227- parts .append (to_sdk_part (part , part_metadata = meta , part_type = ptype ))
214+ parts .append (to_sdk_part (part , part_metadata = meta ))
228215
229216 return Artifact (
230217 artifact_id = stored_artifact .artifact_id ,
@@ -264,19 +251,13 @@ def to_sdk_message(
264251 return None
265252 unpacked_meta = to_sdk_metadata (stored_msg .metadata )
266253 part_metadata_list = unpacked_meta .part_metadata or []
267- part_types = unpacked_meta .part_types or []
268254
269255 parts = []
270256 for i , part in enumerate (stored_msg .parts or []):
271257 part_metadata : dict [str , Any ] | None = None
272258 if i < len (part_metadata_list ):
273259 part_metadata = part_metadata_list [i ]
274- part_type = ''
275- if i < len (part_types ):
276- part_type = part_types [i ]
277- parts .append (
278- to_sdk_part (part , part_metadata = part_metadata , part_type = part_type )
279- )
260+ parts .append (to_sdk_part (part , part_metadata = part_metadata ))
280261
281262 return Message (
282263 message_id = stored_msg .message_id ,
0 commit comments