Skip to content
The example app showing an expense's approval chain and audit timeline

Approval workflows for TypeScript, with the edge cases handled

Send any record through a chain of approval steps, sequential or parallel, with delegation, deadlines, escalation, return and resubmit, and a full audit trail. The cases that break approval systems in production are specified, tested and handled.
Terminal window
npm install @rungsjs/core @rungsjs/store-postgres

Edge cases, specified

The requester is also an approver. The approver is on leave and their delegate already voted. Nobody is left to approve mid-flow. Each case has an ID, a documented behavior and a test.

A pure engine

The core has no dependencies and no I/O. Time, IDs and approver lookups are injected, so the same state and command always give the same result.

PostgreSQL included

A store for PostgreSQL 15+ with migrations, row locks and leases for parallel workers. Bring node-postgres, postgres.js or PGlite.

Try the demo

A Next.js app with an inbox, timeline, delegation, admin tools and a clock you can move forward. It runs without installing a database.