feat: implement offer pooling for multi-connection services

- Add OfferPool class for managing multiple offers with auto-refill polling
- Add ServicePool class for orchestrating pooled connections and connection registry
- Modify exposeService() to support poolSize parameter (backward compatible)
- Add discovery API with service resolution and online status checking
- Add username claiming with Ed25519 signatures and TTL-based expiry
- Fix TypeScript import errors (RondevuPeer default export)
- Fix RondevuPeer instantiation to use RondevuOffers instance
- Fix peer.answer() calls to include required PeerOptions parameter
- Fix Ed25519 API call (randomSecretKey vs randomPrivateKey)
- Remove bloom filter (V1 legacy code)
- Update version to 0.8.0
- Document pooling feature and new APIs in README

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-05 18:26:23 +01:00
parent 895e7765f9
commit 15f821f08a
11 changed files with 1981 additions and 518 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "@xtr-dev/rondevu-client",
"version": "0.7.12",
"description": "TypeScript client for Rondevu topic-based peer discovery and signaling server",
"version": "0.8.0",
"description": "TypeScript client for Rondevu DNS-like WebRTC with username claiming and service discovery",
"type": "module",
"main": "dist/index.js",
"types": "dist/index.d.ts",
@@ -27,6 +27,6 @@
"README.md"
],
"dependencies": {
"@xtr-dev/rondevu-client": "^0.5.1"
"@noble/ed25519": "^3.0.0"
}
}