Spaces:
Sleeping
Sleeping
| """Simple walkthrough that prints a full episode interaction.""" | |
| from __future__ import annotations | |
| import argparse | |
| import json | |
| from ..client import UnifiedIncidentEnv | |
| from .baseline_agent import plan_for_scenario | |
| def main() -> None: | |
| parser = argparse.ArgumentParser() | |
| parser.add_argument( | |
| "--base-url", | |
| default=UnifiedIncidentEnv.DEFAULT_BASE_URL, | |
| ) | |
| parser.add_argument( | |
| "--scenario", | |
| default="easy_sqli_db_outage", | |
| ) | |
| args = parser.parse_args() | |
| with UnifiedIncidentEnv(base_url=args.base_url).sync() as env: | |
| reset = env.reset(scenario_id=args.scenario).observation | |
| print(json.dumps({"reset": reset.model_dump()}, indent=2)) | |
| for action in plan_for_scenario(args.scenario): | |
| step = env.step(action).observation | |
| print( | |
| json.dumps( | |
| { | |
| "action": action.model_dump(exclude_none=True), | |
| "observation": step.model_dump(), | |
| }, | |
| indent=2, | |
| ) | |
| ) | |
| if __name__ == "__main__": | |
| main() | |