Spaces:
Runtime error
Runtime error
| """Helpers for rendering observations for text-oriented agents.""" | |
| from __future__ import annotations | |
| from typing import Any | |
| def format_observation(observation: Any) -> str: | |
| """Convert structured observations into compact text.""" | |
| if isinstance(observation, str): | |
| return observation | |
| parts: list[str] = [] | |
| stdout = getattr(observation, "stdout", "") | |
| if stdout: | |
| parts.append(str(stdout)) | |
| stderr = getattr(observation, "stderr", "") | |
| if stderr: | |
| parts.append(f"STDERR:\n{stderr}") | |
| alerts = getattr(observation, "alerts", None) | |
| if alerts: | |
| alert_lines = "\n".join(f"- {alert}" for alert in alerts) | |
| parts.append(f"ALERTS:\n{alert_lines}") | |
| flags = getattr(observation, "flags_captured", None) | |
| if flags: | |
| flag_lines = "\n".join(f"- {flag}" for flag in flags) | |
| parts.append(f"FLAGS CAPTURED:\n{flag_lines}") | |
| reward = getattr(observation, "reward", None) | |
| if reward is not None: | |
| parts.append(f"REWARD: {reward}") | |
| done = getattr(observation, "done", None) | |
| if done: | |
| parts.append("DONE: true") | |
| if parts: | |
| return "\n\n".join(parts) | |
| return str(observation) | |