local M = {}
M.meta = {
name = "evalframe",
version = "0.4.0",
description = "Lua DSL for evaluating LLM outputs — declarative grading pipeline (suite / case / grader / scorer / provider) usable from any host with mlua.",
category = "eval",
}
M.suite = require("evalframe.eval")
M.report = require("evalframe.eval.report")
M.stats = require("evalframe.eval.stats")
M.load_cases = require("evalframe.eval.loader").load_file
M.case = require("evalframe.model.case")
M.grader = require("evalframe.model.grader")
M.scorer = require("evalframe.model.scorer")
M.bind = require("evalframe.model.binding")
local _variants = require("evalframe.variants")
M.variants = _variants.generate
M.vary = _variants.vary
M.graders = require("evalframe.presets.graders")
M.scorers = require("evalframe.presets.scorers")
M.llm_graders = require("evalframe.presets.llm_graders")
M.providers = {
claude_cli = require("evalframe.providers.claude_cli"),
mock = require("evalframe.providers.mock"),
}
if type(alc) == "table" and type(alc.llm) == "function" then
local ok, mod = pcall(require, "evalframe.providers.algocline")
if ok then M.providers.algocline = mod end
end
M.std = require("evalframe.std")
return M