Durable, iterative workflows on your own Postgres. Version 3.1.0 as of 2025, released with monthly cadence. Runs inside your Node app using graphile-worker and drizzle-orm, inspired by Trigger.dev and Temporal, but without a separate service. Supports steps with retries, sleeps for days, external signals, child flows, versioned flows, and at-least-once execution via transactional outbox. Key differentiator: no external service, full control over Postgres schema, Standard Schema validation, and TypeScript-first.
npm install iterativeflowNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Shows full setup: create engine, define a simple flow with zod input, register, start, and wait for result. Requires Postgres connection via DATABASE_URL.
Use import syntax and upgrade Node to >=20.
Create a new flow version or plan for breaking changes explicitly.
Pass { tables: flowTables } to createEngine after customizing the generated schema.Check result.kind and respond appropriately as shown in README.
Upgrade to v3 where sleep is stored as bigint milliseconds.
Run `npm install iterativeflow drizzle-orm graphile-worker pg` and use import syntax.
Run `npm install drizzle-orm@latest` to satisfy peer requirement.
Run `npm install graphile-worker@>=0.16.0`.
Run `npx iterativeflow generate-schema`, then `npx drizzle-kit generate && npx drizzle-kit migrate`.