Goal
Add a TypeScript client that lets Node.js backend services exchange ONP/1 frames with the existing Python and ESP32 implementations.
Scope
- Node.js 20+ TCP/TLS client.
- Strict frame parsing with the 16 MiB protocol ceiling and a configurable lower limit.
Buffer, UTF-8, JSON, bigint/int64, number/float64, boolean, and null values.
- ACK, PING/PONG, CLOSE, message ID rollover, and duplicate behavior.
- AbortSignal-aware connect/send/receive operations.
- ESM and CommonJS-compatible package output if this can be achieved without duplicate APIs.
Acceptance criteria
- Consumes the fixed vectors in
python/tests/test_protocol.py.
- Live integration tests against the Python server.
- Corrupt CRC, truncated frame, oversized declaration, invalid UTF-8, and reconnect tests.
- Typed public API documentation and a runnable VS Code example.
- No compatibility or benchmark claims without recorded results.
Goal
Add a TypeScript client that lets Node.js backend services exchange ONP/1 frames with the existing Python and ESP32 implementations.
Scope
Buffer, UTF-8, JSON, bigint/int64, number/float64, boolean, and null values.Acceptance criteria
python/tests/test_protocol.py.