@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.

v0.29.34Stubs OnlyNot ImplementedLibrary-stage

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

bash
pnpm add @happyvertical/smrt-gnode

No runtime dependencies. Standalone stub package — installing it gives you the type signatures and no-op stubs only.

Exports (All Stubs)

Classes

ExportStatusDescription
FederationStubdiscoverPeers() and exchangePeers() return []
WebFingerProtocolStub.well-known/gnode discovery. discover() returns null
PeerExchangeProtocolStub/api/federation/peers peer list exchange. exchange() returns []

Types

ExportDescription
GnodePeerPeer descriptor: url, name, discoveredAt, lastSeen?
FederationConfigConfig: enabled, discoverability, peers, autodiscovery, peerExchange
WebFingerResponseWebFinger 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)

Related Modules