social-kit.git
the social layer of the ardegazu.ro suite — friends, presence, invites and co-signed leaderboards, all p2p on the shared relay + mailbox.
Clone
git clone https://git.ardegazu.ro/social-kit.git
or browse the code right here, in the browser.
Use as a dependency
"ardegazu-social-kit": "git+https://git.ardegazu.ro/social-kit.git#v2.1.0"
What's inside
src/ardegazu/social/envelope.cljs— sign-then-wrap envelopes, sealed to the recipient's suite key, deduped across every transport.src/ardegazu/social/pair.cljs— pairwise channels from static-static DH: opaque gossip topics, keyed sender tags, offline drops.src/ardegazu/social/friends.cljs— capability friend links, the store, and the tombstoned cross-device fold.src/ardegazu/social/presence.cljs— the social agent: sealed beacons, live invites, offline catch-up; runs on any app's libp2p pubsub. Since 2.1.0 a beacon may also carry the brain/model versions the peer is playing — clamped on send and on receive.src/ardegazu/social/receipts.cljs— co-signed match receipts (≥2 signers or it doesn't count) with weekly mailbox drops.src/ardegazu/social/net.cljs— a standalone node for apps without one (the hub).
ClojureScript source with a committed, byte-deterministic ESM build
(dist/) and TypeScript declarations (types/) —
the wire contract is locked by golden vectors extracted from the original
TypeScript implementation. MIT licensed.