code: def get_dataset_config_names_job_runner(
      libraries_resource: LibrariesResource,
      cache_mongo_resource: CacheMongoResource,
      queue_mongo_resource: QueueMongoResource,
  ) -> GetDatasetConfigNamesJobRunner:
      def _get_job_runner(
          dataset: str,
          app_config: AppConfig,
      ) -> DatasetConfigNamesJobRunner:
          return DatasetConfigNamesJobRunner(
              job_info={
                  "type": DatasetConfigNamesJobRunner.get_job_type(),
                  "params": {
                      "dataset": dataset,
                      "revision": REVISION_NAME,
                      "config": None,
                      "split": None,
                  },
                  "job_id": "job_id",
                  "priority": Priority.NORMAL,
                  "difficulty": 50,
              },
              app_config=app_config,
              hf_datasets_cache=libraries_resource.hf_datasets_cache,
          )
  
      return _get_job_runner
  
imports: import io
  import os
  from collections.abc import Callable, Iterator
  from dataclasses import replace
  from fnmatch import fnmatch
  from http import HTTPStatus
  from multiprocessing import Pool
  from pathlib import Path
  from typing import Any, Optional, TypedDict
  from unittest.mock import patch
  import datasets.builder
  import datasets.config
  import datasets.info
  import pandas
  import pyarrow.parquet
  import pytest
  import requests
  from datasets import Audio, Features, Image, Value, load_dataset_builder
  from datasets.packaged_modules.generator.generator import Generator
  from datasets.utils.py_utils import asdict
  from huggingface_hub.hf_api import CommitOperationAdd, HfApi
  from libcommon.exceptions import DatasetManualDownloadError
  from libcommon.queue import Queue
  from libcommon.resources import CacheMongoResource, QueueMongoResource
  from libcommon.simple_cache import upsert_response
  from libcommon.utils import JobInfo, JobParams, Priority
  from worker.config import AppConfig
  from worker.dtos import CompleteJobResult
  from worker.job_manager import JobManager
  from worker.job_runners.config.parquet_and_info import ConfigParquetAndInfoJobRunner, ParquetFileValidator, TooBigRowGroupsError, _is_too_big_from_datasets, _is_too_big_from_external_data_files, _is_too_big_from_hub, create_commits, fill_builder_info, get_delete_operations, get_writer_batch_size_from_info, get_writer_batch_size_from_row_group_size, limit_parquet_writes, list_generated_parquet_files, parse_repo_filename, raise_if_requires_manual_download, stream_convert_to_parquet
  from worker.job_runners.dataset.config_names import DatasetConfigNamesJobRunner
  from worker.resources import LibrariesResource
  from worker.utils import resolve_trust_remote_code
  from ...constants import CI_HUB_ENDPOINT, CI_USER_TOKEN
  from ...fixtures.hub import HubDatasetTest
  from ..utils import REVISION_NAME
label_desc: Use image node_id 18 for calling a global function with example usage: get_dataset_config_names_job_runner(libraries_resource, cache_mongo_resource, queue_mongo_resource) and returns: _get_job_runner, DatasetConfigNamesJobRunner