EvalContext class

Per-trial context provided by an EvalEnvironment.

The context groups everything the AgentHarnessFactory needs to build and run an agent under test: filesystem root, clock, LLM client (which may be a recording/replay wrapper), application services, and a preconfigured AgentController with trace exporters already attached.

Constructors

EvalContext({Directory? workspaceDir, required EvalClock clock, required LLMClient llmClient, required AgentController controller, Map<Type, Object> servicesMap = const {}, Map<String, dynamic> metadata = const {}})

Properties

clock EvalClock
Time source. Use clock.now() instead of DateTime.now() so trials can be made deterministic. Implementations may wire this up via package:clock zones if they wish.
final
controller AgentController
Controller pre-attached with trace exporters and listeners. The harness should reuse this controller, not create its own.
final
hashCode int
The hash code for this object.
no setterinherited
llmClient LLMClient
LLM client to use during the trial. May be a RecordingLLMClient or ReplayLLMClient depending on the run mode.
final
metadata Map<String, dynamic>
Free-form metadata that flows into transcripts and reports.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
servicesMap Map<Type, Object>
Application services keyed by Type. Use services for typed lookup.
final
workspaceDir Directory?
Workspace root (when the agent reads/writes files). May be null for agents that don't touch the filesystem.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
services<T>() → T
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited