code: def get_agent_connectors_from_config(
      ctx: ConnectorContext,
      config: "AlgorithmConfig",
  ) -> AgentConnectorPipeline:
      connectors = []
  
      clip_rewards = __clip_rewards(config)
      if clip_rewards is True:
          connectors.append(ClipRewardAgentConnector(ctx, sign=True))
      elif type(clip_rewards) == float:
          connectors.append(
              ClipRewardAgentConnector(ctx, limit=abs(clip_rewards))
          )
  
      if __preprocessing_enabled(config):
          connectors.append(ObsPreprocessorConnector(ctx))
  
      # Filters should be after observation preprocessing
      filter_connector = get_synced_filter_connector(
          ctx,
      )
      # Configuration option "NoFilter" results in `filter_connector==None`.
      if filter_connector:
          connectors.append(filter_connector)
  
      connectors.extend(
          [
              StateBufferConnector(ctx),
              ViewRequirementAgentConnector(ctx),
          ]
      )
  
      return AgentConnectorPipeline(ctx, connectors)
  
imports: import logging
  from typing import Any, Tuple, TYPE_CHECKING
  from ray.rllib.connectors.action.clip import ClipActionsConnector
  from ray.rllib.connectors.action.immutable import ImmutableActionsConnector
  from ray.rllib.connectors.action.lambdas import ConvertToNumpyConnector
  from ray.rllib.connectors.action.normalize import NormalizeActionsConnector
  from ray.rllib.connectors.action.pipeline import ActionConnectorPipeline
  from ray.rllib.connectors.agent.clip_reward import ClipRewardAgentConnector
  from ray.rllib.connectors.agent.obs_preproc import ObsPreprocessorConnector
  from ray.rllib.connectors.agent.pipeline import AgentConnectorPipeline
  from ray.rllib.connectors.agent.state_buffer import StateBufferConnector
  from ray.rllib.connectors.agent.view_requirement import ViewRequirementAgentConnector
  from ray.rllib.connectors.connector import Connector, ConnectorContext
  from ray.rllib.connectors.registry import get_connector
  from ray.rllib.connectors.agent.mean_std_filter import MeanStdObservationFilterAgentConnector, ConcurrentMeanStdObservationFilterAgentConnector
  from ray.util.annotations import PublicAPI, DeveloperAPI
  from ray.rllib.connectors.agent.synced_filter import SyncedFilterAgentConnector
label_desc: Use image node_id 3 for calling a global function with example usage: get_agent_connectors_from_config(ctx, config) and returns: AgentConnectorPipeline