#!/usr/bin/env ruby
# frozen_string_literal: true

require_relative "lib/boot"
require_relative "lib/llm"
require_relative "lib/cli"
require_relative "lib/runner"
require_relative "lib/eval"
require_relative "lib/prompts/prompt_evaluator"
require_relative "lib/prompts/single_test_runner"

options = DiscourseAi::Evals::Cli.parse_options!

if options.list
  DiscourseAi::Evals::Runner.print
  exit 0
end

if options.list_models
  DiscourseAi::Evals::Llm.print
  exit 0
end

DiscourseAi::Evals::Runner.new(
  eval_name: options.eval_name,
  llms: DiscourseAi::Evals::Llm.choose(options.model),
).run!
