TypeScript reference#
Every @pamoja package, generated by typedoc from this commit. Each row below opens a package's API pages, and the same capability in the other three languages is one step away.
Each capability is its own package, so an import names the capability it uses,
and the page for each package lists its classes, functions, and types. pamoja
bundles all of them.
Each package is hand-written TypeScript over @pamoja/native, the compiled
engine and its generated napi-rs contract, which stays importable for anything
the facades do not cover.
By domain#
Six of the chapters hold more than one capability, and each is a package of its
own on npm, @pamoja/<domain>, which brings its capabilities in and re-exports
each under its own name:
npm install @pamoja/field-ionpm install @pamoja/sensingnpm install @pamoja/radionpm install @pamoja/trust@pamoja/transportsMQTT, CoAP, Loopback, Store and forward, Transport ladder, Event bus, Engine surface, Simulators
npm install @pamoja/transportsnpm install @pamoja/profilesEvery package#
One row per capability: the install line, the package and its reference, the guide with the worked example, and the same capability on the other three reference pages, one step away.
Engine#
@pamoja/coreThe transport every link shares (send, receive, subscribe, and a faulty wrapper for tests) and the runtime version
npm install @pamoja/coreIdentity#
@pamoja/securityed25519 device identity: sign a reading and verify it, so a gateway can prove it is authentic
npm install @pamoja/securityCodecs#
@pamoja/codecCBOR, JSON, and raw codecs behind one trait, delta and varint batch packing, and an f32 quantizer for metered links
npm install @pamoja/codecHelpers#
@pamoja/kitPlain-language helper math: smoothing, calibration, PID and thermostat control, trend and surge prediction, rolling windows, kinematics, and geo
npm install @pamoja/kitField I/O#
@pamoja/serialSLIP and COBS byte stuffing with streaming decoders, so a UART byte stream carries discrete packets
npm install @pamoja/serialnpm install @pamoja/modbus@pamoja/canCAN 2.0 and CAN-FD frames with 11- and 29-bit identifiers, plus J1939 decode and compose
npm install @pamoja/can@pamoja/gpioI2C address frames with reserved-range checks, the four SPI clock modes, and active-high or active-low pins
npm install @pamoja/gpioSensing and actuation#
@pamoja/sensorsDatasheet-anchored decoders for eleven parts: the BME280, BMP280, DS18B20, HDC1080, INA219, INA226, ADS1115, OPT3001, SCD4x, SHT3x, and TMP117
npm install @pamoja/sensorsnpm install @pamoja/actuatorsRadio and reach#
@pamoja/loraTime-on-air, duty-cycle off-time, and the regional channel plans a LoRa node must keep to
npm install @pamoja/lora@pamoja/lorawanLoRaWAN 1.0.x MAC framing, AES-CMAC and AES encryption, and both halves of the OTAA join
npm install @pamoja/lorawan@pamoja/meshAddressed, hop-limited, CRC-checked frames and duplicate suppression that floods a packet exactly once
npm install @pamoja/meshnpm install @pamoja/routingMAVLink#
@pamoja/mavlinkMAVLink v1 and v2 framing, signing, named message fields, and the mission, command, and offboard protocols
npm install @pamoja/mavlinkTrust and operation#
@pamoja/auditA tamper-evident, hash-chained log; altering, reordering, or dropping a record breaks verification
npm install @pamoja/audit@pamoja/sessionX25519 key agreement, HKDF, and ChaCha20-Poly1305 with an anti-replay window, with no TLS stack
npm install @pamoja/session@pamoja/updateSigned firmware manifests, streaming image verification, and A/B slots that fall back on their own
npm install @pamoja/update@pamoja/powerDuty cycling and an energy-aware governor that stretches work as the battery drains
npm install @pamoja/power@pamoja/telemetryObservability that ships only what is worth the bytes as link cost rises, while counting everything
npm install @pamoja/telemetryTransports and testing#
npm install @pamoja/mqttnpm install @pamoja/coap@pamoja/loopbackAn in-process transport with topic matching and a fault injector, for testing with no broker
npm install @pamoja/loopback@pamoja/syncOffline-first queues: in memory, and a crash-safe on-disk queue that survives power loss
npm install @pamoja/sync@pamoja/ladderCheapest reachable link first, buffering to a store when every link is down
npm install @pamoja/laddernpm install @pamoja/bus@pamoja/simNoisy and replay sensors, a recording actuator, and a simulated robot that dead-reckons its pose
npm install @pamoja/simProfiles and robotics#
@pamoja/profileNamed, ready-to-run device profiles from plain data or a JSON manifest
npm install @pamoja/profile@pamoja/ros2ROS 2 names, RIHS01 type hashes, CDR encoding, and rmw_zenoh key assembly, with no ROS 2 installed
npm install @pamoja/ros2npm install @pamoja/zenoh