@xtr-dev/rondevu-client 0.12.4 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -381
- package/dist/api.d.ts +75 -96
- package/dist/api.js +202 -243
- package/dist/crypto-adapter.d.ts +37 -0
- package/dist/crypto-adapter.js +4 -0
- package/dist/index.d.ts +8 -15
- package/dist/index.js +5 -8
- package/dist/node-crypto-adapter.d.ts +35 -0
- package/dist/node-crypto-adapter.js +80 -0
- package/dist/rondevu-signaler.d.ts +14 -12
- package/dist/rondevu-signaler.js +111 -95
- package/dist/rondevu.d.ts +329 -0
- package/dist/rondevu.js +648 -0
- package/dist/rpc-batcher.d.ts +61 -0
- package/dist/rpc-batcher.js +111 -0
- package/dist/types.d.ts +8 -21
- package/dist/types.js +4 -6
- package/dist/web-crypto-adapter.d.ts +16 -0
- package/dist/web-crypto-adapter.js +52 -0
- package/package.json +1 -1
- package/dist/bin.d.ts +0 -35
- package/dist/bin.js +0 -35
- package/dist/connection-manager.d.ts +0 -104
- package/dist/connection-manager.js +0 -324
- package/dist/connection.d.ts +0 -112
- package/dist/connection.js +0 -194
- package/dist/durable-connection.d.ts +0 -120
- package/dist/durable-connection.js +0 -244
- package/dist/event-bus.d.ts +0 -52
- package/dist/event-bus.js +0 -84
- package/dist/noop-signaler.d.ts +0 -14
- package/dist/noop-signaler.js +0 -27
- package/dist/quick-start.d.ts +0 -29
- package/dist/quick-start.js +0 -44
- package/dist/rondevu-context.d.ts +0 -10
- package/dist/rondevu-context.js +0 -20
- package/dist/rondevu-service.d.ts +0 -87
- package/dist/rondevu-service.js +0 -170
- package/dist/service-client.d.ts +0 -77
- package/dist/service-client.js +0 -158
- package/dist/service-host.d.ts +0 -67
- package/dist/service-host.js +0 -120
- package/dist/signaler.d.ts +0 -25
- package/dist/signaler.js +0 -89
- package/dist/webrtc-context.d.ts +0 -5
- package/dist/webrtc-context.js +0 -35
package/dist/signaler.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RondevuSignaler - Handles ICE candidate exchange via Rondevu API
|
|
3
|
-
* Uses polling to retrieve remote candidates
|
|
4
|
-
*/
|
|
5
|
-
export class RondevuSignaler {
|
|
6
|
-
constructor(api, offerId) {
|
|
7
|
-
this.api = api;
|
|
8
|
-
this.offerId = offerId;
|
|
9
|
-
}
|
|
10
|
-
addOfferListener(callback) {
|
|
11
|
-
throw new Error('Method not implemented.');
|
|
12
|
-
}
|
|
13
|
-
addAnswerListener(callback) {
|
|
14
|
-
throw new Error('Method not implemented.');
|
|
15
|
-
}
|
|
16
|
-
setOffer(offer) {
|
|
17
|
-
throw new Error('Method not implemented.');
|
|
18
|
-
}
|
|
19
|
-
setAnswer(answer) {
|
|
20
|
-
throw new Error('Method not implemented.');
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Send a local ICE candidate to signaling server
|
|
24
|
-
*/
|
|
25
|
-
async addIceCandidate(candidate) {
|
|
26
|
-
const candidateData = candidate.toJSON();
|
|
27
|
-
// Skip empty candidates
|
|
28
|
-
if (!candidateData.candidate || candidateData.candidate === '') {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
await this.api.addIceCandidates(this.offerId, [candidateData]);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Poll for remote ICE candidates and call callback for each one
|
|
35
|
-
* Returns cleanup function to stop polling
|
|
36
|
-
*/
|
|
37
|
-
addListener(callback) {
|
|
38
|
-
let lastTimestamp = 0;
|
|
39
|
-
let polling = true;
|
|
40
|
-
const poll = async () => {
|
|
41
|
-
while (polling) {
|
|
42
|
-
try {
|
|
43
|
-
const candidates = await this.api.getIceCandidates(this.offerId, lastTimestamp);
|
|
44
|
-
// Process each candidate
|
|
45
|
-
for (const item of candidates) {
|
|
46
|
-
if (item.candidate &&
|
|
47
|
-
item.candidate.candidate &&
|
|
48
|
-
item.candidate.candidate !== '') {
|
|
49
|
-
try {
|
|
50
|
-
const rtcCandidate = new RTCIceCandidate(item.candidate);
|
|
51
|
-
callback(rtcCandidate);
|
|
52
|
-
lastTimestamp = item.createdAt;
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
console.warn('Failed to process ICE candidate:', err);
|
|
56
|
-
lastTimestamp = item.createdAt;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
lastTimestamp = item.createdAt;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
// If offer not found or expired, stop polling
|
|
66
|
-
if (err instanceof Error &&
|
|
67
|
-
(err.message.includes('404') || err.message.includes('410'))) {
|
|
68
|
-
console.warn('Offer not found or expired, stopping ICE polling');
|
|
69
|
-
polling = false;
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
console.error('Error polling for ICE candidates:', err);
|
|
73
|
-
}
|
|
74
|
-
// Poll every second
|
|
75
|
-
if (polling) {
|
|
76
|
-
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
// Start polling in the background
|
|
81
|
-
poll().then(() => {
|
|
82
|
-
console.log('ICE polling started');
|
|
83
|
-
});
|
|
84
|
-
// Return cleanup function
|
|
85
|
-
return () => {
|
|
86
|
-
polling = false;
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
}
|
package/dist/webrtc-context.d.ts
DELETED
package/dist/webrtc-context.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const DEFAULT_RTC_CONFIGURATION = {
|
|
2
|
-
iceServers: [
|
|
3
|
-
{
|
|
4
|
-
urls: 'stun:stun.relay.metered.ca:80',
|
|
5
|
-
},
|
|
6
|
-
{
|
|
7
|
-
urls: 'turn:standard.relay.metered.ca:80',
|
|
8
|
-
username: 'c53a9c971da5e6f3bc959d8d',
|
|
9
|
-
credential: 'QaccPqtPPaxyokXp',
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
urls: 'turn:standard.relay.metered.ca:80?transport=tcp',
|
|
13
|
-
username: 'c53a9c971da5e6f3bc959d8d',
|
|
14
|
-
credential: 'QaccPqtPPaxyokXp',
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
urls: 'turn:standard.relay.metered.ca:443',
|
|
18
|
-
username: 'c53a9c971da5e6f3bc959d8d',
|
|
19
|
-
credential: 'QaccPqtPPaxyokXp',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
urls: 'turns:standard.relay.metered.ca:443?transport=tcp',
|
|
23
|
-
username: 'c53a9c971da5e6f3bc959d8d',
|
|
24
|
-
credential: 'QaccPqtPPaxyokXp',
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
};
|
|
28
|
-
export class WebRTCContext {
|
|
29
|
-
constructor(config) {
|
|
30
|
-
this.config = config;
|
|
31
|
-
}
|
|
32
|
-
createPeerConnection() {
|
|
33
|
-
return new RTCPeerConnection(this.config || DEFAULT_RTC_CONFIGURATION);
|
|
34
|
-
}
|
|
35
|
-
}
|