harness/agents/mod.rs
1pub mod claude;
2pub mod codex;
3pub mod cursor;
4pub mod opencode;
5
6use crate::config::AgentKind;
7use crate::runner::AgentRunner;
8
9/// Create the appropriate runner for the given agent kind.
10pub fn create_runner(kind: AgentKind) -> Box<dyn AgentRunner> {
11 match kind {
12 AgentKind::Claude => Box::new(claude::ClaudeRunner),
13 AgentKind::OpenCode => Box::new(opencode::OpenCodeRunner),
14 AgentKind::Codex => Box::new(codex::CodexRunner),
15 AgentKind::Cursor => Box::new(cursor::CursorRunner),
16 }
17}