Seventh expansion pass: domain-specific isEmpty() after moduleSnapshot on every module that has clearAll(), using existing count/snapshot helpers (async variants for temporal, spatial, semantic-vector, and reactive-state indexes). Co-authored-by: Cursor <[email protected]>
hyper-p2p-distributed-event-bus
Distributed append-only event bus: topic pub/sub, vector clocks, signing, Hyperbee replay, Protomux gossip.
Category: Messaging & gossip
Composes with: hyper-p2p-vector-clock, hyper-p2p-gossip-mesh, hyper-p2p-dedup-filter
Protocol: hyper-p2p-distributed-event-bus/v1
When to use
Event-sourced P2P apps that need durable logs and causal metadata across peers.
When not to use
Fire-and-forget messages without persistence (use lighter gossip modules).
Quick start
const HyperP2PDistributedEventBus = require('hyper-p2p-distributed-event-bus')
const bus = new HyperP2PDistributedEventBus({ enableBackgroundTimers: false })
await bus.ready()
bus.subscribe('orders', (e) => console.log(e.payload))
await bus.publish('orders', { sku: 'A1' })
await bus.close()
Docs
Test
npm install && npm test