code: def resolve_parameters_with_schema(
      node_parameters: pipeline_pb2.NodeParameters,
  ) -> Dict[str, pipeline_pb2.Value]:
      """Resolves parameter schemas given parameter spec.
  
      Args:
        node_parameters: The spec to get parameters.
  
      Returns:
        A Dict of parameters with schema.
  
      Raises:
        RuntimeError: When there is no field_value available.
      """
      result = {}
      for key, value in node_parameters.parameters.items():
          if value.HasField("placeholder"):
              continue
          if not value.HasField("field_value"):
              raise RuntimeError(
                  "Parameter value not ready for %s" % key
              )
          result[key] = value
  
      return result
  
imports: from typing import Dict, Sequence, Union
  from absl import logging
  from tfx import types
  from tfx.dsl.compiler import placeholder_utils
  from tfx.orchestration import mlmd_connection_manager
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.orchestration.portable.input_resolution import node_inputs_resolver
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.utils import typing_utils
label_desc: Use image node_id 3 for calling a global function with example usage: resolve_parameters_with_schema(node_parameters) and returns: result