open-range / src /open_range /agents /__init__.py
Aaron Brown
Add episode CLI, synthetic data pipeline, NPC generalization, service manifest
f016eb7
"""Red & Blue agent layer for OpenRange.
Exports:
- RangeAgent: Protocol for any compatible agent
- EpisodeResult, EpisodeMetrics: Trajectory/metrics dataclasses
- LLMRangeAgent: LiteLLM-powered agent (any model)
- ScriptedAgent, ScriptedRedAgent, ScriptedBlueAgent: Fixed-sequence replay agents
- HumanAgent: Interactive stdin/stdout agent
- run_episode: Orchestration loop
- evaluate: Multi-episode evaluation harness
- extract_command: LLM output -> shell command parser
"""
from open_range.agents.protocol import EpisodeMetrics, EpisodeResult, RangeAgent
from open_range.agents.parsing import extract_command
from open_range.agents.replay_agent import (
ScriptedAgent,
ScriptedBlueAgent,
ScriptedRedAgent,
)
from open_range.agents.human_agent import HumanAgent
from open_range.agents.llm_agent import LLMRangeAgent
from open_range.agents.episode import run_episode
from open_range.agents.eval import evaluate
from open_range.agents.prompts import BLUE_SYSTEM_PROMPT, RED_SYSTEM_PROMPT
__all__ = [
"RangeAgent",
"EpisodeResult",
"EpisodeMetrics",
"LLMRangeAgent",
"ScriptedAgent",
"ScriptedRedAgent",
"ScriptedBlueAgent",
"HumanAgent",
"run_episode",
"evaluate",
"extract_command",
"RED_SYSTEM_PROMPT",
"BLUE_SYSTEM_PROMPT",
]