code: def _runtime_io_dict(self, runtime_role: Role, runtime_stage: Stage):
      from fate.components.core.spec.component import (
          ArtifactTypeSpec,
          ComponentIOArtifactsTypeSpec,
          ComponentIOArtifactTypeSpec,
          ComponentIOInputsArtifactsTypeSpec,
          ComponentIOOutputsArtifactsTypeSpec,
      )
  
      def _get_io_artifact_type_spec(v):
          return ComponentIOArtifactTypeSpec(
              name=v.name,
              is_multi=v.is_multi,
              optional=v.optional,
              types=[
                  ArtifactTypeSpec(
                      type_name=v.get_type().type_name,
                      path_type=v.get_type().path_type,
                      uri_types=v.get_type().uri_types,
                  )
                  for v in v.types
              ],
          )
  
      return ComponentIOArtifactsTypeSpec(
          inputs=ComponentIOInputsArtifactsTypeSpec(
              data=[
                  _get_io_artifact_type_spec(v)
                  for v in self.artifacts.data_inputs.values()
                  if v.is_active_for(runtime_stage, runtime_role)
              ],
              model=[
                  _get_io_artifact_type_spec(v)
                  for v in self.artifacts.model_inputs.values()
                  if v.is_active_for(runtime_stage, runtime_role)
              ],
          ),
          outputs=ComponentIOOutputsArtifactsTypeSpec(
              data=[
                  _get_io_artifact_type_spec(v)
                  for v in self.artifacts.data_outputs.values()
                  if v.is_active_for(runtime_stage, runtime_role)
              ],
              model=[
                  _get_io_artifact_type_spec(v)
                  for v in self.artifacts.model_outputs.values()
                  if v.is_active_for(runtime_stage, runtime_role)
              ],
              metric=[
                  _get_io_artifact_type_spec(v)
                  for v in self.artifacts.metric_outputs.values()
                  if v.is_active_for(runtime_stage, runtime_role)
              ],
          ),
      )
  
imports: import inspect
  import logging
  from typing import List, Optional
  from fate.components.core.essential import CROSS_VALIDATION, DEFAULT, PREDICT, TRAIN, Role, Stage
  from ._component_artifact import ArtifactDescribeAnnotation, ComponentArtifactDescribes
  from ._parameter import ComponentParameterDescribes, ParameterDescribeAnnotation
label_desc: Use image node_id 6 for calling the Component obj's underlying member method code with example usage: obj._runtime_io_dict(runtime_role, runtime_stage) and returns: ComponentIOArtifactsTypeSpec, ComponentIOArtifactTypeSpec