Module: Ralph::Agents

Defined in:
lib/ralph/agents.rb,
lib/ralph/agents/base.rb,
lib/ralph/agents/codex.rb,
lib/ralph/agents/open_code.rb,
lib/ralph/agents/claude_code.rb

Defined Under Namespace

Classes: Base, ClaudeCode, Codex, OpenCode

Constant Summary collapse

AGENT_NAME_MAP =
{
  "opencode" => :opencode,
  "claude-code" => :claude_code,
  "codex" => :codex
}.freeze

Class Method Summary collapse

Class Method Details

.resolve(name_str) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/ralph/agents.rb', line 14

def resolve(name_str)
  AGENT_NAME_MAP[name_str].then do |sym|
    case sym
    when :opencode    then OpenCode.new
    when :claude_code then ClaudeCode.new
    when :codex       then Codex.new
    else nil          end
  end
end

.valid_agent_namesObject



12
# File 'lib/ralph/agents.rb', line 12

def valid_agent_names = AGENT_NAME_MAP.keys