| 1234567891011121314151617181920212223 |
- from __future__ import annotations
- from dataclasses import dataclass, field
- @dataclass
- class TranscriptStore:
- entries: list[str] = field(default_factory=list)
- flushed: bool = False
- def append(self, entry: str) -> None:
- self.entries.append(entry)
- self.flushed = False
- def compact(self, keep_last: int = 10) -> None:
- if len(self.entries) > keep_last:
- self.entries[:] = self.entries[-keep_last:]
- def replay(self) -> tuple[str, ...]:
- return tuple(self.entries)
- def flush(self) -> None:
- self.flushed = True
|