class_docstr: Container for data that can be used to describe a conversation turn.
  
  The turn is described by a set of attributes such as e.g. `TEXT`  and  `INTENT`
  when describing a user utterance or e.g. `ACTION_NAME` for describing a bot action.
  The container includes raw information (`self.data`) as well as features
  (`self.features`) for each such attribute.
  Moreover, the message has a timestamp and can keep track about information
  on a specific subset of attributes (`self.output_properties`).
docstr: Adds diagnostic data from the `origin` component.
  
  Args:
      origin: Name of the component that created the data.
      data: The diagnostic data.
docstr_tok: ["Adds","diagnostic","data","from","the","`","origin","`","component",".","Args",":","origin",":","Name","of","the","component","that","created","the","data",".","data",":","The","diagnostic","data","."]
code: def add_diagnostic_data(
      self, origin: Text, data: Dict[Text, Any]
  ) -> None:
      """Adds diagnostic data from the `origin` component.
  
      Args:
          origin: Name of the component that created the data.
          data: The diagnostic data.
      """
      if origin in self.get(DIAGNOSTIC_DATA, {}):
          rasa.shared.utils.io.raise_warning(
              f"Please make sure every pipeline component has a distinct name. "
              f"The name '{origin}' appears at least twice and diagnostic "
              f"data will be overwritten."
          )
      self.data.setdefault(DIAGNOSTIC_DATA, {})
      self.data[DIAGNOSTIC_DATA][origin] = data
      self._cached_fingerprint = None
  
imports: from typing import Any, Optional, Tuple, Text, Dict, Set, List
  import typing
  import copy
  import rasa.shared.utils.io
  from rasa.shared.exceptions import RasaException
  from rasa.shared.nlu.constants import TEXT, INTENT, RESPONSE, INTENT_RESPONSE_KEY, METADATA, METADATA_INTENT, METADATA_EXAMPLE, ENTITIES, ENTITY_ATTRIBUTE_START, ENTITY_ATTRIBUTE_END, RESPONSE_IDENTIFIER_DELIMITER, FEATURE_TYPE_SENTENCE, FEATURE_TYPE_SEQUENCE, ACTION_TEXT, ACTION_NAME, TEXT_TOKENS
  from rasa.shared.constants import DIAGNOSTIC_DATA
label_desc: Use image node_id 3 for calling the Message obj's underlying member method code with example usage: obj.add_diagnostic_data(origin, data) without return types