devsper-executor
Parallel task executor for the devsper runtime. Drives a DAG to completion by repeatedly polling for ready nodes, claiming them, running agent functions concurrently, and writing results back.
How it works
Executor::run(graph_handle, agent_fn)
loop:
ready_nodes = scheduler.get_ready()
for each node (in parallel, up to concurrency limit):
if scheduler.claim(node):
result = agent_fn(node).await
scheduler.complete(node, result)
if no nodes remain: break
The executor is intentionally thin — it doesn't know about LLMs, memory, or plugins. Those concerns belong in the agent_fn you provide.
Usage
[]
= "0.1"
use ;
use GraphHandle;
use NodeId;
use json;
let config = ExecutorConfig ;
let executor = new;
let agent: AgentFn = new;
executor.run.await?;
License
GPL-3.0-or-later — see repository.