@voltkit-rtc/client 0.6.1 → 0.7.1

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 (64) hide show
  1. package/CHANGELOG.md +109 -2
  2. package/README.md +236 -11
  3. package/dist/cjs/broadcast.d.ts.map +1 -1
  4. package/dist/cjs/broadcast.js +16 -7
  5. package/dist/cjs/broadcast.js.map +1 -1
  6. package/dist/cjs/chat.d.ts +11 -9
  7. package/dist/cjs/chat.d.ts.map +1 -1
  8. package/dist/cjs/chat.js +56 -19
  9. package/dist/cjs/chat.js.map +1 -1
  10. package/dist/cjs/errors.d.ts +571 -0
  11. package/dist/cjs/errors.d.ts.map +1 -0
  12. package/dist/cjs/errors.js +155 -0
  13. package/dist/cjs/errors.js.map +1 -0
  14. package/dist/cjs/index.d.ts +320 -16
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +728 -123
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/media-permissions.d.ts +101 -0
  19. package/dist/cjs/media-permissions.d.ts.map +1 -0
  20. package/dist/cjs/media-permissions.js +166 -0
  21. package/dist/cjs/media-permissions.js.map +1 -0
  22. package/dist/cjs/network.d.ts +80 -0
  23. package/dist/cjs/network.d.ts.map +1 -0
  24. package/dist/cjs/network.js +190 -0
  25. package/dist/cjs/network.js.map +1 -0
  26. package/dist/cjs/token.d.ts +17 -0
  27. package/dist/cjs/token.d.ts.map +1 -0
  28. package/dist/cjs/token.js +36 -0
  29. package/dist/cjs/token.js.map +1 -0
  30. package/dist/esm/broadcast.d.ts.map +1 -1
  31. package/dist/esm/broadcast.js +16 -7
  32. package/dist/esm/broadcast.js.map +1 -1
  33. package/dist/esm/chat.d.ts +11 -9
  34. package/dist/esm/chat.d.ts.map +1 -1
  35. package/dist/esm/chat.js +56 -19
  36. package/dist/esm/chat.js.map +1 -1
  37. package/dist/esm/errors.d.ts +571 -0
  38. package/dist/esm/errors.d.ts.map +1 -0
  39. package/dist/esm/errors.js +149 -0
  40. package/dist/esm/errors.js.map +1 -0
  41. package/dist/esm/index.d.ts +320 -16
  42. package/dist/esm/index.d.ts.map +1 -1
  43. package/dist/esm/index.js +707 -114
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/media-permissions.d.ts +101 -0
  46. package/dist/esm/media-permissions.d.ts.map +1 -0
  47. package/dist/esm/media-permissions.js +160 -0
  48. package/dist/esm/media-permissions.js.map +1 -0
  49. package/dist/esm/network.d.ts +80 -0
  50. package/dist/esm/network.d.ts.map +1 -0
  51. package/dist/esm/network.js +183 -0
  52. package/dist/esm/network.js.map +1 -0
  53. package/dist/esm/token.d.ts +17 -0
  54. package/dist/esm/token.d.ts.map +1 -0
  55. package/dist/esm/token.js +31 -0
  56. package/dist/esm/token.js.map +1 -0
  57. package/package.json +1 -1
  58. package/src/broadcast.ts +16 -7
  59. package/src/chat.ts +44 -18
  60. package/src/errors.ts +162 -0
  61. package/src/index.ts +842 -114
  62. package/src/media-permissions.ts +220 -0
  63. package/src/network.ts +212 -0
  64. package/src/token.ts +31 -0
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /**
3
+ * One error registry for every VoltKit SDK (docs/sdk-contract.json): the codes
4
+ * the controller and the media nodes answer with, passed through unchanged, and
5
+ * the ones the SDKs raise themselves. Switch on `error.code`, never on the
6
+ * message.
7
+ *
8
+ * Kept as a literal here, since the package cannot read the repository's docs
9
+ * at runtime, and checked against the contract by
10
+ * scripts/test/sdk-contract-browser.sh and test/contract.test.mjs. One code per
11
+ * line, so that check can read it.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.RpcError = exports.ERROR_CODES = void 0;
15
+ exports.errorInfo = errorInfo;
16
+ exports.isTerminalError = isTerminalError;
17
+ exports.ERROR_CODES = {
18
+ 'bad-json': { origin: 'server', terminal: false, retryable: false },
19
+ 'bad-params': { origin: 'server', terminal: false, retryable: false },
20
+ 'unknown-method': { origin: 'server', terminal: false, retryable: false },
21
+ 'too-many-requests': { origin: 'server', terminal: false, retryable: true },
22
+ 'not-joined': { origin: 'server', terminal: false, retryable: false },
23
+ 'already-joined': { origin: 'server', terminal: false, retryable: false },
24
+ 'internal': { origin: 'server', terminal: false, retryable: true },
25
+ 'node-error': { origin: 'server', terminal: false, retryable: true },
26
+ 'no-token': { origin: 'server', terminal: true, retryable: false },
27
+ 'bad-token': { origin: 'server', terminal: true, retryable: false },
28
+ 'wrong-tenant': { origin: 'server', terminal: true, retryable: false },
29
+ 'token-mismatch': { origin: 'server', terminal: false, retryable: false },
30
+ 'no-room': { origin: 'server', terminal: true, retryable: false },
31
+ 'room-ended': { origin: 'server', terminal: true, retryable: false },
32
+ 'kicked': { origin: 'server', terminal: true, retryable: false },
33
+ 'no-node': { origin: 'server', terminal: false, retryable: true },
34
+ 'no-capacity': { origin: 'server', terminal: false, retryable: true },
35
+ 'stage-full': { origin: 'server', terminal: false, retryable: true },
36
+ 'participant-quota': { origin: 'server', terminal: false, retryable: true },
37
+ 'viewer-quota': { origin: 'server', terminal: false, retryable: true },
38
+ 'quota-exhausted': { origin: 'server', terminal: true, retryable: false },
39
+ 'daily-limit-reached': { origin: 'server', terminal: true, retryable: false },
40
+ 'monthly-limit-reached': { origin: 'server', terminal: true, retryable: false },
41
+ 'tenant-suspended': { origin: 'server', terminal: true, retryable: false },
42
+ 'billing-unavailable': { origin: 'server', terminal: true, retryable: false },
43
+ 'forbidden': { origin: 'server', terminal: true, retryable: false },
44
+ 'not-in-room': { origin: 'server', terminal: false, retryable: false },
45
+ 'no-participant': { origin: 'server', terminal: false, retryable: false },
46
+ 'bad-transport': { origin: 'server', terminal: false, retryable: false },
47
+ 'no-transport': { origin: 'server', terminal: false, retryable: false },
48
+ 'no-producer': { origin: 'server', terminal: false, retryable: false },
49
+ 'no-consumer': { origin: 'server', terminal: false, retryable: false },
50
+ 'cannot-consume': { origin: 'server', terminal: false, retryable: false },
51
+ 'consumer-cap': { origin: 'server', terminal: false, retryable: true },
52
+ 'producer-cap': { origin: 'server', terminal: false, retryable: true },
53
+ 'room-cap': { origin: 'server', terminal: false, retryable: true },
54
+ 'draining': { origin: 'server', terminal: false, retryable: true },
55
+ 'bad-request': { origin: 'server', terminal: false, retryable: false },
56
+ 'source-already-published': { origin: 'server', terminal: false, retryable: false },
57
+ 'force-muted': { origin: 'server', terminal: false, retryable: false },
58
+ 'media-disabled': { origin: 'server', terminal: false, retryable: false },
59
+ 'frame-rate-not-allowed': { origin: 'server', terminal: false, retryable: false },
60
+ 'video-quality-not-allowed': { origin: 'server', terminal: false, retryable: false },
61
+ 'audio-quality-not-allowed': { origin: 'server', terminal: false, retryable: false },
62
+ 'video-not-allowed': { origin: 'server', terminal: false, retryable: false },
63
+ 'audio-not-allowed': { origin: 'server', terminal: false, retryable: false },
64
+ 'video-subscription-limit': { origin: 'server', terminal: false, retryable: false },
65
+ 'slot-taken': { origin: 'server', terminal: false, retryable: false },
66
+ 'slot-blocked': { origin: 'server', terminal: false, retryable: false },
67
+ 'slot-occupied': { origin: 'server', terminal: false, retryable: false },
68
+ 'chat-muted': { origin: 'server', terminal: false, retryable: false },
69
+ 'rate-limited': { origin: 'server', terminal: false, retryable: true },
70
+ 'no-message': { origin: 'server', terminal: false, retryable: false },
71
+ 'chat-unavailable': { origin: 'server', terminal: false, retryable: false },
72
+ 'closed': { origin: 'server', terminal: false, retryable: true },
73
+ 'unauthorized': { origin: 'server', terminal: false, retryable: false },
74
+ 'bad-signature': { origin: 'server', terminal: false, retryable: false },
75
+ 'operator-only': { origin: 'server', terminal: false, retryable: false },
76
+ 'bad-role': { origin: 'server', terminal: false, retryable: false },
77
+ 'room-exists': { origin: 'server', terminal: false, retryable: false },
78
+ 'room-quota': { origin: 'server', terminal: false, retryable: true },
79
+ 'no-nodes': { origin: 'server', terminal: false, retryable: true },
80
+ 'capacity-exhausted': { origin: 'server', terminal: false, retryable: true },
81
+ 'unavailable': { origin: 'server', terminal: false, retryable: true },
82
+ 'not-found': { origin: 'server', terminal: false, retryable: false },
83
+ 'broadcast-disabled': { origin: 'server', terminal: false, retryable: false },
84
+ 'chat-disabled': { origin: 'server', terminal: false, retryable: false },
85
+ 'no-stream': { origin: 'server', terminal: false, retryable: false },
86
+ 'stream-exists': { origin: 'server', terminal: false, retryable: false },
87
+ 'stream-quota': { origin: 'server', terminal: false, retryable: true },
88
+ 'network': { origin: 'sdk', terminal: false, retryable: true },
89
+ 'rates-unconfigured': { origin: 'sdk', terminal: false, retryable: false },
90
+ 'redirected': { origin: 'sdk', terminal: false, retryable: false },
91
+ 'not-connected': { origin: 'sdk', terminal: false, retryable: true },
92
+ 'timeout': { origin: 'sdk', terminal: false, retryable: true },
93
+ 'connect-failed': { origin: 'sdk', terminal: false, retryable: true },
94
+ 'replaced': { origin: 'sdk', terminal: true, retryable: false },
95
+ 'reconnect-gave-up': { origin: 'sdk', terminal: true, retryable: false },
96
+ 'devices-gone': { origin: 'sdk', terminal: false, retryable: false },
97
+ 'unpublished': { origin: 'sdk', terminal: false, retryable: false },
98
+ 'frame-rate-fallback': { origin: 'sdk', terminal: false, retryable: false },
99
+ 'codec-fallback': { origin: 'sdk', terminal: false, retryable: false },
100
+ 'quality-unavailable': { origin: 'sdk', terminal: false, retryable: false },
101
+ 'screen-share-active': { origin: 'sdk', terminal: false, retryable: false },
102
+ 'screen-share-unsupported': { origin: 'sdk', terminal: false, retryable: false },
103
+ 'screen-share-no-video': { origin: 'sdk', terminal: false, retryable: false },
104
+ 'disconnected': { origin: 'sdk', terminal: false, retryable: true },
105
+ 'produce-failed': { origin: 'sdk', terminal: false, retryable: true },
106
+ 'consume-failed': { origin: 'sdk', terminal: false, retryable: true },
107
+ 'media-unavailable': { origin: 'sdk', terminal: false, retryable: false },
108
+ 'music-unavailable': { origin: 'sdk', terminal: false, retryable: false },
109
+ 'no-camera': { origin: 'sdk', terminal: false, retryable: false },
110
+ 'camera-failed': { origin: 'sdk', terminal: false, retryable: true },
111
+ 'unknown-producer': { origin: 'sdk', terminal: false, retryable: false },
112
+ 'screen-share-denied': { origin: 'sdk', terminal: false, retryable: true },
113
+ 'screen-share-service-required': { origin: 'sdk', terminal: false, retryable: false },
114
+ 'screen-share-source-required': { origin: 'sdk', terminal: false, retryable: false },
115
+ 'screen-share-setup-required': { origin: 'sdk', terminal: false, retryable: false },
116
+ 'screen-share-start-timeout': { origin: 'sdk', terminal: false, retryable: true },
117
+ 'screen-share-ended': { origin: 'sdk', terminal: false, retryable: true },
118
+ 'screen-share-failed': { origin: 'sdk', terminal: false, retryable: true },
119
+ 'screen-share-size-unavailable': { origin: 'sdk', terminal: false, retryable: true },
120
+ 'screen-audio-unavailable': { origin: 'sdk', terminal: false, retryable: false },
121
+ 'screen-stop-failed': { origin: 'sdk', terminal: false, retryable: false },
122
+ 'degradation-preference-failed': { origin: 'sdk', terminal: false, retryable: false },
123
+ };
124
+ /** The registry entry for a code, or undefined for one this SDK does not know. */
125
+ function errorInfo(code) {
126
+ return Object.prototype.hasOwnProperty.call(exports.ERROR_CODES, code) ? exports.ERROR_CODES[code] : undefined;
127
+ }
128
+ /**
129
+ * Whether reconnecting cannot fix a join refused with this code: a room that
130
+ * has ended is not coming back, and a token that is wrong will be wrong next
131
+ * time too. Unknown codes are not terminal, so a newer server's code never
132
+ * stops a reconnect that could succeed.
133
+ */
134
+ function isTerminalError(code) {
135
+ return errorInfo(code)?.terminal === true;
136
+ }
137
+ /**
138
+ * An error with a machine-readable code: returned by the server (its code
139
+ * passed through unchanged, known to this SDK or not) or raised by the SDK
140
+ * itself with a registry code. `data` is what the server attached so the app
141
+ * can act on a refusal rather than merely report it: `{ slots }` for
142
+ * `slot-occupied`, for instance.
143
+ */
144
+ class RpcError extends Error {
145
+ code;
146
+ data;
147
+ constructor(code, message, data) {
148
+ super(`${code}: ${message}`);
149
+ this.code = code;
150
+ this.data = data;
151
+ this.name = 'RpcError';
152
+ }
153
+ }
154
+ exports.RpcError = RpcError;
155
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}