AgentRun

2026-09-25 · page · source ↗ · source summary

AgentRun is a TypeScript workflow DSL from Parcha Labs (v0.1.0-beta.4) that turns agent behavior into inspectable, rerunnable documents embedded in your own application. Its thesis: a fixed sequence of steps doesn't need a free-running agent — define the steps in a validated workflow document, spend Jev typed decisions on cheap judgments, and call the agent only where investigation is genuinely needed. The host keeps its tools, model access, permissions, and budgets.


Architecture

Three npm packages in a workspace monorepo:

The core abstraction is the workflow document: JSON with 17 node kinds (chain, code, agent, decide, extract, report, artifact, map, parallel, loop, escalate, call, workflow, judge, pick, sift, route). Nodes split into two families: generative kinds (one adapter session each, answering against a schema) and judgment kinds (one judge request each, no tools, no session). The engine is dependency-injected through WorkflowDeps: runNode (your agent), runEffect (your tools), runJudge (Jev), plus checkpoint/recovery/memo hooks.

Key techniques

Design decisions

The big bet is documents over live agents: ordinary functions could handle a fixed sequence, but a workflow document can be inspected, hashed, rerun, and invoked as a tool by an agent. The cost is a closed vocabulary — the validator admits exactly the 17 kinds and their fields, and any other key is an authoring error. That rigidity buys the conformance story and cross-host portability.

Second, model-tier routing as a first-class concern: every generative node takes a tier (fast/default/strong) and effort/thinking dials — with the comment that "there is deliberately no off: thinking is never off." The README's framing: a router that sends the few thin cases to strong buys depth only where the decision is on the edge.

Third, honest limits, stated in the README itself: code nodes execute JavaScript with process privileges (untrusted authors need a host sandbox), and typed decisions with validated shapes "do not prove that an answer is factually correct."

Comparison notes


Sources: raw/agentrun, agent.run() — AgentRun Last updated: 2026-09-25