@voltkit-rtc/client 0.6.0 → 0.7.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.
Files changed (66) hide show
  1. package/CHANGELOG.md +75 -1
  2. package/README.md +222 -11
  3. package/dist/cjs/chat.d.ts +0 -9
  4. package/dist/cjs/chat.d.ts.map +1 -1
  5. package/dist/cjs/chat.js +16 -14
  6. package/dist/cjs/chat.js.map +1 -1
  7. package/dist/cjs/errors.d.ts +571 -0
  8. package/dist/cjs/errors.d.ts.map +1 -0
  9. package/dist/cjs/errors.js +155 -0
  10. package/dist/cjs/errors.js.map +1 -0
  11. package/dist/cjs/index.d.ts +298 -16
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +663 -124
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/media-permissions.d.ts +101 -0
  16. package/dist/cjs/media-permissions.d.ts.map +1 -0
  17. package/dist/cjs/media-permissions.js +166 -0
  18. package/dist/cjs/media-permissions.js.map +1 -0
  19. package/dist/cjs/network.d.ts +80 -0
  20. package/dist/cjs/network.d.ts.map +1 -0
  21. package/dist/cjs/network.js +190 -0
  22. package/dist/cjs/network.js.map +1 -0
  23. package/dist/cjs/stats.d.ts +16 -2
  24. package/dist/cjs/stats.d.ts.map +1 -1
  25. package/dist/cjs/stats.js +53 -5
  26. package/dist/cjs/stats.js.map +1 -1
  27. package/dist/cjs/token.d.ts +17 -0
  28. package/dist/cjs/token.d.ts.map +1 -0
  29. package/dist/cjs/token.js +36 -0
  30. package/dist/cjs/token.js.map +1 -0
  31. package/dist/esm/chat.d.ts +0 -9
  32. package/dist/esm/chat.d.ts.map +1 -1
  33. package/dist/esm/chat.js +16 -14
  34. package/dist/esm/chat.js.map +1 -1
  35. package/dist/esm/errors.d.ts +571 -0
  36. package/dist/esm/errors.d.ts.map +1 -0
  37. package/dist/esm/errors.js +149 -0
  38. package/dist/esm/errors.js.map +1 -0
  39. package/dist/esm/index.d.ts +298 -16
  40. package/dist/esm/index.d.ts.map +1 -1
  41. package/dist/esm/index.js +642 -115
  42. package/dist/esm/index.js.map +1 -1
  43. package/dist/esm/media-permissions.d.ts +101 -0
  44. package/dist/esm/media-permissions.d.ts.map +1 -0
  45. package/dist/esm/media-permissions.js +160 -0
  46. package/dist/esm/media-permissions.js.map +1 -0
  47. package/dist/esm/network.d.ts +80 -0
  48. package/dist/esm/network.d.ts.map +1 -0
  49. package/dist/esm/network.js +183 -0
  50. package/dist/esm/network.js.map +1 -0
  51. package/dist/esm/stats.d.ts +16 -2
  52. package/dist/esm/stats.d.ts.map +1 -1
  53. package/dist/esm/stats.js +53 -5
  54. package/dist/esm/stats.js.map +1 -1
  55. package/dist/esm/token.d.ts +17 -0
  56. package/dist/esm/token.d.ts.map +1 -0
  57. package/dist/esm/token.js +31 -0
  58. package/dist/esm/token.js.map +1 -0
  59. package/package.json +1 -1
  60. package/src/chat.ts +7 -14
  61. package/src/errors.ts +162 -0
  62. package/src/index.ts +785 -115
  63. package/src/media-permissions.ts +220 -0
  64. package/src/network.ts +212 -0
  65. package/src/stats.ts +51 -6
  66. package/src/token.ts +31 -0
package/dist/esm/chat.js CHANGED
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Chat for the orchestrator's signaling protocol.
3
+ *
4
+ * A channel shares its name with the room of the same name, so there are two
5
+ * ways into one conversation: `StreamClient` carries chat over the socket it
6
+ * already holds for media, and `ChatClient` here opens a socket that carries
7
+ * nothing else -- for an audience that is watching a broadcast over a CDN and
8
+ * has no reason to be on an SFU.
9
+ */
10
+ import { isTerminalError } from './errors.js';
11
+ import { socketUrl } from './token.js';
1
12
  /** An error returned by the server, carrying its machine-readable code. */
2
13
  export class ChatRpcError extends Error {
3
14
  code;
@@ -9,16 +20,6 @@ export class ChatRpcError extends Error {
9
20
  }
10
21
  const RPC_TIMEOUT_MS = 15_000;
11
22
  const MAX_RECONNECT_ATTEMPTS = 8;
12
- /** A token that is wrong will be wrong next time too; retrying only adds noise. */
13
- const TERMINAL_JOIN_ERRORS = new Set([
14
- 'bad-token',
15
- 'no-token',
16
- // The account cannot use the service until it is topped up or restored.
17
- 'quota-exhausted',
18
- 'daily-limit-reached',
19
- 'monthly-limit-reached',
20
- 'tenant-suspended',
21
- ]);
22
23
  const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
23
24
  /**
24
25
  * A chat-only connection. Takes the `wsUrl` and `token` returned by
@@ -90,9 +91,7 @@ export class ChatClient {
90
91
  openSocket() {
91
92
  this.detachSocket();
92
93
  return new Promise((resolve, reject) => {
93
- const url = new URL(this.wsUrl);
94
- url.searchParams.set('token', this.token);
95
- const ws = new WebSocket(url.toString());
94
+ const ws = new WebSocket(socketUrl(this.wsUrl, this.token));
96
95
  this.ws = ws;
97
96
  const onError = () => reject(new Error('websocket failed to open'));
98
97
  ws.addEventListener('open', () => {
@@ -161,7 +160,10 @@ export class ChatClient {
161
160
  }
162
161
  catch (err) {
163
162
  this.emit('error', err);
164
- if (err instanceof ChatRpcError && TERMINAL_JOIN_ERRORS.has(err.code)) {
163
+ // A token that is wrong will be wrong next time too, and an account
164
+ // that ran out stays out until topped up: the registry's terminal
165
+ // codes, shared with StreamClient. Retrying only adds noise.
166
+ if (err instanceof ChatRpcError && isTerminalError(err.code)) {
165
167
  this.closedByUs = true;
166
168
  this.emit('closed', 'gave-up');
167
169
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,571 @@
1
+ /**
2
+ * One error registry for every VoltKit SDK (docs/sdk-contract.json): the codes
3
+ * the controller and the media nodes answer with, passed through unchanged, and
4
+ * the ones the SDKs raise themselves. Switch on `error.code`, never on the
5
+ * message.
6
+ *
7
+ * Kept as a literal here, since the package cannot read the repository's docs
8
+ * at runtime, and checked against the contract by
9
+ * scripts/test/sdk-contract-browser.sh and test/contract.test.mjs. One code per
10
+ * line, so that check can read it.
11
+ */
12
+ /** Who raises a code: the server (controller or media node) or the SDK itself. */
13
+ export type ErrorOrigin = 'server' | 'sdk';
14
+ export interface ErrorInfo {
15
+ origin: ErrorOrigin;
16
+ /** A join (or reconnect) refused with it must not be retried with the same token. */
17
+ terminal: boolean;
18
+ /** Trying the same call again later can succeed. */
19
+ retryable: boolean;
20
+ }
21
+ export declare const ERROR_CODES: {
22
+ readonly 'bad-json': {
23
+ readonly origin: "server";
24
+ readonly terminal: false;
25
+ readonly retryable: false;
26
+ };
27
+ readonly 'bad-params': {
28
+ readonly origin: "server";
29
+ readonly terminal: false;
30
+ readonly retryable: false;
31
+ };
32
+ readonly 'unknown-method': {
33
+ readonly origin: "server";
34
+ readonly terminal: false;
35
+ readonly retryable: false;
36
+ };
37
+ readonly 'too-many-requests': {
38
+ readonly origin: "server";
39
+ readonly terminal: false;
40
+ readonly retryable: true;
41
+ };
42
+ readonly 'not-joined': {
43
+ readonly origin: "server";
44
+ readonly terminal: false;
45
+ readonly retryable: false;
46
+ };
47
+ readonly 'already-joined': {
48
+ readonly origin: "server";
49
+ readonly terminal: false;
50
+ readonly retryable: false;
51
+ };
52
+ readonly internal: {
53
+ readonly origin: "server";
54
+ readonly terminal: false;
55
+ readonly retryable: true;
56
+ };
57
+ readonly 'node-error': {
58
+ readonly origin: "server";
59
+ readonly terminal: false;
60
+ readonly retryable: true;
61
+ };
62
+ readonly 'no-token': {
63
+ readonly origin: "server";
64
+ readonly terminal: true;
65
+ readonly retryable: false;
66
+ };
67
+ readonly 'bad-token': {
68
+ readonly origin: "server";
69
+ readonly terminal: true;
70
+ readonly retryable: false;
71
+ };
72
+ readonly 'wrong-tenant': {
73
+ readonly origin: "server";
74
+ readonly terminal: true;
75
+ readonly retryable: false;
76
+ };
77
+ readonly 'token-mismatch': {
78
+ readonly origin: "server";
79
+ readonly terminal: false;
80
+ readonly retryable: false;
81
+ };
82
+ readonly 'no-room': {
83
+ readonly origin: "server";
84
+ readonly terminal: true;
85
+ readonly retryable: false;
86
+ };
87
+ readonly 'room-ended': {
88
+ readonly origin: "server";
89
+ readonly terminal: true;
90
+ readonly retryable: false;
91
+ };
92
+ readonly kicked: {
93
+ readonly origin: "server";
94
+ readonly terminal: true;
95
+ readonly retryable: false;
96
+ };
97
+ readonly 'no-node': {
98
+ readonly origin: "server";
99
+ readonly terminal: false;
100
+ readonly retryable: true;
101
+ };
102
+ readonly 'no-capacity': {
103
+ readonly origin: "server";
104
+ readonly terminal: false;
105
+ readonly retryable: true;
106
+ };
107
+ readonly 'stage-full': {
108
+ readonly origin: "server";
109
+ readonly terminal: false;
110
+ readonly retryable: true;
111
+ };
112
+ readonly 'participant-quota': {
113
+ readonly origin: "server";
114
+ readonly terminal: false;
115
+ readonly retryable: true;
116
+ };
117
+ readonly 'viewer-quota': {
118
+ readonly origin: "server";
119
+ readonly terminal: false;
120
+ readonly retryable: true;
121
+ };
122
+ readonly 'quota-exhausted': {
123
+ readonly origin: "server";
124
+ readonly terminal: true;
125
+ readonly retryable: false;
126
+ };
127
+ readonly 'daily-limit-reached': {
128
+ readonly origin: "server";
129
+ readonly terminal: true;
130
+ readonly retryable: false;
131
+ };
132
+ readonly 'monthly-limit-reached': {
133
+ readonly origin: "server";
134
+ readonly terminal: true;
135
+ readonly retryable: false;
136
+ };
137
+ readonly 'tenant-suspended': {
138
+ readonly origin: "server";
139
+ readonly terminal: true;
140
+ readonly retryable: false;
141
+ };
142
+ readonly 'billing-unavailable': {
143
+ readonly origin: "server";
144
+ readonly terminal: true;
145
+ readonly retryable: false;
146
+ };
147
+ readonly forbidden: {
148
+ readonly origin: "server";
149
+ readonly terminal: true;
150
+ readonly retryable: false;
151
+ };
152
+ readonly 'not-in-room': {
153
+ readonly origin: "server";
154
+ readonly terminal: false;
155
+ readonly retryable: false;
156
+ };
157
+ readonly 'no-participant': {
158
+ readonly origin: "server";
159
+ readonly terminal: false;
160
+ readonly retryable: false;
161
+ };
162
+ readonly 'bad-transport': {
163
+ readonly origin: "server";
164
+ readonly terminal: false;
165
+ readonly retryable: false;
166
+ };
167
+ readonly 'no-transport': {
168
+ readonly origin: "server";
169
+ readonly terminal: false;
170
+ readonly retryable: false;
171
+ };
172
+ readonly 'no-producer': {
173
+ readonly origin: "server";
174
+ readonly terminal: false;
175
+ readonly retryable: false;
176
+ };
177
+ readonly 'no-consumer': {
178
+ readonly origin: "server";
179
+ readonly terminal: false;
180
+ readonly retryable: false;
181
+ };
182
+ readonly 'cannot-consume': {
183
+ readonly origin: "server";
184
+ readonly terminal: false;
185
+ readonly retryable: false;
186
+ };
187
+ readonly 'consumer-cap': {
188
+ readonly origin: "server";
189
+ readonly terminal: false;
190
+ readonly retryable: true;
191
+ };
192
+ readonly 'producer-cap': {
193
+ readonly origin: "server";
194
+ readonly terminal: false;
195
+ readonly retryable: true;
196
+ };
197
+ readonly 'room-cap': {
198
+ readonly origin: "server";
199
+ readonly terminal: false;
200
+ readonly retryable: true;
201
+ };
202
+ readonly draining: {
203
+ readonly origin: "server";
204
+ readonly terminal: false;
205
+ readonly retryable: true;
206
+ };
207
+ readonly 'bad-request': {
208
+ readonly origin: "server";
209
+ readonly terminal: false;
210
+ readonly retryable: false;
211
+ };
212
+ readonly 'source-already-published': {
213
+ readonly origin: "server";
214
+ readonly terminal: false;
215
+ readonly retryable: false;
216
+ };
217
+ readonly 'force-muted': {
218
+ readonly origin: "server";
219
+ readonly terminal: false;
220
+ readonly retryable: false;
221
+ };
222
+ readonly 'media-disabled': {
223
+ readonly origin: "server";
224
+ readonly terminal: false;
225
+ readonly retryable: false;
226
+ };
227
+ readonly 'frame-rate-not-allowed': {
228
+ readonly origin: "server";
229
+ readonly terminal: false;
230
+ readonly retryable: false;
231
+ };
232
+ readonly 'video-quality-not-allowed': {
233
+ readonly origin: "server";
234
+ readonly terminal: false;
235
+ readonly retryable: false;
236
+ };
237
+ readonly 'audio-quality-not-allowed': {
238
+ readonly origin: "server";
239
+ readonly terminal: false;
240
+ readonly retryable: false;
241
+ };
242
+ readonly 'video-not-allowed': {
243
+ readonly origin: "server";
244
+ readonly terminal: false;
245
+ readonly retryable: false;
246
+ };
247
+ readonly 'audio-not-allowed': {
248
+ readonly origin: "server";
249
+ readonly terminal: false;
250
+ readonly retryable: false;
251
+ };
252
+ readonly 'video-subscription-limit': {
253
+ readonly origin: "server";
254
+ readonly terminal: false;
255
+ readonly retryable: false;
256
+ };
257
+ readonly 'slot-taken': {
258
+ readonly origin: "server";
259
+ readonly terminal: false;
260
+ readonly retryable: false;
261
+ };
262
+ readonly 'slot-blocked': {
263
+ readonly origin: "server";
264
+ readonly terminal: false;
265
+ readonly retryable: false;
266
+ };
267
+ readonly 'slot-occupied': {
268
+ readonly origin: "server";
269
+ readonly terminal: false;
270
+ readonly retryable: false;
271
+ };
272
+ readonly 'chat-muted': {
273
+ readonly origin: "server";
274
+ readonly terminal: false;
275
+ readonly retryable: false;
276
+ };
277
+ readonly 'rate-limited': {
278
+ readonly origin: "server";
279
+ readonly terminal: false;
280
+ readonly retryable: true;
281
+ };
282
+ readonly 'no-message': {
283
+ readonly origin: "server";
284
+ readonly terminal: false;
285
+ readonly retryable: false;
286
+ };
287
+ readonly 'chat-unavailable': {
288
+ readonly origin: "server";
289
+ readonly terminal: false;
290
+ readonly retryable: false;
291
+ };
292
+ readonly closed: {
293
+ readonly origin: "server";
294
+ readonly terminal: false;
295
+ readonly retryable: true;
296
+ };
297
+ readonly unauthorized: {
298
+ readonly origin: "server";
299
+ readonly terminal: false;
300
+ readonly retryable: false;
301
+ };
302
+ readonly 'bad-signature': {
303
+ readonly origin: "server";
304
+ readonly terminal: false;
305
+ readonly retryable: false;
306
+ };
307
+ readonly 'operator-only': {
308
+ readonly origin: "server";
309
+ readonly terminal: false;
310
+ readonly retryable: false;
311
+ };
312
+ readonly 'bad-role': {
313
+ readonly origin: "server";
314
+ readonly terminal: false;
315
+ readonly retryable: false;
316
+ };
317
+ readonly 'room-exists': {
318
+ readonly origin: "server";
319
+ readonly terminal: false;
320
+ readonly retryable: false;
321
+ };
322
+ readonly 'room-quota': {
323
+ readonly origin: "server";
324
+ readonly terminal: false;
325
+ readonly retryable: true;
326
+ };
327
+ readonly 'no-nodes': {
328
+ readonly origin: "server";
329
+ readonly terminal: false;
330
+ readonly retryable: true;
331
+ };
332
+ readonly 'capacity-exhausted': {
333
+ readonly origin: "server";
334
+ readonly terminal: false;
335
+ readonly retryable: true;
336
+ };
337
+ readonly unavailable: {
338
+ readonly origin: "server";
339
+ readonly terminal: false;
340
+ readonly retryable: true;
341
+ };
342
+ readonly 'not-found': {
343
+ readonly origin: "server";
344
+ readonly terminal: false;
345
+ readonly retryable: false;
346
+ };
347
+ readonly 'broadcast-disabled': {
348
+ readonly origin: "server";
349
+ readonly terminal: false;
350
+ readonly retryable: false;
351
+ };
352
+ readonly 'chat-disabled': {
353
+ readonly origin: "server";
354
+ readonly terminal: false;
355
+ readonly retryable: false;
356
+ };
357
+ readonly 'no-stream': {
358
+ readonly origin: "server";
359
+ readonly terminal: false;
360
+ readonly retryable: false;
361
+ };
362
+ readonly 'stream-exists': {
363
+ readonly origin: "server";
364
+ readonly terminal: false;
365
+ readonly retryable: false;
366
+ };
367
+ readonly 'stream-quota': {
368
+ readonly origin: "server";
369
+ readonly terminal: false;
370
+ readonly retryable: true;
371
+ };
372
+ readonly network: {
373
+ readonly origin: "sdk";
374
+ readonly terminal: false;
375
+ readonly retryable: true;
376
+ };
377
+ readonly 'rates-unconfigured': {
378
+ readonly origin: "sdk";
379
+ readonly terminal: false;
380
+ readonly retryable: false;
381
+ };
382
+ readonly redirected: {
383
+ readonly origin: "sdk";
384
+ readonly terminal: false;
385
+ readonly retryable: false;
386
+ };
387
+ readonly 'not-connected': {
388
+ readonly origin: "sdk";
389
+ readonly terminal: false;
390
+ readonly retryable: true;
391
+ };
392
+ readonly timeout: {
393
+ readonly origin: "sdk";
394
+ readonly terminal: false;
395
+ readonly retryable: true;
396
+ };
397
+ readonly 'connect-failed': {
398
+ readonly origin: "sdk";
399
+ readonly terminal: false;
400
+ readonly retryable: true;
401
+ };
402
+ readonly replaced: {
403
+ readonly origin: "sdk";
404
+ readonly terminal: true;
405
+ readonly retryable: false;
406
+ };
407
+ readonly 'reconnect-gave-up': {
408
+ readonly origin: "sdk";
409
+ readonly terminal: true;
410
+ readonly retryable: false;
411
+ };
412
+ readonly 'devices-gone': {
413
+ readonly origin: "sdk";
414
+ readonly terminal: false;
415
+ readonly retryable: false;
416
+ };
417
+ readonly unpublished: {
418
+ readonly origin: "sdk";
419
+ readonly terminal: false;
420
+ readonly retryable: false;
421
+ };
422
+ readonly 'frame-rate-fallback': {
423
+ readonly origin: "sdk";
424
+ readonly terminal: false;
425
+ readonly retryable: false;
426
+ };
427
+ readonly 'codec-fallback': {
428
+ readonly origin: "sdk";
429
+ readonly terminal: false;
430
+ readonly retryable: false;
431
+ };
432
+ readonly 'quality-unavailable': {
433
+ readonly origin: "sdk";
434
+ readonly terminal: false;
435
+ readonly retryable: false;
436
+ };
437
+ readonly 'screen-share-active': {
438
+ readonly origin: "sdk";
439
+ readonly terminal: false;
440
+ readonly retryable: false;
441
+ };
442
+ readonly 'screen-share-unsupported': {
443
+ readonly origin: "sdk";
444
+ readonly terminal: false;
445
+ readonly retryable: false;
446
+ };
447
+ readonly 'screen-share-no-video': {
448
+ readonly origin: "sdk";
449
+ readonly terminal: false;
450
+ readonly retryable: false;
451
+ };
452
+ readonly disconnected: {
453
+ readonly origin: "sdk";
454
+ readonly terminal: false;
455
+ readonly retryable: true;
456
+ };
457
+ readonly 'produce-failed': {
458
+ readonly origin: "sdk";
459
+ readonly terminal: false;
460
+ readonly retryable: true;
461
+ };
462
+ readonly 'consume-failed': {
463
+ readonly origin: "sdk";
464
+ readonly terminal: false;
465
+ readonly retryable: true;
466
+ };
467
+ readonly 'media-unavailable': {
468
+ readonly origin: "sdk";
469
+ readonly terminal: false;
470
+ readonly retryable: false;
471
+ };
472
+ readonly 'music-unavailable': {
473
+ readonly origin: "sdk";
474
+ readonly terminal: false;
475
+ readonly retryable: false;
476
+ };
477
+ readonly 'no-camera': {
478
+ readonly origin: "sdk";
479
+ readonly terminal: false;
480
+ readonly retryable: false;
481
+ };
482
+ readonly 'camera-failed': {
483
+ readonly origin: "sdk";
484
+ readonly terminal: false;
485
+ readonly retryable: true;
486
+ };
487
+ readonly 'unknown-producer': {
488
+ readonly origin: "sdk";
489
+ readonly terminal: false;
490
+ readonly retryable: false;
491
+ };
492
+ readonly 'screen-share-denied': {
493
+ readonly origin: "sdk";
494
+ readonly terminal: false;
495
+ readonly retryable: true;
496
+ };
497
+ readonly 'screen-share-service-required': {
498
+ readonly origin: "sdk";
499
+ readonly terminal: false;
500
+ readonly retryable: false;
501
+ };
502
+ readonly 'screen-share-source-required': {
503
+ readonly origin: "sdk";
504
+ readonly terminal: false;
505
+ readonly retryable: false;
506
+ };
507
+ readonly 'screen-share-setup-required': {
508
+ readonly origin: "sdk";
509
+ readonly terminal: false;
510
+ readonly retryable: false;
511
+ };
512
+ readonly 'screen-share-start-timeout': {
513
+ readonly origin: "sdk";
514
+ readonly terminal: false;
515
+ readonly retryable: true;
516
+ };
517
+ readonly 'screen-share-ended': {
518
+ readonly origin: "sdk";
519
+ readonly terminal: false;
520
+ readonly retryable: true;
521
+ };
522
+ readonly 'screen-share-failed': {
523
+ readonly origin: "sdk";
524
+ readonly terminal: false;
525
+ readonly retryable: true;
526
+ };
527
+ readonly 'screen-share-size-unavailable': {
528
+ readonly origin: "sdk";
529
+ readonly terminal: false;
530
+ readonly retryable: true;
531
+ };
532
+ readonly 'screen-audio-unavailable': {
533
+ readonly origin: "sdk";
534
+ readonly terminal: false;
535
+ readonly retryable: false;
536
+ };
537
+ readonly 'screen-stop-failed': {
538
+ readonly origin: "sdk";
539
+ readonly terminal: false;
540
+ readonly retryable: false;
541
+ };
542
+ readonly 'degradation-preference-failed': {
543
+ readonly origin: "sdk";
544
+ readonly terminal: false;
545
+ readonly retryable: false;
546
+ };
547
+ };
548
+ /** Every code in the registry. A newer server may still send one this SDK predates. */
549
+ export type ErrorCode = keyof typeof ERROR_CODES;
550
+ /** The registry entry for a code, or undefined for one this SDK does not know. */
551
+ export declare function errorInfo(code: string): ErrorInfo | undefined;
552
+ /**
553
+ * Whether reconnecting cannot fix a join refused with this code: a room that
554
+ * has ended is not coming back, and a token that is wrong will be wrong next
555
+ * time too. Unknown codes are not terminal, so a newer server's code never
556
+ * stops a reconnect that could succeed.
557
+ */
558
+ export declare function isTerminalError(code: string): boolean;
559
+ /**
560
+ * An error with a machine-readable code: returned by the server (its code
561
+ * passed through unchanged, known to this SDK or not) or raised by the SDK
562
+ * itself with a registry code. `data` is what the server attached so the app
563
+ * can act on a refusal rather than merely report it: `{ slots }` for
564
+ * `slot-occupied`, for instance.
565
+ */
566
+ export declare class RpcError extends Error {
567
+ readonly code: ErrorCode | (string & {});
568
+ readonly data?: unknown | undefined;
569
+ constructor(code: ErrorCode | (string & {}), message: string, data?: unknown | undefined);
570
+ }
571
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,kFAAkF;AAClF,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GsB,CAAC;AAE/C,uFAAuF;AACvF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AAEjD,kFAAkF;AAClF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;IAAmB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO;gBAAzE,IAAI,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAW,IAAI,CAAC,EAAE,OAAO,YAAA;CAI/F"}