code: def compile_inputs(
      inputs: Dict[str, channel_types.BaseChannel]
  ) -> pipeline_pb2.PipelineNode:
      """Returns a compiled PipelineNode from the FakeComponent inputs dict."""
      node = FakeComponent("FakeComponent", inputs=inputs)
      p = pipeline.Pipeline(pipeline_name="pipeline", components=[node])
      ctx = compiler_context.PipelineContext(p)
      node_inputs = pipeline_pb2.NodeInputs()
  
      # Compile the NodeInputs and wrap in a PipelineNode.
      node_inputs_compiler.compile_node_inputs(ctx, node, node_inputs)
      return pipeline_pb2.PipelineNode(inputs=node_inputs)
  
imports: from typing import Type, Any, Dict, List, Optional, Sequence, Tuple, Union, Mapping
  from unittest import mock
  from absl.testing import parameterized
  from tfx import types
  from tfx.dsl.compiler import compiler_context
  from tfx.dsl.compiler import node_inputs_compiler
  from tfx.dsl.components.base import base_component
  from tfx.dsl.components.base import base_driver
  from tfx.dsl.components.base import base_executor
  from tfx.dsl.components.base import executor_spec
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.input_resolution.ops import ops_utils
  from tfx.orchestration import pipeline
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import artifact
  from tfx.types import artifact_utils
  from tfx.types import channel
  from tfx.types import component_spec
  from tfx.utils import test_case_utils
  from tfx.utils import typing_utils
  import ml_metadata
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling a global function with example usage: compile_inputs(inputs) and returns: pipeline_pb2