(self, *extra_dicts)
| 436 | return self.add_messages(*observation_messages) |
| 437 | |
| 438 | def serialize(self, *extra_dicts) -> dict[str, Any]: |
| 439 | last_message = self.messages[-1] if self.messages else {} |
| 440 | last_extra = last_message.get("extra", {}) |
| 441 | return recursive_merge( |
| 442 | { |
| 443 | "info": { |
| 444 | "config": { |
| 445 | "agent": self.config.model_dump(mode="json"), |
| 446 | "agent_type": f"{self.__class__.__module__}.{self.__class__.__name__}", |
| 447 | }, |
| 448 | "mini_version": __version__, |
| 449 | "exit_status": last_extra.get("exit_status", ""), |
| 450 | "submission": last_extra.get("submission", ""), |
| 451 | "api_calls": self.n_calls, |
| 452 | "format_errors": self.n_format_errors, |
| 453 | }, |
| 454 | "messages": [_sanitize_message_for_disk(message) for message in self.messages], |
| 455 | "trajectory_format": "webwright-0.1", |
| 456 | }, |
| 457 | self.model.serialize(), |
| 458 | self.env.serialize(), |
| 459 | *extra_dicts, |
| 460 | ) |
| 461 | |
| 462 | def save(self, path: Path | None, *extra_dicts) -> dict[str, Any]: |
| 463 | data = self.serialize(*extra_dicts) |
no test coverage detected