feat: Sprint 8 — TypeScript SDK with WASM crypto and browser demo
- WASM crypto bundle (175KB): 13 wasm_bindgen functions wrapping
quicproquo-core's Ed25519 identity, X25519+ML-KEM-768 hybrid KEM,
safety numbers, sealed sender, and message padding
- @quicproquo/client TypeScript SDK: QpqClient class with connect,
health, resolveUser, createChannel, send/sendWithTTL, receive,
deleteAccount; WebSocket transport with request/response correlation
and reconnection; ergonomic crypto.ts wrapper over WASM functions
- Browser demo: vanilla HTML page with interactive crypto operations
(identity gen, safety numbers, sign/verify, hybrid encrypt/decrypt,
sealed sender, padding) and chat UI for server connectivity
- Offline mode: crypto operations work without server connection
TypeScript strict mode, 0 errors. WASM bundle size optimized (lto + opt-level=s).