| 464 | self.save_cache() |
| 465 | |
| 466 | def parse_messages(self, messages: List[Message]) -> List[Message]: |
| 467 | new_messages = [] |
| 468 | for msg in messages: |
| 469 | role = getattr(msg, 'role', None) |
| 470 | content = getattr(msg, 'content', None) |
| 471 | |
| 472 | if 'system' not in self.ignore_roles and role == 'system': |
| 473 | new_messages.append(msg) |
| 474 | if role == 'user': |
| 475 | new_messages.append(msg) |
| 476 | if 'assistant' not in self.ignore_roles and role == 'assistant' and content is not None: |
| 477 | new_messages.append(msg) |
| 478 | if 'tool' not in self.ignore_roles and role == 'tool': |
| 479 | new_messages.append(msg) |
| 480 | |
| 481 | return new_messages |
| 482 | |
| 483 | def delete(self, |
| 484 | user_id: Optional[str] = None, |