mirror of
https://github.com/xtr-dev/rondevu-client.git
synced 2025-12-14 21:03:23 +00:00
This release introduces several developer experience improvements: Breaking Changes: - Add EventEmitter support - Rondevu now extends EventEmitter - Consolidate discovery methods into findService() (getService, discoverService, discoverServices methods still exist but findService is the new unified API) New Features: - EventEmitter lifecycle events: - offer:created (offerId, serviceFqn) - offer:answered (offerId, peerUsername) - connection:opened (offerId, dataChannel) - connection:closed (offerId) - ice:candidate:local (offerId, candidate) - locally generated ICE - ice:candidate:remote (offerId, candidate, role) - remote ICE from server - error (error, context) - Unified findService() method with modes: - 'direct' - direct lookup by FQN with username - 'random' - random discovery without username - 'paginated' - paginated results with limit/offset - Typed error classes for better error handling: - RondevuError (base class with context) - NetworkError (network/API failures) - ValidationError (input validation) - ConnectionError (WebRTC connection issues) - Convenience methods: - getOfferCount() - get active offer count - isConnected(offerId) - check connection status - disconnectAll() - close all connections - getServiceStatus() - get service state Type Exports: - Export ActiveOffer interface for getActiveOffers() typing - Export FindServiceOptions, ServiceResult, PaginatedServiceResult - Export all error classes Dependencies: - Add @types/node for EventEmitter support 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
44 lines
930 B
TypeScript
44 lines
930 B
TypeScript
/**
|
|
* @xtr-dev/rondevu-client
|
|
* WebRTC peer signaling client
|
|
*/
|
|
|
|
export { Rondevu, RondevuError, NetworkError, ValidationError, ConnectionError } from './rondevu.js'
|
|
export { RondevuAPI } from './api.js'
|
|
export { RpcBatcher } from './rpc-batcher.js'
|
|
|
|
// Export crypto adapters
|
|
export { WebCryptoAdapter } from './web-crypto-adapter.js'
|
|
export { NodeCryptoAdapter } from './node-crypto-adapter.js'
|
|
|
|
// Export types
|
|
export type {
|
|
Signaler,
|
|
Binnable,
|
|
} from './types.js'
|
|
|
|
export type {
|
|
Keypair,
|
|
OfferRequest,
|
|
ServiceRequest,
|
|
Service,
|
|
ServiceOffer,
|
|
IceCandidate,
|
|
} from './api.js'
|
|
|
|
export type {
|
|
RondevuOptions,
|
|
PublishServiceOptions,
|
|
ConnectToServiceOptions,
|
|
ConnectionContext,
|
|
OfferContext,
|
|
OfferFactory,
|
|
ActiveOffer,
|
|
FindServiceOptions,
|
|
ServiceResult,
|
|
PaginatedServiceResult
|
|
} from './rondevu.js'
|
|
|
|
export type { CryptoAdapter } from './crypto-adapter.js'
|
|
|