(self)
| 72 | return n |
| 73 | |
| 74 | def stats(self) -> dict[str, int]: |
| 75 | by_type: dict[str, int] = {} |
| 76 | for ent in self.entities.values(): |
| 77 | by_type[ent.type] = by_type.get(ent.type, 0) + 1 |
| 78 | return {"total": len(self.entities), **by_type} |
| 79 | |
| 80 | def top(self, limit: int = 20) -> list[Entity]: |
| 81 | return sorted(self.entities.values(), key=lambda e: (-e.count, -e.last_seen, e.name))[:limit] |