Append events to chat history. Processing runs in background via OptimizerMemorySystem.
(self, event: Union[ChatEvent, List[ChatEvent]])
| 46 | self.insights: List[Insight] = [] |
| 47 | |
| 48 | async def add_event(self, event: Union[ChatEvent, List[ChatEvent]]): |
| 49 | """Append events to chat history. Processing runs in background via OptimizerMemorySystem.""" |
| 50 | if isinstance(event, ChatEvent): |
| 51 | events = [event] |
| 52 | else: |
| 53 | events = event |
| 54 | |
| 55 | for event in events: |
| 56 | self.events.append(event) |
| 57 | if event.event_type == EventType.OPTIMIZATION_STEP or event.event_type == EventType.TOOL_STEP or event.event_type == EventType.TASK_END: |
| 58 | content = str(event) |
| 59 | if event.agent_name: |
| 60 | self.candidate_chat_history.append(AssistantMessage(content=content)) |
| 61 | else: |
| 62 | self.candidate_chat_history.append(HumanMessage(content=content)) |
| 63 | |
| 64 | async def check_and_process_memory(self) -> None: |
| 65 | """Check if we should process memory and generate summaries/insights. Called from background task with lock held.""" |
no test coverage detected