@happyvertical/smrt-gnode
Planned federation library for inter-gnode peer-to-peer discovery and communication. Currently ships stub implementations only — do not build against this API yet.
Overview
@happyvertical/smrt-gnode is positioned to provide federation protocols for inter-gnode peer-to-peer discovery and communication. A "gnode" is a federated local knowledge base; the long-term plan is to let independent gnodes discover each other, exchange peer lists, and run ActivityPub-inspired cross-gnode queries. None of that runs yet — see the status box above.
Installation
pnpm add @happyvertical/smrt-gnodeNo runtime dependencies. Standalone stub package — installing it gives you the type signatures and no-op stubs only.
Exports (All Stubs)
Classes
| Export | Status | Description |
|---|---|---|
Federation | Stub | discoverPeers() and exchangePeers() return [] |
WebFingerProtocol | Stub | .well-known/gnode discovery. discover() returns null |
PeerExchangeProtocol | Stub | /api/federation/peers peer list exchange. exchange() returns [] |
Types
| Export | Description |
|---|---|
GnodePeer | Peer descriptor: url, name, discoveredAt, lastSeen? |
FederationConfig | Config: enabled, discoverability, peers, autodiscovery, peerExchange |
WebFingerResponse | WebFinger response: subject, links[] |
Constants
version: Package version string ('0.1.0')
Planned Architecture (Not Implemented)
These are the protocols the package intends to ship — none of them are wired up as of v0.29.34. The stubs above describe the shapes the future implementations will fill.
- Federation — orchestrator that runs peer discovery and exchange against a configured peer list
- WebFingerProtocol — WebFinger-based peer discovery via
GET /.well-known/gnode - PeerExchangeProtocol — peer-list exchange via
GET /api/federation/peers - ActivityPub-inspired cross-gnode queries (longer-term)