@pulsebeam/peer 0.0.21 → 0.1.0-rc.2
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/dist/index.cjs +25 -26
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +728 -2
- package/dist/index.d.ts +728 -2
- package/dist/index.global.js +39 -0
- package/dist/index.js +25 -26
- package/dist/index.js.map +1 -1
- package/dist/peer.d.ts +1 -0
- package/dist/peer.js +5807 -0
- package/dist/peer.umd.cjs +39 -0
- package/package.json +13 -24
package/dist/index.d.cts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { RpcOptions, UnaryCall, ServerStreamingCall } from '@protobuf-ts/runtime-rpc';
|
2
2
|
import { MessageType } from '@protobuf-ts/runtime';
|
3
|
+
import { PreinitializedMapStore, ReadableAtom } from 'nanostores';
|
3
4
|
|
4
5
|
/**
|
5
6
|
* @generated from protobuf enum pulsebeam.v1.SdpKind
|
@@ -26,6 +27,407 @@ declare enum SdpKind {
|
|
26
27
|
*/
|
27
28
|
ROLLBACK = 4
|
28
29
|
}
|
30
|
+
/**
|
31
|
+
* @generated from protobuf enum pulsebeam.v1.EventType
|
32
|
+
*/
|
33
|
+
declare enum EventType {
|
34
|
+
/**
|
35
|
+
* Default value, should always be the first
|
36
|
+
*
|
37
|
+
* @generated from protobuf enum value: UNKNOWN_EVENT = 0;
|
38
|
+
*/
|
39
|
+
UNKNOWN_EVENT = 0,
|
40
|
+
/**
|
41
|
+
* --- Error Reporting Events (Range: 1000 - 1099) ---
|
42
|
+
*
|
43
|
+
* Base for error reporting events
|
44
|
+
*
|
45
|
+
* @generated from protobuf enum value: EVENT_ERROR_REPORTING_BASE = 1000;
|
46
|
+
*/
|
47
|
+
EVENT_ERROR_REPORTING_BASE = 1000,
|
48
|
+
/**
|
49
|
+
* An error occurred with the signaling connection
|
50
|
+
*
|
51
|
+
* @generated from protobuf enum value: EVENT_ERROR_SIGNALING_CONNECTION_FAILED = 1001;
|
52
|
+
*/
|
53
|
+
EVENT_ERROR_SIGNALING_CONNECTION_FAILED = 1001,
|
54
|
+
/**
|
55
|
+
* An error occurred with the ICE connection
|
56
|
+
*
|
57
|
+
* @generated from protobuf enum value: EVENT_ERROR_ICE_CONNECTION_FAILED = 1002;
|
58
|
+
*/
|
59
|
+
EVENT_ERROR_ICE_CONNECTION_FAILED = 1002,
|
60
|
+
/**
|
61
|
+
* An error occurred while capturing audio
|
62
|
+
*
|
63
|
+
* @generated from protobuf enum value: EVENT_ERROR_MEDIA_CAPTURE_AUDIO_FAILED = 1003;
|
64
|
+
*/
|
65
|
+
EVENT_ERROR_MEDIA_CAPTURE_AUDIO_FAILED = 1003,
|
66
|
+
/**
|
67
|
+
* An error occurred while capturing video
|
68
|
+
*
|
69
|
+
* @generated from protobuf enum value: EVENT_ERROR_MEDIA_CAPTURE_VIDEO_FAILED = 1004;
|
70
|
+
*/
|
71
|
+
EVENT_ERROR_MEDIA_CAPTURE_VIDEO_FAILED = 1004,
|
72
|
+
/**
|
73
|
+
* An error occurred while capturing screen
|
74
|
+
*
|
75
|
+
* @generated from protobuf enum value: EVENT_ERROR_MEDIA_CAPTURE_SCREEN_FAILED = 1005;
|
76
|
+
*/
|
77
|
+
EVENT_ERROR_MEDIA_CAPTURE_SCREEN_FAILED = 1005,
|
78
|
+
/**
|
79
|
+
* An error occurred during SDP negotiation
|
80
|
+
*
|
81
|
+
* @generated from protobuf enum value: EVENT_ERROR_SDP_NEGOTIATION_FAILED = 1006;
|
82
|
+
*/
|
83
|
+
EVENT_ERROR_SDP_NEGOTIATION_FAILED = 1006,
|
84
|
+
/**
|
85
|
+
* A general or uncategorized error
|
86
|
+
*
|
87
|
+
* @generated from protobuf enum value: EVENT_ERROR_OTHER = 1099;
|
88
|
+
*/
|
89
|
+
EVENT_ERROR_OTHER = 1099,
|
90
|
+
/**
|
91
|
+
* --- ICE Candidate Events (Range: 2000 - 2099) ---
|
92
|
+
*
|
93
|
+
* Base for ICE candidate related events
|
94
|
+
*
|
95
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_BASE = 2000;
|
96
|
+
*/
|
97
|
+
EVENT_ICE_CANDIDATE_BASE = 2000,
|
98
|
+
/**
|
99
|
+
* ICE gathering process initiated
|
100
|
+
*
|
101
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_GATHERING_STARTED = 2001;
|
102
|
+
*/
|
103
|
+
EVENT_ICE_CANDIDATE_GATHERING_STARTED = 2001,
|
104
|
+
/**
|
105
|
+
* A reflexive ICE candidate was discovered
|
106
|
+
*
|
107
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_LOCAL_REFLEXIVE_FOUND = 2002;
|
108
|
+
*/
|
109
|
+
EVENT_ICE_CANDIDATE_LOCAL_REFLEXIVE_FOUND = 2002,
|
110
|
+
/**
|
111
|
+
* A host ICE candidate was discovered
|
112
|
+
*
|
113
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_LOCAL_HOST_FOUND = 2003;
|
114
|
+
*/
|
115
|
+
EVENT_ICE_CANDIDATE_LOCAL_HOST_FOUND = 2003,
|
116
|
+
/**
|
117
|
+
* A server-reflexive (STUN) ICE candidate was discovered
|
118
|
+
*
|
119
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_LOCAL_SRFLX_FOUND = 2004;
|
120
|
+
*/
|
121
|
+
EVENT_ICE_CANDIDATE_LOCAL_SRFLX_FOUND = 2004,
|
122
|
+
/**
|
123
|
+
* A peer-reflexive ICE candidate was discovered (less common)
|
124
|
+
*
|
125
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_LOCAL_PRFLX_FOUND = 2005;
|
126
|
+
*/
|
127
|
+
EVENT_ICE_CANDIDATE_LOCAL_PRFLX_FOUND = 2005,
|
128
|
+
/**
|
129
|
+
* An ICE candidate from the remote peer was received
|
130
|
+
*
|
131
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_REMOTE_RECEIVED = 2006;
|
132
|
+
*/
|
133
|
+
EVENT_ICE_CANDIDATE_REMOTE_RECEIVED = 2006,
|
134
|
+
/**
|
135
|
+
* A reflexive ICE candidate was discovered
|
136
|
+
*
|
137
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_REMOTE_REFLEXIVE_FOUND = 2007;
|
138
|
+
*/
|
139
|
+
EVENT_ICE_CANDIDATE_REMOTE_REFLEXIVE_FOUND = 2007,
|
140
|
+
/**
|
141
|
+
* A host ICE candidate was discovered
|
142
|
+
*
|
143
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_REMOTE_HOST_FOUND = 2008;
|
144
|
+
*/
|
145
|
+
EVENT_ICE_CANDIDATE_REMOTE_HOST_FOUND = 2008,
|
146
|
+
/**
|
147
|
+
* A server-reflexive (STUN) ICE candidate was discovered
|
148
|
+
*
|
149
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_REMOTE_SRFLX_FOUND = 2009;
|
150
|
+
*/
|
151
|
+
EVENT_ICE_CANDIDATE_REMOTE_SRFLX_FOUND = 2009,
|
152
|
+
/**
|
153
|
+
* A peer-reflexive ICE candidate was discovered (less common)
|
154
|
+
*
|
155
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_REMOTE_PRFLX_FOUND = 2010;
|
156
|
+
*/
|
157
|
+
EVENT_ICE_CANDIDATE_REMOTE_PRFLX_FOUND = 2010,
|
158
|
+
/**
|
159
|
+
* ICE candidate pair succeeded in establishing a connection
|
160
|
+
*
|
161
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_PAIRING_SUCCESS = 2011;
|
162
|
+
*/
|
163
|
+
EVENT_ICE_CANDIDATE_PAIRING_SUCCESS = 2011,
|
164
|
+
/**
|
165
|
+
* ICE candidate pair failed to establish a connection
|
166
|
+
*
|
167
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_PAIRING_FAILED = 2012;
|
168
|
+
*/
|
169
|
+
EVENT_ICE_CANDIDATE_PAIRING_FAILED = 2012,
|
170
|
+
/**
|
171
|
+
* The ICE connection state has changed (e.g., connecting, connected, failed)
|
172
|
+
*
|
173
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_CONNECTION_STATE_CHANGED = 2013;
|
174
|
+
*/
|
175
|
+
EVENT_ICE_CANDIDATE_CONNECTION_STATE_CHANGED = 2013,
|
176
|
+
/**
|
177
|
+
* ICE gathering process finished
|
178
|
+
*
|
179
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_GATHERING_COMPLETED = 2014;
|
180
|
+
*/
|
181
|
+
EVENT_ICE_CANDIDATE_GATHERING_COMPLETED = 2014,
|
182
|
+
/**
|
183
|
+
* The best ICE candidate pair was selected for communication
|
184
|
+
*
|
185
|
+
* @generated from protobuf enum value: EVENT_ICE_CANDIDATE_SELECTED_PAIR = 2015;
|
186
|
+
*/
|
187
|
+
EVENT_ICE_CANDIDATE_SELECTED_PAIR = 2015,
|
188
|
+
/**
|
189
|
+
* --- Signaling Events (Range: 3000 - 3099) ---
|
190
|
+
*
|
191
|
+
* Base for signaling related events
|
192
|
+
*
|
193
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_BASE = 3000;
|
194
|
+
*/
|
195
|
+
EVENT_SIGNALING_BASE = 3000,
|
196
|
+
/**
|
197
|
+
* A signaling offer (e.g., SDP) was created locally
|
198
|
+
*
|
199
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_OFFER_CREATED = 3001;
|
200
|
+
*/
|
201
|
+
EVENT_SIGNALING_OFFER_CREATED = 3001,
|
202
|
+
/**
|
203
|
+
* A signaling offer was sent to the remote peer
|
204
|
+
*
|
205
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_OFFER_SENT = 3002;
|
206
|
+
*/
|
207
|
+
EVENT_SIGNALING_OFFER_SENT = 3002,
|
208
|
+
/**
|
209
|
+
* A signaling offer was received from the remote peer
|
210
|
+
*
|
211
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_OFFER_RECEIVED = 3003;
|
212
|
+
*/
|
213
|
+
EVENT_SIGNALING_OFFER_RECEIVED = 3003,
|
214
|
+
/**
|
215
|
+
* A signaling answer (e.g., SDP) was created locally
|
216
|
+
*
|
217
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_ANSWER_CREATED = 3004;
|
218
|
+
*/
|
219
|
+
EVENT_SIGNALING_ANSWER_CREATED = 3004,
|
220
|
+
/**
|
221
|
+
* A signaling answer was sent to the remote peer
|
222
|
+
*
|
223
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_ANSWER_SENT = 3005;
|
224
|
+
*/
|
225
|
+
EVENT_SIGNALING_ANSWER_SENT = 3005,
|
226
|
+
/**
|
227
|
+
* A signaling answer was received from the remote peer
|
228
|
+
*
|
229
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_ANSWER_RECEIVED = 3006;
|
230
|
+
*/
|
231
|
+
EVENT_SIGNALING_ANSWER_RECEIVED = 3006,
|
232
|
+
/**
|
233
|
+
* A signal indicating that negotiation is required
|
234
|
+
*
|
235
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_NEGOTIATION_NEEDED = 3007;
|
236
|
+
*/
|
237
|
+
EVENT_SIGNALING_NEGOTIATION_NEEDED = 3007,
|
238
|
+
/**
|
239
|
+
* A request to restart ICE negotiation was initiated
|
240
|
+
*
|
241
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_ICE_RESTART_TRIGGERED = 3008;
|
242
|
+
*/
|
243
|
+
EVENT_SIGNALING_ICE_RESTART_TRIGGERED = 3008,
|
244
|
+
/**
|
245
|
+
* Signaling connection established
|
246
|
+
*
|
247
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_CONNECTED = 3009;
|
248
|
+
*/
|
249
|
+
EVENT_SIGNALING_CONNECTED = 3009,
|
250
|
+
/**
|
251
|
+
* Signaling connection lost
|
252
|
+
*
|
253
|
+
* @generated from protobuf enum value: EVENT_SIGNALING_DISCONNECTED = 3010;
|
254
|
+
*/
|
255
|
+
EVENT_SIGNALING_DISCONNECTED = 3010,
|
256
|
+
/**
|
257
|
+
* --- User Interaction Events (Range: 4000 - 4099) ---
|
258
|
+
*
|
259
|
+
* Base for user interaction events
|
260
|
+
*
|
261
|
+
* @generated from protobuf enum value: EVENT_USER_INTERACTION_BASE = 4000;
|
262
|
+
*/
|
263
|
+
EVENT_USER_INTERACTION_BASE = 4000,
|
264
|
+
/**
|
265
|
+
* A user joined the communication session
|
266
|
+
*
|
267
|
+
* @generated from protobuf enum value: EVENT_USER_JOINED_SESSION = 4001;
|
268
|
+
*/
|
269
|
+
EVENT_USER_JOINED_SESSION = 4001,
|
270
|
+
/**
|
271
|
+
* A user left the communication session
|
272
|
+
*
|
273
|
+
* @generated from protobuf enum value: EVENT_USER_LEFT_SESSION = 4002;
|
274
|
+
*/
|
275
|
+
EVENT_USER_LEFT_SESSION = 4002,
|
276
|
+
/**
|
277
|
+
* A user muted their audio
|
278
|
+
*
|
279
|
+
* @generated from protobuf enum value: EVENT_USER_MUTED_AUDIO = 4003;
|
280
|
+
*/
|
281
|
+
EVENT_USER_MUTED_AUDIO = 4003,
|
282
|
+
/**
|
283
|
+
* A user unmuted their audio
|
284
|
+
*
|
285
|
+
* @generated from protobuf enum value: EVENT_USER_UNMUTED_AUDIO = 4004;
|
286
|
+
*/
|
287
|
+
EVENT_USER_UNMUTED_AUDIO = 4004,
|
288
|
+
/**
|
289
|
+
* A user muted their video
|
290
|
+
*
|
291
|
+
* @generated from protobuf enum value: EVENT_USER_MUTED_VIDEO = 4005;
|
292
|
+
*/
|
293
|
+
EVENT_USER_MUTED_VIDEO = 4005,
|
294
|
+
/**
|
295
|
+
* A user unmuted their video
|
296
|
+
*
|
297
|
+
* @generated from protobuf enum value: EVENT_USER_UNMUTED_VIDEO = 4006;
|
298
|
+
*/
|
299
|
+
EVENT_USER_UNMUTED_VIDEO = 4006,
|
300
|
+
/**
|
301
|
+
* A user started sharing their screen
|
302
|
+
*
|
303
|
+
* @generated from protobuf enum value: EVENT_USER_SCREEN_SHARE_STARTED = 4007;
|
304
|
+
*/
|
305
|
+
EVENT_USER_SCREEN_SHARE_STARTED = 4007,
|
306
|
+
/**
|
307
|
+
* A user stopped sharing their screen
|
308
|
+
*
|
309
|
+
* @generated from protobuf enum value: EVENT_USER_SCREEN_SHARE_STOPPED = 4008;
|
310
|
+
*/
|
311
|
+
EVENT_USER_SCREEN_SHARE_STOPPED = 4008,
|
312
|
+
/**
|
313
|
+
* A user sent a text message
|
314
|
+
*
|
315
|
+
* @generated from protobuf enum value: EVENT_USER_INPUT_TEXT_MESSAGE_SENT = 4009;
|
316
|
+
*/
|
317
|
+
EVENT_USER_INPUT_TEXT_MESSAGE_SENT = 4009,
|
318
|
+
/**
|
319
|
+
* A user received a text message
|
320
|
+
*
|
321
|
+
* @generated from protobuf enum value: EVENT_USER_INPUT_TEXT_MESSAGE_RECEIVED = 4010;
|
322
|
+
*/
|
323
|
+
EVENT_USER_INPUT_TEXT_MESSAGE_RECEIVED = 4010,
|
324
|
+
/**
|
325
|
+
* --- Media Handling Events (Range: 5000 - 5099) ---
|
326
|
+
*
|
327
|
+
* Base for media handling events
|
328
|
+
*
|
329
|
+
* @generated from protobuf enum value: EVENT_MEDIA_HANDLING_BASE = 5000;
|
330
|
+
*/
|
331
|
+
EVENT_MEDIA_HANDLING_BASE = 5000,
|
332
|
+
/**
|
333
|
+
* A local audio track was added
|
334
|
+
*
|
335
|
+
* @generated from protobuf enum value: EVENT_MEDIA_LOCAL_AUDIO_TRACK_ADDED = 5001;
|
336
|
+
*/
|
337
|
+
EVENT_MEDIA_LOCAL_AUDIO_TRACK_ADDED = 5001,
|
338
|
+
/**
|
339
|
+
* A local video track was added
|
340
|
+
*
|
341
|
+
* @generated from protobuf enum value: EVENT_MEDIA_LOCAL_VIDEO_TRACK_ADDED = 5002;
|
342
|
+
*/
|
343
|
+
EVENT_MEDIA_LOCAL_VIDEO_TRACK_ADDED = 5002,
|
344
|
+
/**
|
345
|
+
* A remote audio track was added
|
346
|
+
*
|
347
|
+
* @generated from protobuf enum value: EVENT_MEDIA_REMOTE_AUDIO_TRACK_ADDED = 5003;
|
348
|
+
*/
|
349
|
+
EVENT_MEDIA_REMOTE_AUDIO_TRACK_ADDED = 5003,
|
350
|
+
/**
|
351
|
+
* A remote video track was added
|
352
|
+
*
|
353
|
+
* @generated from protobuf enum value: EVENT_MEDIA_REMOTE_VIDEO_TRACK_ADDED = 5004;
|
354
|
+
*/
|
355
|
+
EVENT_MEDIA_REMOTE_VIDEO_TRACK_ADDED = 5004,
|
356
|
+
/**
|
357
|
+
* A local audio track was removed
|
358
|
+
*
|
359
|
+
* @generated from protobuf enum value: EVENT_MEDIA_LOCAL_AUDIO_TRACK_REMOVED = 5005;
|
360
|
+
*/
|
361
|
+
EVENT_MEDIA_LOCAL_AUDIO_TRACK_REMOVED = 5005,
|
362
|
+
/**
|
363
|
+
* A local video track was removed
|
364
|
+
*
|
365
|
+
* @generated from protobuf enum value: EVENT_MEDIA_LOCAL_VIDEO_TRACK_REMOVED = 5006;
|
366
|
+
*/
|
367
|
+
EVENT_MEDIA_LOCAL_VIDEO_TRACK_REMOVED = 5006,
|
368
|
+
/**
|
369
|
+
* A remote audio track was removed
|
370
|
+
*
|
371
|
+
* @generated from protobuf enum value: EVENT_MEDIA_REMOTE_AUDIO_TRACK_REMOVED = 5007;
|
372
|
+
*/
|
373
|
+
EVENT_MEDIA_REMOTE_AUDIO_TRACK_REMOVED = 5007,
|
374
|
+
/**
|
375
|
+
* A remote video track was removed
|
376
|
+
*
|
377
|
+
* @generated from protobuf enum value: EVENT_MEDIA_REMOTE_VIDEO_TRACK_REMOVED = 5008;
|
378
|
+
*/
|
379
|
+
EVENT_MEDIA_REMOTE_VIDEO_TRACK_REMOVED = 5008,
|
380
|
+
/**
|
381
|
+
* Audio playback started
|
382
|
+
*
|
383
|
+
* @generated from protobuf enum value: EVENT_MEDIA_AUDIO_PLAYBACK_STARTED = 5009;
|
384
|
+
*/
|
385
|
+
EVENT_MEDIA_AUDIO_PLAYBACK_STARTED = 5009,
|
386
|
+
/**
|
387
|
+
* Video playback started
|
388
|
+
*
|
389
|
+
* @generated from protobuf enum value: EVENT_MEDIA_VIDEO_PLAYBACK_STARTED = 5010;
|
390
|
+
*/
|
391
|
+
EVENT_MEDIA_VIDEO_PLAYBACK_STARTED = 5010,
|
392
|
+
/**
|
393
|
+
* Audio playback stopped
|
394
|
+
*
|
395
|
+
* @generated from protobuf enum value: EVENT_MEDIA_AUDIO_PLAYBACK_STOPPED = 5011;
|
396
|
+
*/
|
397
|
+
EVENT_MEDIA_AUDIO_PLAYBACK_STOPPED = 5011,
|
398
|
+
/**
|
399
|
+
* Video playback stopped
|
400
|
+
*
|
401
|
+
* @generated from protobuf enum value: EVENT_MEDIA_VIDEO_PLAYBACK_STOPPED = 5012;
|
402
|
+
*/
|
403
|
+
EVENT_MEDIA_VIDEO_PLAYBACK_STOPPED = 5012,
|
404
|
+
/**
|
405
|
+
* --- ICE Connection Type (Range: 6000 - 6099) ---
|
406
|
+
*
|
407
|
+
* @generated from protobuf enum value: CONNECTION_TYPE_UNKNOWN = 6000;
|
408
|
+
*/
|
409
|
+
CONNECTION_TYPE_UNKNOWN = 6000,
|
410
|
+
/**
|
411
|
+
* @generated from protobuf enum value: CONNECTION_TYPE_DIRECT = 6001;
|
412
|
+
*/
|
413
|
+
CONNECTION_TYPE_DIRECT = 6001,
|
414
|
+
/**
|
415
|
+
* @generated from protobuf enum value: CONNECTION_TYPE_RELAY = 6002;
|
416
|
+
*/
|
417
|
+
CONNECTION_TYPE_RELAY = 6002,
|
418
|
+
/**
|
419
|
+
* Server Reflexive
|
420
|
+
*
|
421
|
+
* @generated from protobuf enum value: CONNECTION_TYPE_SRFLX = 6003;
|
422
|
+
*/
|
423
|
+
CONNECTION_TYPE_SRFLX = 6003,
|
424
|
+
/**
|
425
|
+
* Peer Reflexive
|
426
|
+
*
|
427
|
+
* @generated from protobuf enum value: CONNECTION_TYPE_PRFLX = 6004;
|
428
|
+
*/
|
429
|
+
CONNECTION_TYPE_PRFLX = 6004
|
430
|
+
}
|
29
431
|
declare class PrepareReq$Type extends MessageType<PrepareReq> {
|
30
432
|
constructor();
|
31
433
|
}
|
@@ -450,6 +852,111 @@ interface AckRange {
|
|
450
852
|
* @generated MessageType for protobuf message pulsebeam.v1.AckRange
|
451
853
|
*/
|
452
854
|
declare const AckRange: AckRange$Type;
|
855
|
+
declare class AnalyticsReportReq$Type extends MessageType<AnalyticsReportReq> {
|
856
|
+
constructor();
|
857
|
+
}
|
858
|
+
/**
|
859
|
+
* @generated from protobuf message pulsebeam.v1.AnalyticsReportReq
|
860
|
+
*/
|
861
|
+
interface AnalyticsReportReq {
|
862
|
+
/**
|
863
|
+
* @generated from protobuf field: repeated pulsebeam.v1.AnalyticsEvent events = 1;
|
864
|
+
*/
|
865
|
+
events: AnalyticsEvent[];
|
866
|
+
}
|
867
|
+
/**
|
868
|
+
* @generated MessageType for protobuf message pulsebeam.v1.AnalyticsReportReq
|
869
|
+
*/
|
870
|
+
declare const AnalyticsReportReq: AnalyticsReportReq$Type;
|
871
|
+
declare class AnalyticsEvent$Type extends MessageType<AnalyticsEvent> {
|
872
|
+
constructor();
|
873
|
+
}
|
874
|
+
/**
|
875
|
+
* @generated from protobuf message pulsebeam.v1.AnalyticsEvent
|
876
|
+
*/
|
877
|
+
interface AnalyticsEvent {
|
878
|
+
/**
|
879
|
+
* @generated from protobuf field: pulsebeam.v1.AnalyticsTags tags = 1;
|
880
|
+
*/
|
881
|
+
tags?: AnalyticsTags;
|
882
|
+
/**
|
883
|
+
* @generated from protobuf field: repeated pulsebeam.v1.AnalyticsMetrics metrics = 2;
|
884
|
+
*/
|
885
|
+
metrics: AnalyticsMetrics[];
|
886
|
+
}
|
887
|
+
/**
|
888
|
+
* @generated MessageType for protobuf message pulsebeam.v1.AnalyticsEvent
|
889
|
+
*/
|
890
|
+
declare const AnalyticsEvent: AnalyticsEvent$Type;
|
891
|
+
declare class AnalyticsTags$Type extends MessageType<AnalyticsTags> {
|
892
|
+
constructor();
|
893
|
+
}
|
894
|
+
/**
|
895
|
+
* @generated from protobuf message pulsebeam.v1.AnalyticsTags
|
896
|
+
*/
|
897
|
+
interface AnalyticsTags {
|
898
|
+
/**
|
899
|
+
* @generated from protobuf field: pulsebeam.v1.PeerInfo src = 1;
|
900
|
+
*/
|
901
|
+
src?: PeerInfo;
|
902
|
+
/**
|
903
|
+
* @generated from protobuf field: pulsebeam.v1.PeerInfo dst = 2;
|
904
|
+
*/
|
905
|
+
dst?: PeerInfo;
|
906
|
+
}
|
907
|
+
/**
|
908
|
+
* @generated MessageType for protobuf message pulsebeam.v1.AnalyticsTags
|
909
|
+
*/
|
910
|
+
declare const AnalyticsTags: AnalyticsTags$Type;
|
911
|
+
declare class AnalyticsMetrics$Type extends MessageType<AnalyticsMetrics> {
|
912
|
+
constructor();
|
913
|
+
}
|
914
|
+
/**
|
915
|
+
* "scaled" = trunc(X * 10^3)
|
916
|
+
*
|
917
|
+
* @generated from protobuf message pulsebeam.v1.AnalyticsMetrics
|
918
|
+
*/
|
919
|
+
interface AnalyticsMetrics {
|
920
|
+
/**
|
921
|
+
* @generated from protobuf field: sint64 timestamp_us = 1;
|
922
|
+
*/
|
923
|
+
timestampUs: bigint;
|
924
|
+
/**
|
925
|
+
* @generated from protobuf field: optional pulsebeam.v1.EventType event_type = 2;
|
926
|
+
*/
|
927
|
+
eventType?: EventType;
|
928
|
+
/**
|
929
|
+
* The overall derived quality score:
|
930
|
+
* - 80-100: excellent
|
931
|
+
* - 60-79: good
|
932
|
+
* - 40-59: fair
|
933
|
+
* - 20-39: poor
|
934
|
+
* - 0-19: bad
|
935
|
+
*
|
936
|
+
* @generated from protobuf field: optional sint64 quality_score = 3;
|
937
|
+
*/
|
938
|
+
qualityScore?: bigint;
|
939
|
+
/**
|
940
|
+
* @generated from protobuf field: optional sint64 rtt_us = 4;
|
941
|
+
*/
|
942
|
+
rttUs?: bigint;
|
943
|
+
}
|
944
|
+
/**
|
945
|
+
* @generated MessageType for protobuf message pulsebeam.v1.AnalyticsMetrics
|
946
|
+
*/
|
947
|
+
declare const AnalyticsMetrics: AnalyticsMetrics$Type;
|
948
|
+
declare class AnalyticsReportResp$Type extends MessageType<AnalyticsReportResp> {
|
949
|
+
constructor();
|
950
|
+
}
|
951
|
+
/**
|
952
|
+
* @generated from protobuf message pulsebeam.v1.AnalyticsReportResp
|
953
|
+
*/
|
954
|
+
interface AnalyticsReportResp {
|
955
|
+
}
|
956
|
+
/**
|
957
|
+
* @generated MessageType for protobuf message pulsebeam.v1.AnalyticsReportResp
|
958
|
+
*/
|
959
|
+
declare const AnalyticsReportResp: AnalyticsReportResp$Type;
|
453
960
|
|
454
961
|
/**
|
455
962
|
* @generated from protobuf service pulsebeam.v1.Signaling
|
@@ -467,6 +974,10 @@ interface ISignalingClient {
|
|
467
974
|
* @generated from protobuf rpc: Recv(pulsebeam.v1.RecvReq) returns (stream pulsebeam.v1.RecvResp);
|
468
975
|
*/
|
469
976
|
recv(input: RecvReq, options?: RpcOptions): ServerStreamingCall<RecvReq, RecvResp>;
|
977
|
+
/**
|
978
|
+
* @generated from protobuf rpc: AnalyticsReport(pulsebeam.v1.AnalyticsReportReq) returns (pulsebeam.v1.AnalyticsReportResp);
|
979
|
+
*/
|
980
|
+
analyticsReport(input: AnalyticsReportReq, options?: RpcOptions): UnaryCall<AnalyticsReportReq, AnalyticsReportResp>;
|
470
981
|
}
|
471
982
|
|
472
983
|
type LogObj = Record<string, unknown>;
|
@@ -490,6 +1001,184 @@ declare class Logger {
|
|
490
1001
|
sub(name: string, obj?: LogObj): Logger;
|
491
1002
|
}
|
492
1003
|
|
1004
|
+
/**
|
1005
|
+
* asleep is an async version of setTimeout with abortable signal.
|
1006
|
+
* the function will resolve to false when aborted, meaning the delay will
|
1007
|
+
* be less than the expected.
|
1008
|
+
*/
|
1009
|
+
declare function asleep(ms: number, signal?: AbortSignal): Promise<boolean>;
|
1010
|
+
|
1011
|
+
declare const defaultAsleep: typeof asleep;
|
1012
|
+
declare const defaultRandUint32: (reserved: number) => number;
|
1013
|
+
declare const defaultIsRecoverable: (_err: unknown) => boolean;
|
1014
|
+
declare class Queue {
|
1015
|
+
private map;
|
1016
|
+
private emitted;
|
1017
|
+
private unreliable;
|
1018
|
+
private processing;
|
1019
|
+
private readonly logger;
|
1020
|
+
onmsg: (_: Message) => Promise<void>;
|
1021
|
+
constructor(logger: Logger);
|
1022
|
+
enqueue(msg: Message): void;
|
1023
|
+
processNext(): Promise<void>;
|
1024
|
+
}
|
1025
|
+
interface TransportOptions {
|
1026
|
+
readonly enableDiscovery: boolean;
|
1027
|
+
readonly groupId: string;
|
1028
|
+
readonly peerId: string;
|
1029
|
+
readonly logger: Logger;
|
1030
|
+
readonly asleep?: typeof defaultAsleep;
|
1031
|
+
readonly randUint32?: typeof defaultRandUint32;
|
1032
|
+
readonly isRecoverable?: typeof defaultIsRecoverable;
|
1033
|
+
}
|
1034
|
+
declare class Transport {
|
1035
|
+
private readonly client;
|
1036
|
+
readonly opts: TransportOptions;
|
1037
|
+
readonly info: PeerInfo;
|
1038
|
+
private streams;
|
1039
|
+
private abort;
|
1040
|
+
readonly logger: Logger;
|
1041
|
+
readonly asleep: typeof defaultAsleep;
|
1042
|
+
private readonly randUint32;
|
1043
|
+
private readonly isRecoverable;
|
1044
|
+
onstream: (_: Stream) => void;
|
1045
|
+
onclosed: (_reason: string) => void;
|
1046
|
+
constructor(client: ISignalingClient, opts: TransportOptions);
|
1047
|
+
listen(): Promise<void>;
|
1048
|
+
close(reason?: string): Promise<void>;
|
1049
|
+
private handleControlMessage;
|
1050
|
+
private handleMessages;
|
1051
|
+
removeStream(stream: Stream): void;
|
1052
|
+
connect(otherGroupId: string, otherPeerId: string, signal: AbortSignal): Promise<void>;
|
1053
|
+
send(signal: AbortSignal, msg: Message): Promise<void>;
|
1054
|
+
reportAnalytics(event: AnalyticsReportReq): Promise<void>;
|
1055
|
+
}
|
1056
|
+
declare class Stream {
|
1057
|
+
private readonly transport;
|
1058
|
+
readonly info: PeerInfo;
|
1059
|
+
readonly other: PeerInfo;
|
1060
|
+
readonly logger: Logger;
|
1061
|
+
private abort;
|
1062
|
+
recvq: Queue;
|
1063
|
+
private lastSeqnum;
|
1064
|
+
onsignal: (_: Signal) => Promise<void>;
|
1065
|
+
onclosed: (_reason: string) => void;
|
1066
|
+
constructor(transport: Transport, info: PeerInfo, other: PeerInfo, logger: Logger);
|
1067
|
+
createSignal(...signals: AbortSignal[]): AbortSignal;
|
1068
|
+
enqueue(msg: Message): void;
|
1069
|
+
send(payload: MessagePayload, reliable: boolean, signal?: AbortSignal): Promise<void>;
|
1070
|
+
private handleMessage;
|
1071
|
+
close(reason?: string, skipBye?: boolean): Promise<void>;
|
1072
|
+
}
|
1073
|
+
|
1074
|
+
/**
|
1075
|
+
* The Session class is a wrapper around RTCPeerConnection designed to manage
|
1076
|
+
* WebRTC connections, signaling, and ICE candidates. It handles negotiation,
|
1077
|
+
* ICE restarts, signaling messages, and connection lifecycle events.
|
1078
|
+
*/
|
1079
|
+
declare class Session {
|
1080
|
+
private readonly stream;
|
1081
|
+
private pc;
|
1082
|
+
private makingOffer;
|
1083
|
+
private impolite;
|
1084
|
+
private pendingCandidates;
|
1085
|
+
private iceBatcher;
|
1086
|
+
private readonly logger;
|
1087
|
+
private abort;
|
1088
|
+
private generationCounter;
|
1089
|
+
private iceRestartCount;
|
1090
|
+
private lastIceRestart;
|
1091
|
+
private timers;
|
1092
|
+
private _closeReason?;
|
1093
|
+
private _connectionState;
|
1094
|
+
private internalDataChannel;
|
1095
|
+
private _metrics;
|
1096
|
+
/**
|
1097
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ondatachannel}
|
1098
|
+
*/
|
1099
|
+
ondatachannel: RTCPeerConnection["ondatachannel"];
|
1100
|
+
/**
|
1101
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/onconnectionstatechange}
|
1102
|
+
*/
|
1103
|
+
onconnectionstatechange: RTCPeerConnection["onconnectionstatechange"];
|
1104
|
+
/**
|
1105
|
+
* Callback invoked when a new media track is added to the connection.
|
1106
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/ontrack}
|
1107
|
+
*/
|
1108
|
+
ontrack: RTCPeerConnection["ontrack"];
|
1109
|
+
/**
|
1110
|
+
* Adds a media track to the connection.
|
1111
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTrack}
|
1112
|
+
* @returns {RTCRtpSender} the newly created track
|
1113
|
+
*/
|
1114
|
+
addTrack(track: MediaStreamTrack, ...streams: MediaStream[]): RTCRtpSender;
|
1115
|
+
/**
|
1116
|
+
* The getSenders() method of the RTCPeerConnection interface returns an array of RTCRtpSender objects,
|
1117
|
+
* each of which represents the RTP sender responsible for transmitting one track's data.
|
1118
|
+
* A sender object provides methods and properties for examining and controlling the encoding and transmission of the track's data.
|
1119
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getSenders}
|
1120
|
+
* @returns {RTCRtpSender[]}
|
1121
|
+
*/
|
1122
|
+
getSenders(): RTCRtpSender[];
|
1123
|
+
/**
|
1124
|
+
* Removes a media track from the connection.
|
1125
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/removeTrack}
|
1126
|
+
* @returns {void}
|
1127
|
+
*/
|
1128
|
+
removeTrack(sender: RTCRtpSender): void;
|
1129
|
+
/**
|
1130
|
+
* Creates a data channel (useful for sending arbitrary data) through the connection.
|
1131
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/createDataChannel}
|
1132
|
+
*/
|
1133
|
+
createDataChannel(...args: Parameters<RTCPeerConnection["createDataChannel"]>): RTCDataChannel;
|
1134
|
+
getStats(...args: Parameters<RTCPeerConnection["getStats"]>): Promise<RTCStatsReport>;
|
1135
|
+
/**
|
1136
|
+
* Returns the current connection state of the underlying RTCPeerConnection
|
1137
|
+
* See {@link https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionState}
|
1138
|
+
* @returns {RTCPeerConnectionState}
|
1139
|
+
*/
|
1140
|
+
get connectionState(): RTCPeerConnectionState;
|
1141
|
+
/**
|
1142
|
+
* If reason is available, returns the reason for the session being closed.
|
1143
|
+
* @returns {string | undefined}
|
1144
|
+
*/
|
1145
|
+
get closeReason(): string | undefined;
|
1146
|
+
/**
|
1147
|
+
* Retrieves the identifier of the other peer.
|
1148
|
+
* @returns {string}
|
1149
|
+
*/
|
1150
|
+
get other(): PeerInfo;
|
1151
|
+
/**
|
1152
|
+
* Closes the session, aborts pending tasks, and cleans up resources.
|
1153
|
+
* Publishes events and logs.
|
1154
|
+
* @param {string} [reason] - (optional) Your reason for closing the session.
|
1155
|
+
* @returns {void}
|
1156
|
+
* @example mysession.close("Normal closure");
|
1157
|
+
*/
|
1158
|
+
close(reason?: string): void;
|
1159
|
+
/**
|
1160
|
+
* Creates a Session with the provided stream and
|
1161
|
+
* configs. Sets up event handlers, signaling, and ICE candidate
|
1162
|
+
* management.
|
1163
|
+
* See {@link Session} For class responsibilities
|
1164
|
+
* @param stream Represents the transport stream for signaling messages.
|
1165
|
+
* @param config Configuration object for the RTCPeerConnection.
|
1166
|
+
*/
|
1167
|
+
constructor(stream: Stream, config: RTCConfiguration);
|
1168
|
+
private recordEvent;
|
1169
|
+
collectMetrics(): Promise<AnalyticsEvent>;
|
1170
|
+
private onnegotiationneeded;
|
1171
|
+
private sendLocalIceCandidates;
|
1172
|
+
/** internal @private */
|
1173
|
+
private setConnectionState;
|
1174
|
+
private setLocalDescription;
|
1175
|
+
private triggerIceRestart;
|
1176
|
+
private sendSignal;
|
1177
|
+
private handleSignal;
|
1178
|
+
private addCandidates;
|
1179
|
+
private checkPendingCandidates;
|
1180
|
+
}
|
1181
|
+
|
493
1182
|
/**
|
494
1183
|
* A high-level API for managing the peer-to-peer WebRTC connection. Provides
|
495
1184
|
* access to lower-level {@link RTCPeerConnection} functionality. Including
|
@@ -586,6 +1275,11 @@ interface PeerOptionsFull {
|
|
586
1275
|
* @type {string} token
|
587
1276
|
*/
|
588
1277
|
token: string;
|
1278
|
+
/**
|
1279
|
+
* By default, client analytics is enabled. To opt out, set this field to true.
|
1280
|
+
* @type {boolean} disableAnalytics
|
1281
|
+
*/
|
1282
|
+
disableAnalytics?: boolean;
|
589
1283
|
/**
|
590
1284
|
* (Optional) Base URL for API calls. Defaults to using our servers: "https://cloud.pulsebeam.dev/twirp".
|
591
1285
|
* @type {string | undefined} [baseUrl]
|
@@ -625,9 +1319,10 @@ type PeerState = "new" | "closed";
|
|
625
1319
|
* Peer is a mediator for signaling, connecting, and managing sessions.
|
626
1320
|
*/
|
627
1321
|
declare class Peer {
|
1322
|
+
private readonly opts;
|
628
1323
|
private transport;
|
629
1324
|
private readonly logger;
|
630
|
-
private
|
1325
|
+
private _sessions;
|
631
1326
|
private _state;
|
632
1327
|
/**
|
633
1328
|
* Callback invoked when a new session is established.
|
@@ -650,6 +1345,7 @@ declare class Peer {
|
|
650
1345
|
* @param isRecoverable Function to determine if an error is recoverable.
|
651
1346
|
*/
|
652
1347
|
constructor(logger: Logger, client: ISignalingClient, opts: PeerOptionsFull, isRecoverable: (_err: unknown) => boolean);
|
1348
|
+
get sessions(): Session[];
|
653
1349
|
/**
|
654
1350
|
* Starts the peer, making it ready to establish connections.
|
655
1351
|
* Peers must be started before a connection can occur.
|
@@ -658,6 +1354,7 @@ declare class Peer {
|
|
658
1354
|
* @throws {Error} When the peer was previously closed.
|
659
1355
|
*/
|
660
1356
|
start(): void;
|
1357
|
+
analyticsLoop(): Promise<void>;
|
661
1358
|
/**
|
662
1359
|
* Closes the peer. Releases associated resources.
|
663
1360
|
* Signals to the AbortController passed to connect if connect was called.
|
@@ -699,4 +1396,33 @@ declare class Peer {
|
|
699
1396
|
*/
|
700
1397
|
declare function createPeer(opts: PeerOptions): Promise<Peer>;
|
701
1398
|
|
702
|
-
|
1399
|
+
type Value = string | number | undefined;
|
1400
|
+
type Key = string;
|
1401
|
+
type KVStore = Record<Key, Value>;
|
1402
|
+
interface RemotePeer {
|
1403
|
+
info: PeerInfo;
|
1404
|
+
streams: MediaStream[];
|
1405
|
+
state: RTCPeerConnectionState;
|
1406
|
+
}
|
1407
|
+
declare class PeerStore {
|
1408
|
+
readonly peer: Peer;
|
1409
|
+
static readonly KV_NAMESPACE = "__crdt_kv";
|
1410
|
+
readonly $kv: PreinitializedMapStore<KVStore> & object;
|
1411
|
+
readonly $streams: PreinitializedMapStore<Record<string, MediaStream | undefined>> & object;
|
1412
|
+
readonly $remotePeers: ReadableAtom<Record<string, RemotePeer>>;
|
1413
|
+
readonly $state: ReadableAtom<PeerState>;
|
1414
|
+
private readonly $_remotePeers;
|
1415
|
+
private readonly $_state;
|
1416
|
+
private readonly crdtStore;
|
1417
|
+
private replicaId;
|
1418
|
+
private sendChannels;
|
1419
|
+
constructor(peer: Peer);
|
1420
|
+
close(): void;
|
1421
|
+
mute(disabled: boolean): void;
|
1422
|
+
private set;
|
1423
|
+
private notifyPeer;
|
1424
|
+
private notifyPeers;
|
1425
|
+
private receiveUpdate;
|
1426
|
+
}
|
1427
|
+
|
1428
|
+
export { type ISession, type KVStore, type Key, Peer, PeerInfo, type PeerOptions, type PeerOptionsFull, type PeerState, PeerStore, type RemotePeer, type Value, createPeer };
|