Class: SkillBench::Cli::Eval::GenerateEvalCommand

Inherits:
BaseEvalCommand show all
Defined in:
lib/skill_bench/cli/eval/eval_commands.rb

Overview

Handles ‘eval generate’ command

Instance Method Summary collapse

Instance Method Details

#call(argv) ⇒ Integer

Generates an evaluation from a skill

Parameters:

  • argv (Array<String>)

    Command line arguments

Returns:

  • (Integer)

    Exit code



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/skill_bench/cli/eval/eval_commands.rb', line 75

def call(argv)
  run_with_rescue do
    options_parser = GenerateEvalOptions.new
    options_parser.parse!(argv)

    skill_name = argv.shift
    return error_missing('skill name is required') unless skill_name

    eval_name = options_parser.options[:eval_name] || "#{skill_name}-eval"
    result = Evaluation::Generator.new(skill_name: skill_name, eval_name: eval_name).call

    if result[:success]
      puts "Generated eval: #{eval_name} from skill: #{skill_name}"
      0
    else
      warn "Error: #{result[:response][:error][:message]}"
      1
    end
  end
end