docstr: Add the agent to pool.
  
  :param agent:
      AgentState object
  :param world_type:
      Name of world whose pool should now contain agent
code: def add_agent_to_pool(
      self, agent: AgentState, world_type: str = "default"
  ):
      """
      Add the agent to pool.
  
      :param agent:
          AgentState object
      :param world_type:
          Name of world whose pool should now contain agent
      """
      with self.agent_pool_change_condition:
          self._log_debug(
              "Adding agent {} to pool...".format(agent.service_id)
          )
          # time agent entered agent_pool
          agent.time_in_pool.setdefault(world_type, time.time())
          # add agent to pool
          self.agent_pool.setdefault(world_type, []).append(agent)
  
imports: from abc import ABC, abstractmethod
  from asyncio import Future
  import copy
  import sys
  import logging
  import datetime
  import threading
  import time
  import traceback
  from typing import Dict, Any, Optional, List, Callable
  from parlai.chat_service.core.agents import ChatServiceAgent
  import parlai.chat_service.utils.logging
  import parlai.chat_service.utils.misc
  import parlai.chat_service.utils.server
  from parlai.chat_service.core.world_runner import ChatServiceWorldRunner
  from parlai.core.opt import Opt
label_desc: Use image node_id 19 for calling the ChatServiceManager obj's underlying member method code with example usage: obj.add_agent_to_pool(agent, world_type) without return types