class_docstr: Tracked state for each active episode.
class_docstr_tok: ["Tracked","state","for","each","active","episode","."]
code: def done(self, observation):
      if self.multiagent:
          self.new_observation_dict = observation
          self.cur_terminated_dict = {"__all__": True}
          # TODO(sven): External env API does not currently support truncated,
          #  but we should deprecate external Env anyways in favor of a client-only
          #  approach.
          self.cur_truncated_dict = {"__all__": False}
      else:
          self.new_observation = observation
          self.cur_terminated = True
          self.cur_truncated = False
      self._send()
  
imports: import gymnasium
  import queue
  import threading
  import uuid
  from typing import Callable, Tuple, Optional, TYPE_CHECKING
  from ray.rllib.env.base_env import BaseEnv
  from ray.rllib.utils.annotations import override, PublicAPI
  from ray.rllib.utils.typing import EnvActionType, EnvInfoDict, EnvObsType, EnvType, MultiEnvDict
  from ray.rllib.utils.deprecation import deprecation_warning
label_desc: Use image node_id 5 for calling the _ExternalEnvEpisode obj's underlying member method code with example usage: obj.done(observation) without return types