Agent Evals
Generated from the type stubs and docstrings. Do not edit by hand.
CaseReport
Section titled “CaseReport”All repetition reports and aggregate counts for one dataset case.
Fields:
case_id: strstatus: OutcomeStatustrials: Sequence[TrialReport]inputs: Mapping[str, JSONValue] = field(default_factory=dict)expected: Optional[JSONValue | _Missing] = MISSINGcounts: Mapping[str, int] = field(default_factory=dict)evaluator_pass_rates: Mapping[str, float] = field(default_factory=dict)passed: bool
EvalCase
Section titled “EvalCase”One named agent input and optional reference output.
Fields:
id: strinputs: Mapping[str, Any]expected: Any = MISSINGmetadata: Mapping[str, JSONValue] = field(default_factory=dict)
EvalDataset
Section titled “EvalDataset”An ordered collection of uniquely identified evaluation cases.
Fields:
name: strcases: Sequence[EvalCase]description: Optional[str] = None
from_jsonl
Section titled “from_jsonl”from_jsonl(cls, path: Path, name: Optional[str] = None) -> EvalDatasetto_jsonl
Section titled “to_jsonl”to_jsonl(self, path: Path) -> NoneEvalSuite
Section titled “EvalSuite”Fields:
name: stragent: Callable[..., Any]dataset: EvalDatasetevaluators: Sequence[Evaluator]llm: Any = Nonellm_factory: Optional[Factory] = Nonedeps: Any = Nonedeps_factory: Optional[Factory] = Nonememory_backend: Any = Nonememory_backend_factory: Optional[Factory] = Nonerepetitions: int = 1min_trial_pass_rate: float = 1.0min_case_pass_rate: float = 1.0max_concurrency: int = 4timeout: Optional[float] = Noneallow_writes: bool = Falsemetadata: Mapping[str, Any] = field(default_factory=dict)
run(self, case_ids: Optional[Sequence[str]] = None, max_concurrency: Optional[int] = None, timeout: Optional[float] = None, allow_writes: Optional[bool] = None) -> EvaluationReportEvaluationConfigurationError
Section titled “EvaluationConfigurationError”The suite is invalid and no trials were started.
EvaluationContext
Section titled “EvaluationContext”The complete immutable observation passed to an evaluator.
Fields:
case: EvalCaseoutput: JSONValuerun_id: strtrial_index: intagent_name: stragent_version: Optional[str]tool_calls: tuple[ToolCallView, ...]usage: TokenUsagelatency_ms: floatevents: tuple[TurnEventView, ...]
EvaluationError
Section titled “EvaluationError”Base error for evaluation configuration and execution.
EvaluationExecutionError
Section titled “EvaluationExecutionError”A trial could not produce a completed observation.
EvaluationReport
Section titled “EvaluationReport”The immutable aggregate result of an evaluation suite execution.
Fields:
schema: strevaluation_id: strsuite_name: strdataset_name: stragent_name: strstatus: OutcomeStatuscases: Sequence[CaseReport]started_at: Optional[str] = Nonefinished_at: Optional[str] = Noneagent_version: Optional[str] = Nonedataset_digest: Optional[str] = Noneselected_case_ids: Sequence[str] = field(default_factory=tuple)evaluators: Sequence[EvaluatorDefinition] = field(default_factory=tuple)run_config: Optional[RunConfig] = Nonecounts: Mapping[str, int] = field(default_factory=dict)case_pass_rate: Optional[float] = Nonemean_scores: Mapping[str, float] = field(default_factory=dict)metadata: Mapping[str, JSONValue] = field(default_factory=dict)passed: bool
EvaluationResult
Section titled “EvaluationResult”A score and optional evaluator diagnostics before status normalization.
Fields:
score: floatreason: Optional[str] = Nonedetails: Mapping[str, JSONValue] = field(default_factory=dict)
EvaluationWriteBlocked
Section titled “EvaluationWriteBlocked”A write-capable tool was denied by evaluation policy.
Evaluator
Section titled “Evaluator”One named synchronous or asynchronous evaluator definition.
Fields:
name: strevaluate: SyncOrAsyncEvaluatorthreshold: float = 1.0required: bool = Truetimeout: float = 30.0version: Optional[str] = None
EvaluatorDefinition
Section titled “EvaluatorDefinition”Evaluator identity and thresholds captured once per report.
Fields:
name: strthreshold: floatrequired: booltimeout: floatversion: Optional[str] = None
EvaluatorError
Section titled “EvaluatorError”An evaluator failed or returned an invalid result.
EvaluatorReport
Section titled “EvaluatorReport”The normalized status and diagnostics for one evaluator invocation.
Fields:
name: strstatus: EvaluatorStatusrequired: bool = Truescore: Optional[float] = Nonethreshold: float = 1.0reason: Optional[str] = Nonedetails: Mapping[str, JSONValue] = field(default_factory=dict)error_type: Optional[str] = Noneerror: Optional[str] = Nonepassed: bool
EvaluatorStatus
Section titled “EvaluatorStatus”The outcome of one evaluator for one completed trial.
Fields:
PASSED = 'passed'FAILED = 'failed'SKIPPED = 'skipped'ERROR = 'error'
OutcomeStatus
Section titled “OutcomeStatus”The aggregate outcome of a trial, case, or complete evaluation.
Fields:
PASSED = 'passed'FAILED = 'failed'ERROR = 'error'
RunConfig
Section titled “RunConfig”The effective run configuration for one evaluation execution.
Fields:
repetitions: intmax_concurrency: intmin_trial_pass_rate: floatmin_case_pass_rate: floattimeout: Optional[float]allow_writes: bool
TokenUsage
Section titled “TokenUsage”Token counters folded from a trial’s LLM completion events.
Fields:
input_tokens: int = 0output_tokens: int = 0cache_creation_input_tokens: int = 0cache_read_input_tokens: int = 0
ToolCallView
Section titled “ToolCallView”An immutable summary of one tool call in the completed trial journal.
Fields:
tool_use_id: strname: strinput: Optional[JSONValue]status: strresult: Optional[JSONValue]
TrialContext
Section titled “TrialContext”The immutable identity supplied to a trial-local resource factory.
Fields:
case: EvalCaserepetition: int
TrialReport
Section titled “TrialReport”A completed or failed trial and its evaluator outcomes.
Fields:
case_id: strrepetition: intrun_id: Optional[str]status: OutcomeStatusoutput: Optional[JSONValue]latency_ms: floatusage: TokenUsagetool_calls: Sequence[ToolCallView] = field(default_factory=tuple)events: Sequence[TurnEventView] = field(default_factory=tuple)evaluators: Sequence[EvaluatorReport] = field(default_factory=tuple)model: Optional[str | tuple[str, ...]] = Noneprovider: Optional[str] = Noneerror_phase: Optional[str] = Noneerror_code: Optional[str] = Noneerror_type: Optional[str] = Noneerror: Optional[str] = Nonepassed: bool
TurnEventView
Section titled “TurnEventView”A JSON-safe immutable event view available to local evaluators.
Fields:
run_seq: intkind: strpayload: Mapping[str, JSONValue]
Constants
Section titled “Constants”MISSING: Final = _Missing()
Functions
Section titled “Functions”contains_text
Section titled “contains_text”contains_text(text: Optional[str] = None) -> Evaluatorequals_expected
Section titled “equals_expected”equals_expected() -> Evaluatormax_latency
Section titled “max_latency”max_latency(milliseconds: float) -> Evaluatormax_tokens
Section titled “max_tokens”max_tokens(limit: int) -> Evaluatorreport_to_dict
Section titled “report_to_dict”report_to_dict(report: EvaluationReport, include_events: bool = False, max_payload_bytes: int = DEFAULT_MAX_PAYLOAD_BYTES) -> dict[str, Any]run_evaluator
Section titled “run_evaluator”run_evaluator(evaluator: Evaluator, context: EvaluationContext) -> EvaluatorReportRun one evaluator with timeout and normalize its result.
run_evaluators
Section titled “run_evaluators”run_evaluators(evaluators: Sequence[Evaluator], context: EvaluationContext) -> tuple[EvaluatorReport, ...]tool_called
Section titled “tool_called”tool_called(name: str, min_calls: int = 1, max_calls: Optional[int] = None) -> Evaluatortool_not_called
Section titled “tool_not_called”tool_not_called(name: str) -> Evaluatortool_sequence
Section titled “tool_sequence”tool_sequence(names: Sequence[str], exact: bool = False) -> Evaluatorwrite_report_json
Section titled “write_report_json”write_report_json(path: Path, report: EvaluationReport, include_events: bool = False, max_payload_bytes: int = DEFAULT_MAX_PAYLOAD_BYTES) -> None