Skip to main content

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}