code: def refactor_model_blessing(
      model_blessing: artifact.Artifact, name_from_id: Mapping[int, str]
  ) -> None:
      """Changes id-typed custom properties to string-typed runtime artifact name."""
      if model_blessing.has_custom_property(
          constants.ARTIFACT_PROPERTY_BASELINE_MODEL_ID_KEY
      ):
          model_blessing.set_string_custom_property(
              constants.ARTIFACT_PROPERTY_BASELINE_MODEL_ID_KEY,
              _get_full_name(
                  artifact_id=model_blessing.get_int_custom_property(
                      constants.ARTIFACT_PROPERTY_BASELINE_MODEL_ID_KEY
                  ),
                  name_from_id=name_from_id,
              ),
          )
      if model_blessing.has_custom_property(
          constants.ARTIFACT_PROPERTY_CURRENT_MODEL_ID_KEY
      ):
          model_blessing.set_string_custom_property(
              constants.ARTIFACT_PROPERTY_CURRENT_MODEL_ID_KEY,
              _get_full_name(
                  artifact_id=model_blessing.get_int_custom_property(
                      constants.ARTIFACT_PROPERTY_CURRENT_MODEL_ID_KEY
                  ),
                  name_from_id=name_from_id,
              ),
          )
  
imports: import hashlib
  from typing import Any, Dict, List, Mapping, MutableMapping, Optional
  from absl import logging
  from kfp.pipeline_spec import pipeline_spec_pb2
  from tfx.components.evaluator import constants
  from tfx.orchestration.kubeflow.v2 import compiler_utils
  from tfx.types import artifact
  from tfx.types import artifact_utils
  from tfx.types import standard_component_specs
  from tfx.utils import import_utils
  import yaml
  from google.protobuf import struct_pb2
  from google.protobuf import json_format
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 4 for calling a global function with example usage: refactor_model_blessing(model_blessing, name_from_id) without return types