I've spent the past 3 years building Arvo, a TypeScript toolkit for applications where AI agents, humans, workflows, and business logic need to work together.
My core thesis is to treat the main units of work as event handlers. Agents, workflows, services, and humans all modelled as event handlers communicating across an event fabric. No architectural privileges. An agent coordinating with a workflow uses identical patterns to a workflow coordinating with a human.
Key characteristics: - Contract-first design with runtime validation (Zod-based) - Event driven durable execution with suspend/resume for orchestrations - State machines (XState) for structured workflows - Imperative orchestrations (Temporal style) for when state-machines becomes limiting - Infrastructure-agnostic (same code runs locally or on cloud) - Native OpenTelemetry integration
Built on CloudEvents, implements virtual orchestration through physical choreography. Handlers are stateless, workflows persist as JSON, everything composes naturally.
Open source, production-ready core, growing standard library (@arvo-tools).
Happy to discuss the architecture or answer questions about the design decisions.