@open-matrix/federation (0.2.1)
Published 2026-06-08 00:38:06 +00:00 by hivecast-admin
Installation
@open-matrix:registry=npm install @open-matrix/federation@0.2.1"@open-matrix/federation": "0.2.1"About this package
@open-matrix/federation
Matrix federation layer for cross-realm messaging with:
- Tolerant MXURI parsing (legacy compact + segmented
/-/form) - Dual mailbox namespaces (Strangler Fig)
- legacy:
public.ingress.<realm>(Matrix-3 compatibility) - mx ingress:
mx/in/1/<realm>/<shard>(MXINGRESS/1)
- legacy:
- Dual envelope profiles (Strategy)
- legacy: Matrix-3 request/reply envelopes
- mxenv1: MXENV/1 envelopes (
Cmd|Evt|Result|Sub|Unsub|Nack)
- Edge gateway bridging mailbox messages ↔ internal bus (
mx/1/<realm>/<toPath>) - Federation subscription leasing (streaming Evt forwarding)
- Session directory (principal → active tab realms) for unsolicited push
- Hierarchical routing overlay (MXROUTE-style route inbox forwarding)
- Pluggable transport with in-memory brokers for deterministic tests
No external npm dependencies are required to run unit + integration tests.
Run
npm test
Read the full design
Start with DESIGN.md.
Code map
-
Encoding + routing primitives
src/uri.ts— tolerant MXURI parsing + canonicalizationsrc/topics.ts— mailbox topics + internal topics + route inbox topicssrc/envelope.ts+src/envelope_codec.ts— legacy + MXENV/1 envelopes, tolerant decoding, profile-specific encoding
-
Transports
src/transport/base.ts— transport portsrc/transport/inmem.ts— in-memory exact-match broker + wildcard-filter broker
-
Runtime components
src/runtime/edge_gateway.ts— mailbox ↔ internal bus bridgesrc/runtime/component_host.ts— helper for registering internal "accepts" handlerssrc/runtime/federation.ts— subscription leases + Evt forwardingsrc/runtime/directory.ts— session directory + protocol facadesrc/runtime/router.ts— hierarchical routing overlay bridgesrc/runtime/discovery.ts+src/runtime/resolved_client.ts— endpoint resolution + fallback client
-
Security building blocks
src/security/*— replay cache, rate limiter, policy hooks, principal derivation
-
Tests
tests/unit/*— codecs and matchingtests/integration/*— end-to-end request/reply, subscriptions, directory push, discovery fallback, routing overlay, security
Dependencies
Development Dependencies
| ID | Version |
|---|---|
| @types/node | ^25.0.10 |
| typescript | ^5.6.3 |