Reaching the network when no single link always works, and testing all of it with nothing plugged in.
One install for the 8 capabilities of this domain. Each is also its own package, and
pamoja is the whole framework in one.
npm install @pamoja/transports
| Capability | Package | What it covers |
|---|---|---|
| MQTT | @pamoja/mqtt |
An MQTT client with the topic and wildcard rules, as the core transport |
| CoAP | @pamoja/coap |
A CoAP client over UDP with confirmable delivery and observe |
| Loopback | @pamoja/loopback |
An in-process transport with topic matching and a fault injector, for testing with no broker |
| Store and forward | @pamoja/sync |
Offline-first queues: in memory, and a crash-safe on-disk queue that survives power loss |
| Transport ladder | @pamoja/ladder |
Cheapest reachable link first, buffering to a store when every link is down |
| Event bus | @pamoja/bus |
An in-memory typed publish and subscribe event bus |
| Engine surface | @pamoja/core |
The transport every link shares (send, receive, subscribe, and a faulty wrapper for tests) and the runtime version |
| Simulators | @pamoja/sim |
Noisy and replay sensors, a recording actuator, and a simulated robot that dead-reckons its pose |
The guides, with a worked TypeScript example for each, are at https://pamoja.molex.cloud/docs.
MIT
Transports and testing: Reaching the network when no single link always works, and testing all of it with nothing plugged in.
Installing this package installs
@pamoja/mqtt,@pamoja/coap,@pamoja/loopback,@pamoja/sync,@pamoja/ladder,@pamoja/bus,@pamoja/core,@pamoja/sim, and re-exports each under its own name, so a name two of them share stays unambiguous.