Create a new DAGExecutor instance.
Map of predicate names to predicate functions
Map of tool names to tool implementations
Maximum number of steps to run in parallel (default: 4)
Optionallogger: WideEventLoggerOptional logger for structured event logging
Execute a DAFT spec.
Steps are executed in topological order, respecting dependencies. Steps without common dependencies run in parallel up to the concurrency limit. Each step runs iteratively until its predicate is satisfied or maxIter is reached.
The spec to execute
Result object with success status, final data, and per-step results
Executes DAFT specs with DAG-based parallelism and budget enforcement.
The executor handles:
Example