Offline-first sync engine: outbox, retries, conflict resolution
idae-sync syncs local IndexedDB data to a server in the background, even offline. Writes queue in a persistent outbox with exponential backoff, per-collection circuit breakers, a dead letter queue, and pluggable conflict resolution, plus SSE/WebSocket listeners for server push.
flowchart TD P["Idae monorepo"] --> S["idae-sync"] S --> A["IndexedDB outbox · retries + backoff"] S --> B["circuit breaker + dead letter queue"] S --> C["mobile-first / server-first per collection"] S --> D["SSE/WebSocket push + conflict resolution"]
Syncs local IndexedDB data to a server automatically, in the background, even offline. Writes are intercepted into an IndexedDB-backed outbox with exponential backoff, circuit breakers, a dead letter queue, and pluggable conflict resolution (last-write-wins, shallow or field-level merge).