EIDOS
When someone hits Save, Eidos keeps that click until the server says OK — even if the network dies mid-way.
Save → action()
Pocket the click. Replay when online. Same ticket number every retry.
Read → resource()
Cache the shelf so the list still opens on a dead network.
import { resource, action } from '@sweidos/eidos'
// Read — still works offlineexport const products = resource('/api/products', { offline: true })
// Save — never lose this clickexport const createOrder = action(submitOrder, { reliability: 'neverLose', name: 'createOrder',})Delivery is at least once. Your server must dedupe with the idempotency key. Eidos is not magical exactly-once. If you only need online cache UI, use TanStack Query. If you only need SW assets, use Workbox.