@@ -52,11 +52,7 @@ public final class PartConverter {
5252
5353 private static final Logger logger = LoggerFactory .getLogger (PartConverter .class );
5454 private static final ObjectMapper objectMapper = new ObjectMapper ();
55- // Constants for metadata types. By convention metadata keys are prefixed with "adk_" to align
56- // with the Python and Golang libraries.
57- public static final String A2A_DATA_PART_METADATA_TYPE_KEY = "adk_type" ;
58- public static final String A2A_DATA_PART_METADATA_IS_LONG_RUNNING_KEY = "adk_is_long_running" ;
59- public static final String A2A_DATA_PART_METADATA_IS_PARTIAL_KEY = "adk_partial" ;
55+ // Constants for metadata types.
6056 public static final String LANGUAGE_KEY = "language" ;
6157 public static final String OUTCOME_KEY = "outcome" ;
6258 public static final String CODE_KEY = "code" ;
@@ -135,7 +131,7 @@ private static com.google.genai.types.Part convertDataPartToGenAiPart(DataPart d
135131 Map <String , Object > metadata =
136132 Optional .ofNullable (dataPart .getMetadata ()).map (HashMap ::new ).orElseGet (HashMap ::new );
137133
138- String metadataType = metadata .getOrDefault (A2A_DATA_PART_METADATA_TYPE_KEY , "" ).toString ();
134+ String metadataType = metadata .getOrDefault (A2AMetadataKey . TYPE . getType () , "" ).toString ();
139135
140136 if ((data .containsKey (NAME_KEY ) && data .containsKey (ARGS_KEY ))
141137 || metadataType .equals (A2ADataPartMetadataType .FUNCTION_CALL .getType ())) {
@@ -218,7 +214,7 @@ private static DataPart createDataPartFromFunctionCall(
218214 addValueIfPresent (data , WILL_CONTINUE_KEY , functionCall .willContinue ());
219215 addValueIfPresent (data , PARTIAL_ARGS_KEY , functionCall .partialArgs ());
220216
221- metadata .put (A2A_DATA_PART_METADATA_TYPE_KEY , A2ADataPartMetadataType .FUNCTION_CALL .getType ());
217+ metadata .put (A2AMetadataKey . TYPE . getType () , A2ADataPartMetadataType .FUNCTION_CALL .getType ());
222218
223219 return new DataPart (data .buildOrThrow (), metadata .buildOrThrow ());
224220 }
@@ -245,7 +241,7 @@ private static DataPart createDataPartFromFunctionResponse(
245241 addValueIfPresent (data , PARTS_KEY , functionResponse .parts ());
246242
247243 metadata .put (
248- A2A_DATA_PART_METADATA_TYPE_KEY , A2ADataPartMetadataType .FUNCTION_RESPONSE .getType ());
244+ A2AMetadataKey . TYPE . getType () , A2ADataPartMetadataType .FUNCTION_RESPONSE .getType ());
249245
250246 return new DataPart (data .buildOrThrow (), metadata .buildOrThrow ());
251247 }
@@ -268,7 +264,7 @@ private static DataPart createDataPartFromCodeExecutionResult(
268264 addValueIfPresent (data , OUTPUT_KEY , codeExecutionResult .output ());
269265
270266 metadata .put (
271- A2A_DATA_PART_METADATA_TYPE_KEY , A2ADataPartMetadataType .CODE_EXECUTION_RESULT .getType ());
267+ A2AMetadataKey . TYPE . getType () , A2ADataPartMetadataType .CODE_EXECUTION_RESULT .getType ());
272268
273269 return new DataPart (data .buildOrThrow (), metadata .buildOrThrow ());
274270 }
@@ -290,8 +286,7 @@ private static DataPart createDataPartFromExecutableCode(
290286 .orElse (Language .Known .LANGUAGE_UNSPECIFIED .toString ()));
291287 addValueIfPresent (data , CODE_KEY , executableCode .code ());
292288
293- metadata .put (
294- A2A_DATA_PART_METADATA_TYPE_KEY , A2ADataPartMetadataType .EXECUTABLE_CODE .getType ());
289+ metadata .put (A2AMetadataKey .TYPE .getType (), A2ADataPartMetadataType .EXECUTABLE_CODE .getType ());
295290
296291 return new DataPart (data .buildOrThrow (), metadata .buildOrThrow ());
297292 }
@@ -305,7 +300,7 @@ public static io.a2a.spec.Part<?> fromGenaiPart(Part part, boolean isPartial) {
305300 }
306301 ImmutableMap .Builder <String , Object > metadata = ImmutableMap .builder ();
307302 if (isPartial ) {
308- metadata .put (A2A_DATA_PART_METADATA_IS_PARTIAL_KEY , true );
303+ metadata .put (A2AMetadataKey . PARTIAL . getType () , true );
309304 }
310305
311306 if (part .text ().isPresent ()) {
0 commit comments