Expand introspection helpers and getStats(protocol) across six categories after the storage/trust giant pass. network-stack (10): listPeerIds, hasPeer, bestPeer, listCircuitIds, queueDepth, listPendingIds, and related helpers; protocol in getStats. state-crdts: crdt-map has/size/entries; conflict-set size/isEmpty; reactive-state size/keys; richer getStats on map and conflict-set. messaging-gossip: gossip-mesh seenCount/clearSeen; dedup size/clear; event-bus getStats merges metrics/topics/peers. scheduling-queues: topic-lease listShards/isHeld; peer-scheduler listJobs; activity-queue pending/claimed stats. measurement-rate-control: bucket-rate listPeerIds/peerCount. experimental (16): protocol-rich getStats; mycelium listPeerIds/totalCredits; pheromone listPathIds. Docs: API Methods for link-probe, crdt-map, gossip-mesh; expanded category READMEs for state-crdts, messaging-gossip, scheduling, measurement. Co-authored-by: Cursor <[email protected]>
hyper-p2p-dedup-filter
Production messaging & gossip module: Hyperswarm discovery + Protomux when topic is set.
Category: Messaging & gossip
Composes with: hyper-p2p-gossip-mesh, hyper-p2p-distributed-event-bus
Protocol: hyper-p2p-dedup-filter/v1
When to use
Multi-peer apps that need messaging & gossip over a shared Hyperswarm topic.
When not to use
Single-process tools with no P2P topic (use local APIs only or skip ready()).
Quick start
const { HyperP2PDedupFilter } = require('hyper-p2p-dedup-filter')
const topic = process.argv[2] // 64-char hex or string
const mod = new HyperP2PDedupFilter({ topic, enableBackgroundTimers: false })
await mod.ready() // joins swarm when topic set
// ... application logic ...
await mod.close()
Docs
-
docs/api.md — constructor, methods, events, errors
-
docs/architecture.md — wire types, state, composition
-
../_shared/PRODUCTION.md — production checklist
-
../_shared/DOC_STANDARDS.md — documentation standards
-
Integration:
../../real_tests/integration/—dedup-filter-two-node.js
Test
npm install && npm test