class_docstr: Behavior descriptor extractor.
docstr: Update behavior descriptor calculation states.
  
  Args:
      extended_task_state - An instance of extended task state.
      action - The action taken at this step.
      reward - The reward acquired at this step.
      done - The termination flag from this step.
  Returns:
      The same instance of the extended task state, but with behavior
      descriptor related states updated.
docstr_tok: ["Update","behavior","descriptor","calculation","states",".","Args",":","extended_task_state","-","An","instance","of","extended","task","state",".","action","-","The","action","taken","at","this","step",".","reward","-","The","reward","acquired","at","this","step",".","done","-","The","termination","flag","from","this","step",".","Returns",":","The","same","instance","of","the","extended","task","state",",","but","with","behavior","descriptor","related","states","updated","."]
code: def update(
      self,
      extended_task_state: T,
      action: jnp.ndarray,
      reward: jnp.float32,
      done: jnp.int32,
  ) -> T:
      """Update behavior descriptor calculation states.
  
      Args:
          extended_task_state - An instance of extended task state.
          action - The action taken at this step.
          reward - The reward acquired at this step.
          done - The termination flag from this step.
      Returns:
          The same instance of the extended task state, but with behavior
          descriptor related states updated.
      """
      raise NotImplementedError()
  
imports: from abc import ABC
  from abc import abstractmethod
  from typing import Dict
  from typing import List
  from typing import Tuple
  from typing import TypeVar
  import dataclasses
  import jax.numpy
  from flax.struct import dataclass
label_desc: Use image node_id 5 for calling the BDExtractor obj's underlying member method code with example usage: obj.update(extended_task_state, action, reward, done) without return types