Module: SkillBench::Interactive

Defined in:
lib/skill_bench/interactive.rb

Overview

Interactive CLI module for skill-bench

Class Method Summary collapse

Class Method Details

.gum_chooseString?

Display main menu using gum

Returns:

  • (String, nil)

    User’s choice or nil

Raises:

  • (NotImplementedError)

    Raised when gum integration is not enabled



36
37
38
# File 'lib/skill_bench/interactive.rb', line 36

def self.gum_choose
  raise NotImplementedError, 'Interactive selection not implemented; enable gum integration'
end

.runHash?

Run the interactive CLI mode

Returns:

  • (Hash, nil)

    Result from Run.run, or nil if user exits



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/skill_bench/interactive.rb', line 11

def self.run
  choice = gum_choose
  return nil unless choice

  case choice
  when 'Run Eval'
    eval_name = select_eval
    skill_name = select_skill
    provider_name = select_provider

    return nil unless eval_name && skill_name && provider_name

    SkillBench::Commands::Run.run(
      eval_name: eval_name,
      skill_name: skill_name,
      provider_name: provider_name
    )
  when 'Exit'
    exit 0
  end
end

.select_evalString?

Select an eval from available evals

Returns:

  • (String, nil)

    Eval name or nil

Raises:

  • (NotImplementedError)

    Raised when gum integration is not enabled



43
44
45
# File 'lib/skill_bench/interactive.rb', line 43

def self.select_eval
  raise NotImplementedError, 'Interactive selection not implemented; enable gum integration'
end

.select_providerString?

Select a provider from available providers

Returns:

  • (String, nil)

    Provider name or nil

Raises:

  • (NotImplementedError)

    Raised when gum integration is not enabled



57
58
59
# File 'lib/skill_bench/interactive.rb', line 57

def self.select_provider
  raise NotImplementedError, 'Interactive selection not implemented; enable gum integration'
end

.select_skillString?

Select a skill from available skills

Returns:

  • (String, nil)

    Skill name or nil

Raises:

  • (NotImplementedError)

    Raised when gum integration is not enabled



50
51
52
# File 'lib/skill_bench/interactive.rb', line 50

def self.select_skill
  raise NotImplementedError, 'Interactive selection not implemented; enable gum integration'
end