bpm-storage
Persistence abstractions for the BPM engine. Defines async traits only; no concrete backend.
Role
- ProcessInstanceStore — load/save process instances, list running.
- ProcessDefinitionStore — load process definitions by id.
- TokenStore — load/save tokens by instance, claim (CAS), update.
- TimerStore — get by id, mark fired, insert, list due.
- ExternalTaskStore — create, fetch-and-lock, complete, fail, reclaim expired locks.
- Additional traits: ParallelJoinRepo, CompensationRecordRepo, OutboxRepo (event outbox).
Implementations live in adapter crates (e.g. bpm-adapter-memory).
Usage
Depend on this crate to implement a new persistence backend. The runtime and server depend on these traits.