Spaces:
Build error
Build error
| from __future__ import annotations | |
| from openhands.core.config.condenser_config import RecentEventsCondenserConfig | |
| from openhands.memory.condenser.condenser import Condensation, Condenser, View | |
| class RecentEventsCondenser(Condenser): | |
| """A condenser that only keeps a certain number of the most recent events.""" | |
| def __init__(self, keep_first: int = 1, max_events: int = 10): | |
| self.keep_first = keep_first | |
| self.max_events = max_events | |
| super().__init__() | |
| def condense(self, view: View) -> View | Condensation: | |
| """Keep only the most recent events (up to `max_events`).""" | |
| head = view[: self.keep_first] | |
| tail_length = max(0, self.max_events - len(head)) | |
| tail = view[-tail_length:] | |
| return View(events=head + tail) | |
| def from_config(cls, config: RecentEventsCondenserConfig) -> RecentEventsCondenser: | |
| return RecentEventsCondenser(**config.model_dump(exclude=['type'])) | |
| RecentEventsCondenser.register_config(RecentEventsCondenserConfig) | |