code: def consistent_id_object_repository(
      simple_semantic_manifest_lookup: SemanticManifestLookup,
      multi_hop_join_semantic_manifest_lookup: SemanticManifestLookup,
      scd_semantic_manifest_lookup: SemanticManifestLookup,
      cyclic_join_semantic_manifest_lookup: SemanticManifestLookup,
      extended_date_semantic_manifest_lookup: SemanticManifestLookup,
      ambiguous_resolution_manifest_lookup: SemanticManifestLookup,
  ) -> ConsistentIdObjectRepository:  # noqa: D
      """Create objects that have incremental numeric IDs with a consistent value.
  
      This should use IDs with a high enough value so that when other tests run with ID generators set to 0 at the start
      of the test and create objects, there is no overlap in the IDs.
      """
      with patch_id_generators_helper(
          start_value=IdNumberSpace.CONSISTENT_ID_REPOSITORY
      ):
          sm_data_sets = create_data_sets(
              simple_semantic_manifest_lookup
          )
          multihop_data_sets = create_data_sets(
              multi_hop_join_semantic_manifest_lookup
          )
          scd_data_sets = create_data_sets(scd_semantic_manifest_lookup)
          cyclic_join_data_sets = create_data_sets(
              cyclic_join_semantic_manifest_lookup
          )
          extended_date_data_sets = create_data_sets(
              extended_date_semantic_manifest_lookup
          )
          ambiguous_resolution_data_sets = create_data_sets(
              ambiguous_resolution_manifest_lookup
          )
  
          return ConsistentIdObjectRepository(
              simple_model_data_sets=sm_data_sets,
              simple_model_read_nodes=_data_set_to_read_nodes(
                  sm_data_sets
              ),
              simple_model_source_nodes=_data_set_to_source_nodes(
                  simple_semantic_manifest_lookup, sm_data_sets
              ),
              multihop_model_read_nodes=_data_set_to_read_nodes(
                  multihop_data_sets
              ),
              multihop_model_source_nodes=_data_set_to_source_nodes(
                  multi_hop_join_semantic_manifest_lookup,
                  multihop_data_sets,
              ),
              scd_model_data_sets=scd_data_sets,
              scd_model_read_nodes=_data_set_to_read_nodes(
                  scd_data_sets
              ),
              scd_model_source_nodes=_data_set_to_source_nodes(
                  semantic_manifest_lookup=scd_semantic_manifest_lookup,
                  data_sets=scd_data_sets,
              ),
              cyclic_join_read_nodes=_data_set_to_read_nodes(
                  cyclic_join_data_sets
              ),
              cyclic_join_source_nodes=_data_set_to_source_nodes(
                  semantic_manifest_lookup=cyclic_join_semantic_manifest_lookup,
                  data_sets=cyclic_join_data_sets,
              ),
              extended_date_model_read_nodes=_data_set_to_read_nodes(
                  extended_date_data_sets
              ),
              extended_date_model_source_nodes=_data_set_to_source_nodes(
                  semantic_manifest_lookup=extended_date_semantic_manifest_lookup,
                  data_sets=extended_date_data_sets,
              ),
              ambiguous_resolution_read_nodes=_data_set_to_read_nodes(
                  ambiguous_resolution_data_sets
              ),
              ambiguous_resolution_source_nodes=_data_set_to_source_nodes(
                  semantic_manifest_lookup=ambiguous_resolution_manifest_lookup,
                  data_sets=ambiguous_resolution_data_sets,
              ),
          )
  
imports: from __future__ import annotations
  import logging
  import os
  from collections import OrderedDict
  from dataclasses import dataclass
  from typing import Dict, List, Optional, Sequence
  import pytest
  from dbt_semantic_interfaces.implementations.semantic_manifest import PydanticSemanticManifest
  from dbt_semantic_interfaces.parsing.dir_to_model import SemanticManifestBuildResult, parse_directory_of_yaml_files_to_semantic_manifest, parse_yaml_files_to_validation_ready_semantic_manifest
  from dbt_semantic_interfaces.parsing.objects import YamlConfigFile
  from dbt_semantic_interfaces.protocols.semantic_manifest import SemanticManifest
  from dbt_semantic_interfaces.protocols.semantic_model import SemanticModel
  from dbt_semantic_interfaces.transformations.pydantic_rule_set import PydanticSemanticManifestTransformRuleSet
  from dbt_semantic_interfaces.transformations.semantic_manifest_transformer import PydanticSemanticManifestTransformer
  from dbt_semantic_interfaces.validations.semantic_manifest_validator import SemanticManifestValidator
  from metricflow.dataflow.builder.node_data_set import DataflowPlanNodeOutputDataSetResolver
  from metricflow.dataflow.builder.source_node import SourceNodeBuilder
  from metricflow.dataflow.dataflow_plan import BaseOutput, ReadSqlSourceNode
  from metricflow.dataset.convert_semantic_model import SemanticModelToDataSetConverter
  from metricflow.dataset.semantic_model_adapter import SemanticModelDataSet
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.plan_conversion.column_resolver import DunderColumnAssociationResolver
  from metricflow.query.query_parser import MetricFlowQueryParser
  from metricflow.test.fixtures.id_fixtures import IdNumberSpace, patch_id_generators_helper
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
label_desc: Use image node_id 4 for calling a global function with example usage: consistent_id_object_repository(simple_semantic_manifest_lookup, multi_hop_join_semantic_manifest_lookup, scd_semantic_manifest_lookup, cyclic_join_semantic_manifest_lookup, extended_date_semantic_manifest_lookup, ambiguous_resolution_manifest_lookup) and returns: ConsistentIdObjectRepository