Modify the state of the tracker according to an ``Event``.
(self, event: Event, domain: Optional[Domain] = None)
| 673 | return Dialogue(self.sender_id, list(self.events)) |
| 674 | |
| 675 | def update(self, event: Event, domain: Optional[Domain] = None) -> None: |
| 676 | """Modify the state of the tracker according to an ``Event``.""" |
| 677 | if not isinstance(event, Event): # pragma: no cover |
| 678 | raise ValueError("event to log must be an instance of a subclass of Event.") |
| 679 | |
| 680 | if self.model_id and METADATA_MODEL_ID not in event.metadata: |
| 681 | event.metadata = {**event.metadata, METADATA_MODEL_ID: self.model_id} |
| 682 | |
| 683 | if self.assistant_id and ASSISTANT_ID_KEY not in event.metadata: |
| 684 | event.metadata = {**event.metadata, ASSISTANT_ID_KEY: self.assistant_id} |
| 685 | |
| 686 | self.events.append(event) |
| 687 | event.apply_to(self) |
| 688 | |
| 689 | def update_with_events( |
| 690 | self, |