@agentx/eval is a zero-dependency TypeScript client for the CI slice of offline evaluation:
open a run against an existing dataset, submit your agent’s outputs (the engine judge-scores
each batch synchronously), finalize, and gate the build. Node 18+, ESM and CJS, nothing else -
it uses the built-in fetch.
Be clear about what it is: the CI surface only. Grading configs, the review queue,
analysis reports, and everything else on these pages live in the
Python SDK and the dashboard - though the package does include a
minimal evals.createDataset({ name, evaluationCriteria, questions }) for bootstrapping a
dataset from the pipeline itself. Use this package when the repo being gated is TypeScript and
pulling in a Python step just for the gate is the only reason it would exist.
The package is not yet on the public npm registry - build it from
AgentX-trace-eval/packages/agentx-eval and install via a file: path or your private
registry until it is published.failUnder (absolute floor) and noRegression (tolerance default 0.5, needs run history) -
and recorded gates land in the same dashboard CI Gates history. For noRegression, the
baseline must match the run’s evaluationSettingsId, scorerGroupId, and split, trace
evaluations are excluded, only the 5 newest candidates are considered, and with no matching
run the check passes explicitly.
Two more pieces round out the CI story. Pairwise comparison against a previous run:
submittedKeys() returns what the engine already has,
so a re-run only submits the remainder:
submit() auto-chunks at 10 results per batch and retries each batch once; a second failure
throws an AgentXEvalError with the HTTP status rather than finishing silently. The package
README in the AgentX-trace-eval repo (packages/agentx-eval) is the full reference.
