livekit-client 2.22.3 → 2.22.4

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 (214) hide show
  1. package/README.md +35 -0
  2. package/dist/livekit-client.e2ee.worker.js +1 -1
  3. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  4. package/dist/livekit-client.e2ee.worker.mjs +2 -1
  5. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  6. package/dist/livekit-client.esm.mjs +602 -247
  7. package/dist/livekit-client.esm.mjs.map +1 -1
  8. package/dist/livekit-client.fm.worker.js +1 -1
  9. package/dist/livekit-client.fm.worker.js.map +1 -1
  10. package/dist/livekit-client.fm.worker.mjs +2 -1
  11. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  12. package/dist/livekit-client.umd.js +1 -1
  13. package/dist/livekit-client.umd.js.map +1 -1
  14. package/dist/src/api/SignalClient.d.ts +4 -2
  15. package/dist/src/api/SignalClient.d.ts.map +1 -1
  16. package/dist/src/options.d.ts +14 -0
  17. package/dist/src/options.d.ts.map +1 -1
  18. package/dist/src/room/PCTransport.d.ts +78 -7
  19. package/dist/src/room/PCTransport.d.ts.map +1 -1
  20. package/dist/src/room/PCTransportManager.d.ts.map +1 -1
  21. package/dist/src/room/RTCEngine.d.ts +8 -0
  22. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  23. package/dist/src/room/Room.d.ts +1 -1
  24. package/dist/src/room/Room.d.ts.map +1 -1
  25. package/dist/src/room/defaults.d.ts.map +1 -1
  26. package/dist/src/room/errors.d.ts +18 -0
  27. package/dist/src/room/errors.d.ts.map +1 -1
  28. package/dist/src/room/events.d.ts +3 -2
  29. package/dist/src/room/events.d.ts.map +1 -1
  30. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  31. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  32. package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
  33. package/dist/src/room/track/LocalVideoTrack.d.ts +2 -0
  34. package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
  35. package/dist/src/room/track/utils.d.ts +13 -0
  36. package/dist/src/room/track/utils.d.ts.map +1 -1
  37. package/dist/src/room/utils.d.ts +32 -0
  38. package/dist/src/room/utils.d.ts.map +1 -1
  39. package/dist/src/test/compressionStreamStubs.d.ts +12 -0
  40. package/dist/src/test/compressionStreamStubs.d.ts.map +1 -0
  41. package/dist/ts4.2/api/SignalClient.d.ts +187 -185
  42. package/dist/ts4.2/api/SignalClientStateMachine.d.ts +85 -85
  43. package/dist/ts4.2/api/WebSocketStream.d.ts +33 -33
  44. package/dist/ts4.2/api/utils.d.ts +9 -9
  45. package/dist/ts4.2/connectionHelper/ConnectionCheck.d.ts +30 -30
  46. package/dist/ts4.2/connectionHelper/checks/Checker.d.ts +62 -62
  47. package/dist/ts4.2/connectionHelper/checks/cloudRegion.d.ts +18 -18
  48. package/dist/ts4.2/connectionHelper/checks/connectionProtocol.d.ts +20 -20
  49. package/dist/ts4.2/connectionHelper/checks/publishAudio.d.ts +6 -6
  50. package/dist/ts4.2/connectionHelper/checks/publishVideo.d.ts +7 -7
  51. package/dist/ts4.2/connectionHelper/checks/reconnect.d.ts +6 -6
  52. package/dist/ts4.2/connectionHelper/checks/turn.d.ts +6 -6
  53. package/dist/ts4.2/connectionHelper/checks/webrtc.d.ts +6 -6
  54. package/dist/ts4.2/connectionHelper/checks/websocket.d.ts +6 -6
  55. package/dist/ts4.2/e2ee/E2eeManager.d.ts +111 -111
  56. package/dist/ts4.2/e2ee/KeyProvider.d.ts +54 -54
  57. package/dist/ts4.2/e2ee/constants.d.ts +21 -21
  58. package/dist/ts4.2/e2ee/errors.d.ts +12 -12
  59. package/dist/ts4.2/e2ee/events.d.ts +39 -39
  60. package/dist/ts4.2/e2ee/index.d.ts +6 -6
  61. package/dist/ts4.2/e2ee/types.d.ts +231 -231
  62. package/dist/ts4.2/e2ee/utils.d.ts +32 -32
  63. package/dist/ts4.2/e2ee/worker/DataCryptor.d.ts +16 -16
  64. package/dist/ts4.2/e2ee/worker/ErrorRateLimiter.d.ts +21 -21
  65. package/dist/ts4.2/e2ee/worker/FrameCryptor.d.ts +209 -209
  66. package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +81 -84
  67. package/dist/ts4.2/e2ee/worker/e2ee.worker.d.ts +2 -2
  68. package/dist/ts4.2/e2ee/worker/naluUtils.d.ts +28 -28
  69. package/dist/ts4.2/e2ee/worker/sifPayload.d.ts +23 -23
  70. package/dist/ts4.2/frameMetadata/FrameMetadataManager.d.ts +53 -53
  71. package/dist/ts4.2/frameMetadata/frameMetadata.d.ts +33 -33
  72. package/dist/ts4.2/frameMetadata/types.d.ts +62 -62
  73. package/dist/ts4.2/frameMetadata/utils.d.ts +9 -9
  74. package/dist/ts4.2/frameMetadata/worker/frameMetadata.worker.d.ts +2 -2
  75. package/dist/ts4.2/index.d.ts +76 -76
  76. package/dist/ts4.2/logger.d.ts +66 -66
  77. package/dist/ts4.2/options.d.ts +163 -149
  78. package/dist/ts4.2/room/BackOffStrategy.d.ts +27 -27
  79. package/dist/ts4.2/room/DefaultReconnectPolicy.d.ts +8 -8
  80. package/dist/ts4.2/room/DeviceManager.d.ts +12 -12
  81. package/dist/ts4.2/room/PCTransport.d.ts +246 -175
  82. package/dist/ts4.2/room/PCTransportManager.d.ts +77 -77
  83. package/dist/ts4.2/room/RTCEngine.d.ts +269 -262
  84. package/dist/ts4.2/room/ReconnectPolicy.d.ts +24 -24
  85. package/dist/ts4.2/room/RegionUrlProvider.d.ts +36 -36
  86. package/dist/ts4.2/room/Room.d.ts +354 -365
  87. package/dist/ts4.2/room/attribute-typings.d.ts +35 -35
  88. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -62
  89. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +94 -95
  90. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -41
  91. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -57
  92. package/dist/ts4.2/room/data-channel/types.d.ts +12 -12
  93. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -49
  94. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -18
  95. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +29 -29
  96. package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +80 -80
  97. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +73 -73
  98. package/dist/ts4.2/room/data-stream/outgoing/StreamWriter.d.ts +16 -16
  99. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -18
  100. package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +79 -80
  101. package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +50 -50
  102. package/dist/ts4.2/room/data-track/depacketizer.d.ts +59 -59
  103. package/dist/ts4.2/room/data-track/frame.d.ts +22 -22
  104. package/dist/ts4.2/room/data-track/handle.d.ts +27 -27
  105. package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +124 -124
  106. package/dist/ts4.2/room/data-track/incoming/errors.d.ts +24 -24
  107. package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +41 -41
  108. package/dist/ts4.2/room/data-track/incoming/types.d.ts +20 -20
  109. package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +126 -126
  110. package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +74 -74
  111. package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +23 -23
  112. package/dist/ts4.2/room/data-track/outgoing/types.d.ts +48 -48
  113. package/dist/ts4.2/room/data-track/packet/constants.d.ts +20 -20
  114. package/dist/ts4.2/room/data-track/packet/errors.d.ts +40 -40
  115. package/dist/ts4.2/room/data-track/packet/extensions.d.ts +69 -69
  116. package/dist/ts4.2/room/data-track/packet/index.d.ts +98 -98
  117. package/dist/ts4.2/room/data-track/packet/serializable.d.ts +13 -13
  118. package/dist/ts4.2/room/data-track/packetizer.d.ts +43 -43
  119. package/dist/ts4.2/room/data-track/track-interfaces.d.ts +23 -23
  120. package/dist/ts4.2/room/data-track/types.d.ts +22 -22
  121. package/dist/ts4.2/room/data-track/utils.d.ts +60 -60
  122. package/dist/ts4.2/room/debounce.d.ts +11 -11
  123. package/dist/ts4.2/room/defaults.d.ts +9 -9
  124. package/dist/ts4.2/room/errors.d.ts +180 -162
  125. package/dist/ts4.2/room/events.d.ts +638 -637
  126. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +287 -287
  127. package/dist/ts4.2/room/participant/Participant.d.ts +142 -144
  128. package/dist/ts4.2/room/participant/ParticipantTrackPermission.d.ts +26 -26
  129. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +85 -86
  130. package/dist/ts4.2/room/participant/publishUtils.d.ts +53 -53
  131. package/dist/ts4.2/room/rpc/client/RpcClientManager.d.ts +43 -43
  132. package/dist/ts4.2/room/rpc/client/events.d.ts +8 -8
  133. package/dist/ts4.2/room/rpc/index.d.ts +7 -7
  134. package/dist/ts4.2/room/rpc/server/RpcServerManager.d.ts +44 -44
  135. package/dist/ts4.2/room/rpc/server/events.d.ts +8 -8
  136. package/dist/ts4.2/room/rpc/utils.d.ts +131 -131
  137. package/dist/ts4.2/room/stats.d.ts +71 -71
  138. package/dist/ts4.2/room/statsSummary.d.ts +13 -13
  139. package/dist/ts4.2/room/timers.d.ts +12 -12
  140. package/dist/ts4.2/room/token-source/TokenSource.d.ts +82 -82
  141. package/dist/ts4.2/room/token-source/types.d.ts +70 -70
  142. package/dist/ts4.2/room/token-source/utils.d.ts +8 -8
  143. package/dist/ts4.2/room/track/FrameMetadataExtractor.d.ts +19 -19
  144. package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +39 -42
  145. package/dist/ts4.2/room/track/LocalTrack.d.ts +125 -125
  146. package/dist/ts4.2/room/track/LocalTrackPublication.d.ts +42 -42
  147. package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +102 -100
  148. package/dist/ts4.2/room/track/RemoteAudioTrack.d.ts +55 -55
  149. package/dist/ts4.2/room/track/RemoteTrack.d.ts +38 -38
  150. package/dist/ts4.2/room/track/RemoteTrackPublication.d.ts +72 -75
  151. package/dist/ts4.2/room/track/RemoteVideoTrack.d.ts +73 -76
  152. package/dist/ts4.2/room/track/Track.d.ts +156 -166
  153. package/dist/ts4.2/room/track/TrackPublication.d.ts +75 -81
  154. package/dist/ts4.2/room/track/create.d.ts +25 -25
  155. package/dist/ts4.2/room/track/facingMode.d.ts +41 -41
  156. package/dist/ts4.2/room/track/options.d.ts +403 -403
  157. package/dist/ts4.2/room/track/processor/types.d.ts +31 -31
  158. package/dist/ts4.2/room/track/record.d.ts +13 -13
  159. package/dist/ts4.2/room/track/types.d.ts +28 -28
  160. package/dist/ts4.2/room/track/utils.d.ts +60 -47
  161. package/dist/ts4.2/room/types.d.ts +127 -127
  162. package/dist/ts4.2/room/utils.d.ts +246 -214
  163. package/dist/ts4.2/test/MockMediaStreamTrack.d.ts +26 -26
  164. package/dist/ts4.2/test/compressionStreamStubs.d.ts +12 -0
  165. package/dist/ts4.2/test/mocks.d.ts +12 -12
  166. package/dist/ts4.2/test/promiseState.d.ts +12 -12
  167. package/dist/ts4.2/test/signalToken.d.ts +26 -26
  168. package/dist/ts4.2/type-polyfills/non-shared-typed-arrays.d.ts +2 -2
  169. package/dist/ts4.2/utils/AsyncQueue.d.ts +23 -23
  170. package/dist/ts4.2/utils/TypedPromise.d.ts +17 -17
  171. package/dist/ts4.2/utils/abort-signal-polyfill.d.ts +13 -13
  172. package/dist/ts4.2/utils/browserParser.d.ts +13 -13
  173. package/dist/ts4.2/utils/camelToSnakeCase.d.ts +8 -8
  174. package/dist/ts4.2/utils/cloneDeep.d.ts +2 -2
  175. package/dist/ts4.2/utils/dataPacketBuffer.d.ts +34 -34
  176. package/dist/ts4.2/utils/deferrable-map.d.ts +32 -32
  177. package/dist/ts4.2/utils/machineInspector.d.ts +54 -54
  178. package/dist/ts4.2/utils/serializer.d.ts +48 -48
  179. package/dist/ts4.2/utils/subscribeToEvents.d.ts +15 -15
  180. package/dist/ts4.2/utils/ttlmap.d.ts +20 -20
  181. package/dist/ts4.2/version.d.ts +15 -15
  182. package/package.json +5 -4
  183. package/src/api/SignalClient.e2e.test.ts +1 -3
  184. package/src/api/SignalClient.test.ts +160 -10
  185. package/src/api/SignalClient.ts +75 -54
  186. package/src/options.ts +16 -0
  187. package/src/room/PCTransport.test.ts +183 -7
  188. package/src/room/PCTransport.ts +197 -36
  189. package/src/room/PCTransportManager.ts +3 -1
  190. package/src/room/RTCEngine.test.ts +84 -0
  191. package/src/room/RTCEngine.ts +24 -5
  192. package/src/room/Room.test.ts +32 -6
  193. package/src/room/Room.ts +26 -6
  194. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +16 -20
  195. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +5 -5
  196. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +60 -39
  197. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +4 -4
  198. package/src/room/defaults.ts +1 -0
  199. package/src/room/errors.test.ts +36 -0
  200. package/src/room/errors.ts +27 -0
  201. package/src/room/events.ts +2 -1
  202. package/src/room/participant/publishUtils.ts +0 -19
  203. package/src/room/rpc/client/RpcClientManager.test.ts +51 -0
  204. package/src/room/rpc/client/RpcClientManager.ts +32 -15
  205. package/src/room/track/LocalTrack.ts +18 -7
  206. package/src/room/track/LocalVideoTrack.ts +10 -3
  207. package/src/room/track/RemoteAudioTrack.ts +3 -3
  208. package/src/room/track/RemoteVideoTrack.test.ts +210 -0
  209. package/src/room/track/RemoteVideoTrack.ts +29 -3
  210. package/src/room/track/utils.test.ts +201 -2
  211. package/src/room/track/utils.ts +88 -0
  212. package/src/room/utils.test.ts +124 -0
  213. package/src/room/utils.ts +70 -0
  214. package/src/test/compressionStreamStubs.ts +53 -0
@@ -92,6 +92,23 @@ export declare function isChromiumBased(): boolean;
92
92
  export declare function isScriptTransformSupportedForWorker(): boolean;
93
93
  export declare function isSafari(): boolean;
94
94
  export declare function isSafariBased(): boolean;
95
+ /**
96
+ * iPadOS has sent the desktop Macintosh user agent by default since iPadOS 13, so `getBrowser()`
97
+ * reports `os: 'macOS'` there and every `os === 'iOS'` check misses it. macOS Safari implements no
98
+ * touch events at all (`TouchEvent` undefined, `maxTouchPoints` 0) regardless of any touchscreen
99
+ * attached, so touch capability separates the two. Measured on an iPad 6 / iPadOS 17
100
+ * (`maxTouchPoints` 5) against macOS Safari 26.4 (`maxTouchPoints` 0).
101
+ *
102
+ * Deliberately a separate helper rather than a fix in `browserParser`: iPadOS spoofs the Mac
103
+ * version too, so reporting `os: 'iOS'` there would leave `osVersion` at `10.15.7` and silently
104
+ * break {@link isSafari17Based} and {@link isSafariSvcApi}, which compare it.
105
+ */
106
+ export declare function isIPadOS(): boolean;
107
+ /**
108
+ * iPhone, iPad and iOS-hosted browsers — everything running the Apple camera capture pipeline,
109
+ * including iPads that present themselves as a Mac.
110
+ */
111
+ export declare function isAppleMobile(): boolean;
95
112
  export declare function isSafari17Based(): boolean;
96
113
  export declare function isSafariSvcApi(browser?: BrowserDetails): boolean;
97
114
  export declare function isMobile(): boolean;
@@ -209,6 +226,21 @@ export declare function encodeBase64(bytes: Uint8Array): string;
209
226
  export declare function decodeBase64(base64: string): Uint8Array;
210
227
  export declare function extractMaxAgeFromRequestHeaders(headers: Headers): number | undefined;
211
228
  export declare function isCompressionStreamSupported(): boolean;
229
+ /**
230
+ * Whether this runtime can compress AND decompress the `deflate-raw` format, which is a stricter
231
+ * requirement than {@link isCompressionStreamSupported}: Chromium 80-102 included
232
+ * `CompressionStream` supporting only `gzip` / `deflate`, and `deflate-raw` was added in Chromium
233
+ * 103 (Firefox 113, Safari 16.4).
234
+ */
235
+ export declare function isDeflateRawCompressionSupported(): boolean;
236
+ /**
237
+ * Clears the memoized {@link isDeflateRawCompressionSupported} probe result. A runtime doesn't
238
+ * gain or lose compression formats while it is running, so this only exists for tests that swap
239
+ * the global `CompressionStream` / `DecompressionStream`.
240
+ *
241
+ * @internal
242
+ */
243
+ export declare function resetDeflateRawCompressionSupportCache(): void;
212
244
  export declare function isPublisherOfferWithJoinSupported(): boolean;
213
245
  export declare function extractTrackSid(mediaTrack: MediaStreamTrack, stream: MediaStream): Track.SID | undefined;
214
246
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/room/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Swaps the global `CompressionStream` / `DecompressionStream` away entirely, emulating a runtime
3
+ * that predates the compression streams api. Returns a function that restores them.
4
+ */
5
+ export declare function stubMissingCompressionStreams(): () => void;
6
+ /**
7
+ * Swaps in global `CompressionStream` / `DecompressionStream` constructors that reject the
8
+ * `deflate-raw` format the way Chromium 80-102 does (the api exists, but only `gzip` / `deflate`
9
+ * are supported). Returns a function that restores the real ones.
10
+ */
11
+ export declare function stubMissingDeflateRawSupport(): () => void;
12
+ //# sourceMappingURL=compressionStreamStubs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressionStreamStubs.d.ts","sourceRoot":"","sources":["../../../src/test/compressionStreamStubs.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,MAAM,IAAI,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,MAAM,IAAI,CAKzD"}
@@ -1,185 +1,187 @@
1
- import { AddTrackRequest, AudioTrackFeature, ClientInfo_Capability, ConnectionQualityUpdate, DataTrackSubscriberHandles, JoinResponse, LeaveRequest, MediaSectionsRequirement, ParticipantInfo, PublishDataTrackResponse, ReconnectReason, ReconnectResponse, RequestResponse, Room, RoomMovedResponse, SessionDescription, SignalResponse, SignalTarget, SimulateScenario, SpeakerInfo, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SubscriptionResponse, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UnpublishDataTrackResponse, UpdateSubscription, UpdateTrackSettings, VideoLayer } from '@livekit/protocol';
2
- import type { DataTrackHandle } from '../room/data-track/handle';
3
- import type { DataTrackSid } from '../room/data-track/types';
4
- import type { LoggerOptions } from '../room/types';
5
- import { AsyncQueue } from '../utils/AsyncQueue';
6
- import { WebSocketStream } from './WebSocketStream';
7
- interface ConnectOpts extends SignalOptions {
8
- /** internal */
9
- reconnect?: boolean;
10
- /** internal */
11
- reconnectReason?: number;
12
- /** internal */
13
- sid?: string;
14
- }
15
- export interface SignalOptions {
16
- autoSubscribe: boolean;
17
- adaptiveStream?: boolean;
18
- clientInfoCapabilities?: ClientInfo_Capability[];
19
- maxRetries: number;
20
- e2eeEnabled: boolean;
21
- websocketTimeout: number;
22
- }
23
- export declare enum SignalConnectionState {
24
- CONNECTING = 0,
25
- CONNECTED = 1,
26
- RECONNECTING = 2,
27
- DISCONNECTING = 3,
28
- DISCONNECTED = 4
29
- }
30
- /** @internal */
31
- export declare class SignalClient {
32
- requestQueue: AsyncQueue;
33
- queuedRequests: Array<() => Promise<void>>;
34
- useJSON: boolean;
35
- /** signal rtt in milliseconds */
36
- rtt: number;
37
- /** simulate signaling latency by delaying messages */
38
- signalLatency?: number;
39
- onClose?: (reason: string) => void;
40
- onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
41
- [key: string]: string;
42
- }) => void;
43
- onOffer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
44
- [key: string]: string;
45
- }) => void;
46
- onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
47
- onParticipantUpdate?: (updates: ParticipantInfo[]) => void;
48
- onLocalTrackPublished?: (res: TrackPublishedResponse) => void;
49
- onNegotiateRequested?: () => void;
50
- onSpeakersChanged?: (res: SpeakerInfo[]) => void;
51
- onRemoteMuteChanged?: (trackSid: string, muted: boolean) => void;
52
- onRoomUpdate?: (room: Room) => void;
53
- onConnectionQuality?: (update: ConnectionQualityUpdate) => void;
54
- onStreamStateUpdate?: (update: StreamStateUpdate) => void;
55
- onSubscribedQualityUpdate?: (update: SubscribedQualityUpdate) => void;
56
- onSubscriptionPermissionUpdate?: (update: SubscriptionPermissionUpdate) => void;
57
- onSubscriptionError?: (update: SubscriptionResponse) => void;
58
- onLocalTrackUnpublished?: (res: TrackUnpublishedResponse) => void;
59
- onTokenRefresh?: (token: string) => void;
60
- onLeave?: (leave: LeaveRequest) => void;
61
- onRequestResponse?: (response: RequestResponse) => void;
62
- onLocalTrackSubscribed?: (trackSid: string) => void;
63
- onRoomMoved?: (res: RoomMovedResponse) => void;
64
- onMediaSectionsRequirement?: (requirement: MediaSectionsRequirement) => void;
65
- onPublishDataTrackResponse?: (event: PublishDataTrackResponse) => void;
66
- onUnPublishDataTrackResponse?: (event: UnpublishDataTrackResponse) => void;
67
- onDataTrackSubscriberHandles?: (event: DataTrackSubscriberHandles) => void;
68
- onJoined?: (event: JoinResponse) => void;
69
- connectOptions?: ConnectOpts;
70
- ws?: WebSocketStream;
71
- get currentState(): SignalConnectionState;
72
- get isDisconnected(): boolean;
73
- /** Runtime lifecycle state, finer grained than the public {@link currentState} projection. */
74
- private get lifecycleState();
75
- /** Id of the current connection attempt and of the transport it owns. */
76
- private get attemptId();
77
- /**
78
- * Applies a lifecycle input and reports whether it moved the machine
79
- */
80
- private sendLifecycleInput;
81
- /**
82
- * Waits out a close that is already in flight. Establishing a session while one is tearing down
83
- * would race it for the transport — the teardown can close the socket the new attempt just
84
- * opened.
85
- */
86
- private settleInFlightClose;
87
- private get isEstablishingConnection();
88
- private getNextRequestId;
89
- private options?;
90
- private pingTimeout;
91
- private pingTimeoutDuration;
92
- private pingIntervalDuration;
93
- private pingInterval;
94
- private closingLock;
95
- private machine;
96
- private connectionLock;
97
- private log;
98
- private loggerContextCb?;
99
- private _requestId;
100
- private streamWriter;
101
- private useV0SignalPath;
102
- constructor(useJSON?: boolean, loggerOptions?: LoggerOptions);
103
- private get logContext();
104
- join(url: string, token: string, opts: SignalOptions, abortSignal?: AbortSignal, useV0Path?: boolean, publisherOffer?: SessionDescription): Promise<JoinResponse>;
105
- reconnect(url: string, token: string, sid?: string, reason?: ReconnectReason): Promise<ReconnectResponse | undefined>;
106
- private connect;
107
- startReadingLoop(signalReader: ReadableStreamDefaultReader<string | ArrayBuffer>, firstMessage?: SignalResponse): Promise<void>;
108
- /** @internal */
109
- resetCallbacks: () => void;
110
- close(updateState?: boolean, reason?: string): Promise<void>;
111
- /**
112
- * Releases the transport and everything tied to it, without touching the lifecycle state. Used
113
- * both by {@link close} and by paths that replace the transport under a live lifecycle (a new
114
- * attempt, or an unexpected close that leaves the client in `offline`).
115
- */
116
- private teardownTransport;
117
- sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
118
- sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
119
- sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
120
- sendMuteTrack(trackSid: string, muted: boolean): Promise<void>;
121
- sendAddTrack(req: AddTrackRequest): Promise<void>;
122
- sendUpdateLocalMetadata(metadata: string, name: string, attributes?: Record<string, string>): Promise<number>;
123
- sendUpdateTrackSettings(settings: UpdateTrackSettings): void;
124
- sendUpdateSubscription(sub: UpdateSubscription): Promise<void>;
125
- sendSyncState(sync: SyncState): Promise<void>;
126
- sendUpdateVideoLayers(trackSid: string, layers: VideoLayer[]): Promise<void>;
127
- sendUpdateSubscriptionPermissions(allParticipants: boolean, trackPermissions: TrackPermission[]): Promise<void>;
128
- sendSimulateScenario(scenario: SimulateScenario): Promise<void>;
129
- sendPing(): Promise<[
130
- void,
131
- void
132
- ]>;
133
- sendUpdateLocalAudioTrack(trackSid: string, features: AudioTrackFeature[]): Promise<void>;
134
- sendLeave(): Promise<void>;
135
- sendPublishDataTrackRequest(handle: DataTrackHandle, name: string, usesE2ee: boolean): Promise<void>;
136
- sendUnPublishDataTrackRequest(handle: DataTrackHandle): Promise<void>;
137
- sendUpdateDataSubscription(sid: DataTrackSid, subscribe: boolean): Promise<void>;
138
- private sendRequest;
139
- private handleSignalResponse;
140
- setReconnected(): void;
141
- /**
142
- * Handles a transport we lost without asking to. The client goes to `offline` rather than
143
- * `closed`: whether this session gets resumed, restarted or given up on is the engine's call.
144
- */
145
- private handleOnClose;
146
- private handleWSError;
147
- /**
148
- * Resets the ping timeout and starts a new timeout.
149
- * Call this after receiving a pong message
150
- */
151
- private resetPingTimeout;
152
- /**
153
- * Clears ping timeout (does not start a new timeout)
154
- */
155
- private clearPingTimeout;
156
- private startPingInterval;
157
- private clearPingInterval;
158
- /**
159
- * Handles the successful connection to the signal server
160
- * @param connection The WebSocket connection
161
- * @param timeoutHandle The timeout handle to clear
162
- * @param firstMessage Optional first message to process
163
- * @internal
164
- */
165
- private handleSignalConnected;
166
- /**
167
- * Validates the first message received from the signal server
168
- * @param firstSignalResponse The first signal response received
169
- * @param isReconnect Whether this is a reconnection attempt
170
- * @returns Validation result with response or error
171
- * @internal
172
- */
173
- private validateFirstMessage;
174
- /**
175
- * Handles WebSocket connection errors by validating with the server
176
- * @param reason The error that occurred
177
- * @param validateUrl The URL to validate the connection with
178
- * @returns A ConnectionError with appropriate reason and status
179
- * @internal
180
- */
181
- private handleConnectionError;
182
- }
183
- export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit, id?: number): SessionDescription;
184
- export {};
185
- //# sourceMappingURL=SignalClient.d.ts.map
1
+ import { AddTrackRequest, AudioTrackFeature, ClientInfo_Capability, ConnectionQualityUpdate, DataTrackSubscriberHandles, JoinResponse, LeaveRequest, MediaSectionsRequirement, ParticipantInfo, PublishDataTrackResponse, ReconnectReason, ReconnectResponse, RequestResponse, Room, RoomMovedResponse, SessionDescription, SignalTarget, SimulateScenario, SpeakerInfo, StreamStateUpdate, SubscribedQualityUpdate, SubscriptionPermissionUpdate, SubscriptionResponse, SyncState, TrackPermission, TrackPublishedResponse, TrackUnpublishedResponse, UnpublishDataTrackResponse, UpdateSubscription, UpdateTrackSettings, VideoLayer } from '@livekit/protocol';
2
+ import type { DataTrackHandle } from '../room/data-track/handle';
3
+ import type { DataTrackSid } from '../room/data-track/types';
4
+ import type { LoggerOptions } from '../room/types';
5
+ import { AsyncQueue } from '../utils/AsyncQueue';
6
+ import { WebSocketStream } from './WebSocketStream';
7
+ interface ConnectOpts extends SignalOptions {
8
+ /** internal */
9
+ reconnect?: boolean;
10
+ /** internal */
11
+ reconnectReason?: number;
12
+ /** internal */
13
+ sid?: string;
14
+ }
15
+ export interface SignalOptions {
16
+ autoSubscribe: boolean;
17
+ adaptiveStream?: boolean;
18
+ disableIceLite?: boolean;
19
+ subscriberAllowPause?: boolean;
20
+ clientInfoCapabilities?: ClientInfo_Capability[];
21
+ maxRetries: number;
22
+ e2eeEnabled: boolean;
23
+ websocketTimeout: number;
24
+ }
25
+ export declare enum SignalConnectionState {
26
+ CONNECTING = 0,
27
+ CONNECTED = 1,
28
+ RECONNECTING = 2,
29
+ DISCONNECTING = 3,
30
+ DISCONNECTED = 4
31
+ }
32
+ /** @internal */
33
+ export declare class SignalClient {
34
+ requestQueue: AsyncQueue;
35
+ queuedRequests: Array<() => Promise<void>>;
36
+ useJSON: boolean;
37
+ /** signal rtt in milliseconds */
38
+ rtt: number;
39
+ /** simulate signaling latency by delaying messages */
40
+ signalLatency?: number;
41
+ onClose?: (reason: string) => void;
42
+ onAnswer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
43
+ [key: string]: string;
44
+ }) => void;
45
+ onOffer?: (sd: RTCSessionDescriptionInit, offerId: number, midToTrackId: {
46
+ [key: string]: string;
47
+ }) => void;
48
+ onTrickle?: (sd: RTCIceCandidateInit, target: SignalTarget) => void;
49
+ onParticipantUpdate?: (updates: ParticipantInfo[]) => void;
50
+ onLocalTrackPublished?: (res: TrackPublishedResponse) => void;
51
+ onNegotiateRequested?: () => void;
52
+ onSpeakersChanged?: (res: SpeakerInfo[]) => void;
53
+ onRemoteMuteChanged?: (trackSid: string, muted: boolean) => void;
54
+ onRoomUpdate?: (room: Room) => void;
55
+ onConnectionQuality?: (update: ConnectionQualityUpdate) => void;
56
+ onStreamStateUpdate?: (update: StreamStateUpdate) => void;
57
+ onSubscribedQualityUpdate?: (update: SubscribedQualityUpdate) => void;
58
+ onSubscriptionPermissionUpdate?: (update: SubscriptionPermissionUpdate) => void;
59
+ onSubscriptionError?: (update: SubscriptionResponse) => void;
60
+ onLocalTrackUnpublished?: (res: TrackUnpublishedResponse) => void;
61
+ onTokenRefresh?: (token: string) => void;
62
+ onLeave?: (leave: LeaveRequest) => void;
63
+ onRequestResponse?: (response: RequestResponse) => void;
64
+ onLocalTrackSubscribed?: (trackSid: string) => void;
65
+ onRoomMoved?: (res: RoomMovedResponse) => void;
66
+ onMediaSectionsRequirement?: (requirement: MediaSectionsRequirement) => void;
67
+ onPublishDataTrackResponse?: (event: PublishDataTrackResponse) => void;
68
+ onUnPublishDataTrackResponse?: (event: UnpublishDataTrackResponse) => void;
69
+ onDataTrackSubscriberHandles?: (event: DataTrackSubscriberHandles) => void;
70
+ onJoined?: (event: JoinResponse) => void;
71
+ connectOptions?: ConnectOpts;
72
+ ws?: WebSocketStream;
73
+ get currentState(): SignalConnectionState;
74
+ get isDisconnected(): boolean;
75
+ /** Runtime lifecycle state, finer grained than the public {@link currentState} projection. */
76
+ private get lifecycleState();
77
+ /** Id of the current connection attempt and of the transport it owns. */
78
+ private get attemptId();
79
+ /**
80
+ * Applies a lifecycle input and reports whether it moved the machine
81
+ */
82
+ private sendLifecycleInput;
83
+ /**
84
+ * Waits out a close that is already in flight. Establishing a session while one is tearing down
85
+ * would race it for the transport — the teardown can close the socket the new attempt just
86
+ * opened.
87
+ */
88
+ private settleInFlightClose;
89
+ private get isEstablishingConnection();
90
+ private getNextRequestId;
91
+ private options?;
92
+ private pingTimeout;
93
+ private pingTimeoutDuration;
94
+ private pingIntervalDuration;
95
+ private pingInterval;
96
+ private closingLock;
97
+ private machine;
98
+ private connectionLock;
99
+ private log;
100
+ private loggerContextCb?;
101
+ private _requestId;
102
+ private streamWriter;
103
+ private useV0SignalPath;
104
+ constructor(useJSON?: boolean, loggerOptions?: LoggerOptions);
105
+ private get logContext();
106
+ join(url: string, token: string, opts: SignalOptions, abortSignal?: AbortSignal, useV0Path?: boolean, publisherOffer?: SessionDescription): Promise<JoinResponse>;
107
+ reconnect(url: string, token: string, sid?: string, reason?: ReconnectReason): Promise<ReconnectResponse | undefined>;
108
+ private connect;
109
+ startReadingLoop(signalReader: ReadableStreamDefaultReader<string | ArrayBuffer>): Promise<void>;
110
+ /** @internal */
111
+ resetCallbacks: () => void;
112
+ close(updateState?: boolean, reason?: string): Promise<void>;
113
+ /**
114
+ * Releases the transport and everything tied to it, without touching the lifecycle state. Used
115
+ * both by {@link close} and by paths that replace the transport under a live lifecycle (a new
116
+ * attempt, or an unexpected close that leaves the client in `offline`).
117
+ */
118
+ private teardownTransport;
119
+ sendOffer(offer: RTCSessionDescriptionInit, offerId: number): void;
120
+ sendAnswer(answer: RTCSessionDescriptionInit, offerId: number): Promise<void>;
121
+ sendIceCandidate(candidate: RTCIceCandidateInit, target: SignalTarget): Promise<void>;
122
+ sendMuteTrack(trackSid: string, muted: boolean): Promise<void>;
123
+ sendAddTrack(req: AddTrackRequest): Promise<void>;
124
+ sendUpdateLocalMetadata(metadata: string, name: string, attributes?: Record<string, string>): Promise<number>;
125
+ sendUpdateTrackSettings(settings: UpdateTrackSettings): void;
126
+ sendUpdateSubscription(sub: UpdateSubscription): Promise<void>;
127
+ sendSyncState(sync: SyncState): Promise<void>;
128
+ sendUpdateVideoLayers(trackSid: string, layers: VideoLayer[]): Promise<void>;
129
+ sendUpdateSubscriptionPermissions(allParticipants: boolean, trackPermissions: TrackPermission[]): Promise<void>;
130
+ sendSimulateScenario(scenario: SimulateScenario): Promise<void>;
131
+ sendPing(): Promise<[
132
+ void,
133
+ void
134
+ ]>;
135
+ sendUpdateLocalAudioTrack(trackSid: string, features: AudioTrackFeature[]): Promise<void>;
136
+ sendLeave(): Promise<void>;
137
+ sendPublishDataTrackRequest(handle: DataTrackHandle, name: string, usesE2ee: boolean): Promise<void>;
138
+ sendUnPublishDataTrackRequest(handle: DataTrackHandle): Promise<void>;
139
+ sendUpdateDataSubscription(sid: DataTrackSid, subscribe: boolean): Promise<void>;
140
+ private sendRequest;
141
+ private handleSignalResponse;
142
+ setReconnected(): void;
143
+ /**
144
+ * Handles a transport we lost without asking to. The client goes to `offline` rather than
145
+ * `closed`: whether this session gets resumed, restarted or given up on is the engine's call.
146
+ */
147
+ private handleOnClose;
148
+ private handleWSError;
149
+ /**
150
+ * Resets the ping timeout and starts a new timeout.
151
+ * Call this after receiving a pong message
152
+ */
153
+ private resetPingTimeout;
154
+ /**
155
+ * Clears ping timeout (does not start a new timeout)
156
+ */
157
+ private clearPingTimeout;
158
+ private startPingInterval;
159
+ private clearPingInterval;
160
+ /**
161
+ * Handles the successful connection to the signal server
162
+ * @param connection The WebSocket connection
163
+ * @param timeoutHandle The timeout handle to clear
164
+ * @param firstMessage Optional first message to process
165
+ * @internal
166
+ */
167
+ private handleSignalConnected;
168
+ /**
169
+ * Validates the first message received from the signal server
170
+ * @param firstSignalResponse The first signal response received
171
+ * @param isReconnect Whether this is a reconnection attempt
172
+ * @returns Validation result with response or error
173
+ * @internal
174
+ */
175
+ private validateFirstMessage;
176
+ /**
177
+ * Handles WebSocket connection errors by validating with the server
178
+ * @param reason The error that occurred
179
+ * @param validateUrl The URL to validate the connection with
180
+ * @returns A ConnectionError with appropriate reason and status
181
+ * @internal
182
+ */
183
+ private handleConnectionError;
184
+ }
185
+ export declare function toProtoSessionDescription(rsd: RTCSessionDescription | RTCSessionDescriptionInit, id?: number): SessionDescription;
186
+ export {};
187
+ //# sourceMappingURL=SignalClient.d.ts.map