Flush buffered messages to disk.
(self)
| 162 | self.flush() |
| 163 | |
| 164 | def flush(self) -> None: |
| 165 | """Flush buffered messages to disk.""" |
| 166 | if not self._write_buffer: |
| 167 | return |
| 168 | self._session_dir.mkdir(parents=True, exist_ok=True) |
| 169 | with open(self._transcript_path, "a", encoding="utf-8") as f: |
| 170 | for entry in self._write_buffer: |
| 171 | f.write(json.dumps(entry, ensure_ascii=False) + "\n") |
| 172 | count = len(self._write_buffer) |
| 173 | self._write_buffer.clear() |
| 174 | |
| 175 | # Update metadata message count |
| 176 | if self._metadata: |
| 177 | self._metadata.message_count += count |
| 178 | self._metadata.last_updated = time.time() |
| 179 | self._save_metadata() |
| 180 | |
| 181 | # --- Content replacement --- |
| 182 |