livekit-client 2.20.1 → 2.21.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 (156) hide show
  1. package/dist/livekit-client.e2ee.worker.js +1 -1
  2. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  3. package/dist/livekit-client.e2ee.worker.mjs +37 -7
  4. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  5. package/dist/livekit-client.esm.mjs +2279 -651
  6. package/dist/livekit-client.esm.mjs.map +1 -1
  7. package/dist/livekit-client.fm.worker.js +1 -1
  8. package/dist/livekit-client.fm.worker.js.map +1 -1
  9. package/dist/livekit-client.fm.worker.mjs +37 -7
  10. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  11. package/dist/livekit-client.umd.js +1 -1
  12. package/dist/livekit-client.umd.js.map +1 -1
  13. package/dist/src/api/SignalClient.d.ts.map +1 -1
  14. package/dist/src/index.d.ts +1 -1
  15. package/dist/src/index.d.ts.map +1 -1
  16. package/dist/src/logger.d.ts +3 -1
  17. package/dist/src/logger.d.ts.map +1 -1
  18. package/dist/src/room/PCTransport.d.ts +2 -0
  19. package/dist/src/room/PCTransport.d.ts.map +1 -1
  20. package/dist/src/room/PCTransportManager.d.ts +1 -0
  21. package/dist/src/room/PCTransportManager.d.ts.map +1 -1
  22. package/dist/src/room/RTCEngine.d.ts +31 -26
  23. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  24. package/dist/src/room/RegionUrlProvider.d.ts.map +1 -1
  25. package/dist/src/room/Room.d.ts +4 -0
  26. package/dist/src/room/Room.d.ts.map +1 -1
  27. package/dist/src/room/data-channel/DataChannelManager.d.ts +62 -0
  28. package/dist/src/room/data-channel/DataChannelManager.d.ts.map +1 -0
  29. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
  30. package/dist/src/room/data-channel/FlowControlledDataChannel.d.ts.map +1 -0
  31. package/dist/src/room/data-channel/LossyDataChannel.d.ts +40 -0
  32. package/dist/src/room/data-channel/LossyDataChannel.d.ts.map +1 -0
  33. package/dist/src/room/data-channel/ReliableDataChannel.d.ts +56 -0
  34. package/dist/src/room/data-channel/ReliableDataChannel.d.ts.map +1 -0
  35. package/dist/src/room/data-channel/types.d.ts +12 -0
  36. package/dist/src/room/data-channel/types.d.ts.map +1 -0
  37. package/dist/src/room/data-stream/compression.d.ts +49 -0
  38. package/dist/src/room/data-stream/compression.d.ts.map +1 -0
  39. package/dist/src/room/data-stream/constants.d.ts +18 -0
  40. package/dist/src/room/data-stream/constants.d.ts.map +1 -0
  41. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
  42. package/dist/src/room/data-stream/incoming/IncomingDataStreamManager.d.ts.map +1 -1
  43. package/dist/src/room/data-stream/incoming/StreamReader.d.ts.map +1 -1
  44. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
  45. package/dist/src/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts.map +1 -1
  46. package/dist/src/room/data-stream/outgoing/header-utils.d.ts +18 -0
  47. package/dist/src/room/data-stream/outgoing/header-utils.d.ts.map +1 -0
  48. package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts +7 -0
  49. package/dist/src/room/data-track/incoming/IncomingDataTrackManager.d.ts.map +1 -1
  50. package/dist/src/room/data-track/outgoing/OutgoingDataTrackManager.d.ts.map +1 -1
  51. package/dist/src/room/errors.d.ts +3 -1
  52. package/dist/src/room/errors.d.ts.map +1 -1
  53. package/dist/src/room/participant/LocalParticipant.d.ts +9 -1
  54. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  55. package/dist/src/room/participant/Participant.d.ts.map +1 -1
  56. package/dist/src/room/participant/RemoteParticipant.d.ts +11 -2
  57. package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
  58. package/dist/src/room/participant/publishUtils.d.ts +7 -0
  59. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  60. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  61. package/dist/src/room/rpc/server/RpcServerManager.d.ts.map +1 -1
  62. package/dist/src/room/track/LocalAudioTrack.d.ts +1 -0
  63. package/dist/src/room/track/LocalAudioTrack.d.ts.map +1 -1
  64. package/dist/src/room/track/Track.d.ts.map +1 -1
  65. package/dist/src/room/track/options.d.ts +11 -1
  66. package/dist/src/room/track/options.d.ts.map +1 -1
  67. package/dist/src/room/types.d.ts +17 -0
  68. package/dist/src/room/types.d.ts.map +1 -1
  69. package/dist/src/room/utils.d.ts +13 -0
  70. package/dist/src/room/utils.d.ts.map +1 -1
  71. package/dist/src/test/signalToken.d.ts +26 -0
  72. package/dist/src/test/signalToken.d.ts.map +1 -0
  73. package/dist/src/utils/dataPacketBuffer.d.ts +18 -0
  74. package/dist/src/utils/dataPacketBuffer.d.ts.map +1 -1
  75. package/dist/src/version.d.ts +5 -1
  76. package/dist/src/version.d.ts.map +1 -1
  77. package/dist/ts4.2/index.d.ts +1 -1
  78. package/dist/ts4.2/logger.d.ts +3 -1
  79. package/dist/ts4.2/room/PCTransport.d.ts +2 -0
  80. package/dist/ts4.2/room/PCTransportManager.d.ts +1 -0
  81. package/dist/ts4.2/room/RTCEngine.d.ts +31 -26
  82. package/dist/ts4.2/room/Room.d.ts +4 -0
  83. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -0
  84. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +95 -0
  85. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -0
  86. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -0
  87. package/dist/ts4.2/room/data-channel/types.d.ts +12 -0
  88. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -0
  89. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -0
  90. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +4 -0
  91. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +49 -2
  92. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -0
  93. package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +7 -0
  94. package/dist/ts4.2/room/errors.d.ts +3 -1
  95. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +9 -1
  96. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +11 -1
  97. package/dist/ts4.2/room/participant/publishUtils.d.ts +7 -0
  98. package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +1 -0
  99. package/dist/ts4.2/room/track/options.d.ts +11 -1
  100. package/dist/ts4.2/room/types.d.ts +17 -0
  101. package/dist/ts4.2/room/utils.d.ts +13 -0
  102. package/dist/ts4.2/test/signalToken.d.ts +26 -0
  103. package/dist/ts4.2/utils/dataPacketBuffer.d.ts +18 -0
  104. package/dist/ts4.2/version.d.ts +5 -1
  105. package/package.json +8 -4
  106. package/src/api/SignalClient.e2e.test.ts +264 -0
  107. package/src/api/SignalClient.ts +34 -2
  108. package/src/index.ts +2 -0
  109. package/src/logger.ts +2 -0
  110. package/src/room/PCTransport.ts +66 -31
  111. package/src/room/PCTransportManager.ts +10 -6
  112. package/src/room/RTCEngine.test.ts +238 -6
  113. package/src/room/RTCEngine.ts +101 -338
  114. package/src/room/RegionUrlProvider.ts +4 -2
  115. package/src/room/Room.test.ts +4 -1
  116. package/src/room/Room.ts +47 -9
  117. package/src/room/data-channel/DataChannelManager.test.ts +152 -0
  118. package/src/room/data-channel/DataChannelManager.ts +237 -0
  119. package/src/room/data-channel/FlowControlledDataChannel.test.ts +154 -0
  120. package/src/room/data-channel/FlowControlledDataChannel.ts +216 -0
  121. package/src/room/data-channel/LossyDataChannel.test.ts +118 -0
  122. package/src/room/data-channel/LossyDataChannel.ts +125 -0
  123. package/src/room/data-channel/ReliableDataChannel.test.ts +158 -0
  124. package/src/room/data-channel/ReliableDataChannel.ts +153 -0
  125. package/src/room/data-channel/types.ts +30 -0
  126. package/src/room/data-stream/compression.ts +117 -0
  127. package/src/room/data-stream/constants.ts +18 -0
  128. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +1601 -0
  129. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +438 -86
  130. package/src/room/data-stream/incoming/StreamReader.ts +8 -2
  131. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +1292 -0
  132. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +489 -116
  133. package/src/room/data-stream/outgoing/header-utils.ts +87 -0
  134. package/src/room/data-track/incoming/IncomingDataTrackManager.test.ts +303 -0
  135. package/src/room/data-track/incoming/IncomingDataTrackManager.ts +70 -8
  136. package/src/room/data-track/outgoing/OutgoingDataTrackManager.ts +2 -0
  137. package/src/room/errors.ts +10 -4
  138. package/src/room/participant/LocalParticipant.ts +29 -6
  139. package/src/room/participant/Participant.ts +5 -0
  140. package/src/room/participant/RemoteParticipant.ts +19 -5
  141. package/src/room/participant/publishUtils.ts +14 -11
  142. package/src/room/rpc/client/RpcClientManager.test.ts +20 -27
  143. package/src/room/rpc/client/RpcClientManager.ts +1 -4
  144. package/src/room/rpc/server/RpcServerManager.test.ts +24 -23
  145. package/src/room/rpc/server/RpcServerManager.ts +1 -3
  146. package/src/room/track/LocalAudioTrack.ts +16 -0
  147. package/src/room/track/Track.ts +10 -6
  148. package/src/room/track/options.ts +11 -1
  149. package/src/room/types.ts +18 -0
  150. package/src/room/utils.ts +67 -0
  151. package/src/test/signalServerSetup.ts +151 -0
  152. package/src/test/signalToken.ts +59 -0
  153. package/src/test/vitest-context.d.ts +10 -0
  154. package/src/utils/dataPacketBuffer.test.ts +100 -0
  155. package/src/utils/dataPacketBuffer.ts +46 -1
  156. package/src/version.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Track.d.ts","sourceRoot":"","sources":["../../../../src/room/track/Track.ts"],"names":[],"mappings":"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"}
@@ -71,7 +71,17 @@ export interface TrackPublishDefaults {
71
71
  */
72
72
  scalabilityMode?: ScalabilityMode;
73
73
  /**
74
- * degradation preference
74
+ * Controls how the encoder trades off between resolution and framerate
75
+ * when bandwidth is constrained.
76
+ *
77
+ * - 'maintain-framerate': Prioritizes framerate, reduces resolution if needed
78
+ * - 'maintain-resolution': Prioritizes resolution, drops frames if needed
79
+ * - 'balanced': Balances between both
80
+ *
81
+ * If not set, the SDK uses defaults based on track source:
82
+ * - Camera: 'maintain-framerate' (smoother video for real-time communication)
83
+ * - Screen share: 'maintain-resolution' (clarity is critical for text/UI)
84
+ * - Other/unknown: 'balanced'
75
85
  */
76
86
  degradationPreference?: RTCDegradationPreference;
77
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/room/track/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/room/track/options.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,20 @@ export interface SendTextOptions {
18
18
  attachments?: Array<File>;
19
19
  onProgress?: (progress: number) => void;
20
20
  attributes?: Record<string, string>;
21
+ /** Whether to compress the payload (deflate-raw). Defaults to true. Compression is only applied
22
+ * when every recipient supports data streams v2 and the runtime can compress. */
23
+ compress?: boolean;
24
+ }
25
+ export interface SendBytesOptions {
26
+ topic?: string;
27
+ destinationIdentities?: Array<string>;
28
+ attributes?: Record<string, string>;
29
+ onProgress?: (progress: number) => void;
30
+ /** Whether to compress the payload (deflate-raw). Defaults to true. Compression is only applied
31
+ * when every recipient supports data streams v2 and the runtime can compress. */
32
+ compress?: boolean;
33
+ name?: string;
34
+ mimeType?: string;
21
35
  }
22
36
  export interface StreamTextOptions {
23
37
  topic?: string;
@@ -42,6 +56,9 @@ export type StreamBytesOptions = {
42
56
  export type SendFileOptions = Pick<StreamBytesOptions, 'topic' | 'mimeType' | 'destinationIdentities'> & {
43
57
  onProgress?: (progress: number) => void;
44
58
  encryptionType?: Encryption_Type.NONE;
59
+ /** Whether to compress the payload (deflate-raw). Defaults to true. Compression is only applied
60
+ * when every recipient supports data streams v2 and the runtime can compress. */
61
+ compress?: boolean;
45
62
  };
46
63
  export type DataPublishOptions = {
47
64
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/room/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/room/types.ts"],"names":[],"mappings":"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"}
@@ -146,6 +146,19 @@ export declare function isRemoteVideoTrack(track: Track | undefined): track is R
146
146
  export declare function isLocalParticipant(p: Participant): p is LocalParticipant;
147
147
  export declare function isRemoteParticipant(p: Participant): p is RemoteParticipant;
148
148
  export declare function splitUtf8(s: string, n: number): NonSharedUint8Array[];
149
+ /** Wraps a byte array in a `ReadableStream` that yields it as a single chunk and then closes. */
150
+ export declare function readableFromBytes(bytes: NonSharedUint8Array): ReadableStream<NonSharedUint8Array>;
151
+ /**
152
+ * Re-chunks a byte stream into pieces of exactly `chunkSize` bytes (the final piece may be
153
+ * smaller), coalescing or splitting the source's pieces as needed. Memory use is bounded to roughly
154
+ * `chunkSize` plus one source read, so it never buffers the whole stream — used to pack
155
+ * `CompressionStream`/`file.stream()` output into MTU-sized data-stream chunks.
156
+ */
157
+ export declare function readBytesInChunks(source: ReadableStream<NonSharedUint8Array>, chunkSize: number): AsyncGenerator<NonSharedUint8Array>;
158
+ /** Encodes a byte array as a base64 string (suitable for embedding binary data in a string field). */
159
+ export declare function encodeBase64(bytes: Uint8Array): string;
160
+ /** Decodes a base64 string (as produced by {@link encodeBase64}) back into a byte array. */
161
+ export declare function decodeBase64(base64: string): Uint8Array;
149
162
  export declare function extractMaxAgeFromRequestHeaders(headers: Headers): number | undefined;
150
163
  export declare function isCompressionStreamSupported(): boolean;
151
164
  export declare function isPublisherOfferWithJoinSupported(): boolean;
@@ -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,26 @@
1
+ /**
2
+ * Mint a LiveKit access token for the mock test-server (HS256, dev secret).
3
+ *
4
+ * The mock's signal behavior mode is selected via a participant attribute
5
+ * under the reserved key `lk.mock` (dot notation, matching LiveKit's internal
6
+ * attribute convention), whose value is the JSON control object
7
+ * `{"signal":"<mode>"}` — mirroring the X-Lk-Mock header protocol. Attributes
8
+ * are a standard AccessToken field (a string map), so a dedicated `lk-mock`
9
+ * key coexists with any real metadata/attributes and needs no bespoke token
10
+ * construction. The room name is just a room; it no longer encodes behavior.
11
+ */
12
+ export interface TokenOptions {
13
+ /** Mock behavior mode (e.g. 'no_pong'); omitted → the mock defaults to 'happy'. */
14
+ signal?: string;
15
+ /** LeaveRequest action the leave modes should send (0=DISCONNECT,1=RESUME,2=RECONNECT). */
16
+ leaveAction?: number;
17
+ room?: string;
18
+ identity?: string;
19
+ apiKey?: string;
20
+ secret?: string;
21
+ ttlSeconds?: number;
22
+ }
23
+ export declare function createToken(opts?: TokenOptions): Promise<string>;
24
+ /** A syntactically-valid token signed with the WRONG secret — for 401 tests. */
25
+ export declare function createInvalidToken(): Promise<string>;
26
+ //# sourceMappingURL=signalToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signalToken.d.ts","sourceRoot":"","sources":["../../../src/test/signalToken.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,WAAW,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B1E;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1D"}
@@ -2,13 +2,31 @@ import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arr
2
2
  export interface DataPacketItem {
3
3
  data: NonSharedUint8Array;
4
4
  sequence: number;
5
+ /**
6
+ * Whether the packet has been handed to the data channel. Unsent packets are queued for the
7
+ * resume replay (e.g. sends that landed in a reconnect window) and must never be trimmed by
8
+ * {@link DataPacketBuffer.alignBufferedAmount}, which reasons about the channel's buffered
9
+ * bytes — those only ever contain sent packets.
10
+ */
11
+ sent: boolean;
5
12
  }
6
13
  export declare class DataPacketBuffer {
7
14
  private buffer;
8
15
  private _totalSize;
16
+ private _sentSize;
9
17
  push(item: DataPacketItem): void;
10
18
  pop(): DataPacketItem | undefined;
11
19
  getAll(): DataPacketItem[];
20
+ /** Every queued packet not yet handed to the channel, in sequence order. */
21
+ getUnsent(): DataPacketItem[];
22
+ /** Marks a single queued packet as handed to the channel. */
23
+ markSent(item: DataPacketItem): void;
24
+ /**
25
+ * Marks every queued packet as not-yet-sent. Used at the start of a resume replay: whatever is
26
+ * still buffered was sent on the previous channel (or deferred) and must be re-handed to the
27
+ * current one, so none of it counts as sent until the replay actually transmits it.
28
+ */
29
+ markAllUnsent(): void;
12
30
  popToSequence(sequence: number): void;
13
31
  alignBufferedAmount(bufferedAmount: number): void;
14
32
  get length(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"dataPacketBuffer.d.ts","sourceRoot":"","sources":["../../../src/utils/dataPacketBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,UAAU,CAAK;IAEvB,IAAI,CAAC,IAAI,EAAE,cAAc;IAKzB,GAAG,IAAI,cAAc,GAAG,SAAS;IAQjC,MAAM,IAAI,cAAc,EAAE;IAI1B,aAAa,CAAC,QAAQ,EAAE,MAAM;IAW9B,mBAAmB,CAAC,cAAc,EAAE,MAAM;IAU1C,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
1
+ {"version":3,"file":"dataPacketBuffer.d.ts","sourceRoot":"","sources":["../../../src/utils/dataPacketBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAErF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,SAAS,CAAK;IAEtB,IAAI,CAAC,IAAI,EAAE,cAAc;IAQzB,GAAG,IAAI,cAAc,GAAG,SAAS;IAWjC,MAAM,IAAI,cAAc,EAAE;IAI1B,4EAA4E;IAC5E,SAAS,IAAI,cAAc,EAAE;IAI7B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,cAAc;IAO7B;;;;OAIG;IACH,aAAa;IAOb,aAAa,CAAC,QAAQ,EAAE,MAAM;IAW9B,mBAAmB,CAAC,cAAc,EAAE,MAAM;IAe1C,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
@@ -5,7 +5,11 @@ export declare const CLIENT_PROTOCOL_DEFAULT = 0;
5
5
  /** Replaces RPC v1 protocol with a v2 data streams based one to support unlimited request /
6
6
  * response payload length. */
7
7
  export declare const CLIENT_PROTOCOL_DATA_STREAM_RPC = 1;
8
+ /** "Data streams v2": the client knows how to receive a single-packet data stream (a stream whose
9
+ * entire payload is smuggled into the header packet, with no chunk/trailer packets). Senders only
10
+ * use the single-packet optimization when the recipient advertises at least this protocol. */
11
+ export declare const CLIENT_PROTOCOL_DATA_STREAM_V2 = 2;
8
12
  /** The client protocol version indicates what level of support that the client has for
9
13
  * client <-> client api interactions. */
10
- export declare const clientProtocol = 1;
14
+ export declare const clientProtocol = 2;
11
15
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,QAAI,CAAC;AACzB,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,+BAA+B;AAC/B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC;8BAC8B;AAC9B,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;yCACyC;AACzC,eAAO,MAAM,cAAc,IAAkC,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,QAAI,CAAC;AACzB,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,+BAA+B;AAC/B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC;8BAC8B;AAC9B,eAAO,MAAM,+BAA+B,IAAI,CAAC;AACjD;;8FAE8F;AAC9F,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD;yCACyC;AACzC,eAAO,MAAM,cAAc,IAAiC,CAAC"}
@@ -59,7 +59,7 @@ export * from './room/track/processor/types';
59
59
  export * from './room/track/types';
60
60
  export type * from './room/data-stream/incoming/StreamReader';
61
61
  export type * from './room/data-stream/outgoing/StreamWriter';
62
- export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, } from './room/types';
62
+ export type { DataPublishOptions, SimulationScenario, TranscriptionSegment, ChatMessage, SendTextOptions, SendBytesOptions, ByteStreamInfo, } from './room/types';
63
63
  export * from './version';
64
64
  export {
65
65
  /** @internal */
@@ -19,7 +19,9 @@ export declare enum LoggerNames {
19
19
  PCManager = "livekit-pc-manager",
20
20
  PCTransport = "livekit-pc-transport",
21
21
  E2EE = "lk-e2ee",
22
- DataTracks = "livekit-data-tracks"
22
+ DataTracks = "livekit-data-tracks",
23
+ Region = "livekit-region",
24
+ ICE = "livekit-ice"
23
25
  }
24
26
  type LogLevelString = keyof typeof LogLevel;
25
27
  export type StructuredLogger = log.Logger & {
@@ -7,6 +7,7 @@ interface TrackBitrateInfo {
7
7
  transceiver?: RTCRtpTransceiver;
8
8
  codec: string;
9
9
  maxbr: number;
10
+ isScreenShare?: boolean;
10
11
  }
11
12
  export declare const PCEvents: {
12
13
  readonly NegotiationStarted: "negotiationStarted";
@@ -21,6 +22,7 @@ export default class PCTransport extends PCTransport_base {
21
22
  private get pc();
22
23
  private config?;
23
24
  private log;
25
+ private iceLog;
24
26
  private loggerOptions;
25
27
  private ddExtID;
26
28
  latestOfferId: number;
@@ -30,6 +30,7 @@ export declare class PCTransportManager {
30
30
  private connectionLock;
31
31
  private remoteOfferLock;
32
32
  private log;
33
+ private iceLog;
33
34
  private loggerOptions;
34
35
  private _mode;
35
36
  get mode(): PCMode;
@@ -8,6 +8,7 @@ import type { InternalRoomOptions } from '../options';
8
8
  import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
9
9
  import PCTransport from './PCTransport';
10
10
  import { PCTransportManager } from './PCTransportManager';
11
+ import { DataChannelKind } from './data-channel/types';
11
12
  import { DataTrackInfo } from './data-track/types';
12
13
  import type LocalTrack from './track/LocalTrack';
13
14
  import type LocalTrackPublication from './track/LocalTrackPublication';
@@ -16,11 +17,7 @@ import type { SimulcastTrackInfo } from './track/LocalVideoTrack';
16
17
  import type RemoteTrackPublication from './track/RemoteTrackPublication';
17
18
  import type { Track } from './track/Track';
18
19
  import type { TrackPublishOptions, VideoCodec } from './track/options';
19
- export declare enum DataChannelKind {
20
- RELIABLE = 0,
21
- LOSSY = 1,
22
- DATA_TRACK_LOSSY = 2
23
- }
20
+ export { DataChannelKind };
24
21
  declare const RTCEngine_base: new () => TypedEventEmitter<EngineEventCallbacks>;
25
22
  /** @internal */
26
23
  export default class RTCEngine extends RTCEngine_base {
@@ -43,13 +40,15 @@ export default class RTCEngine extends RTCEngine_base {
43
40
  get isClosed(): boolean;
44
41
  get isNewlyCreated(): boolean;
45
42
  get pendingReconnect(): boolean;
46
- private lossyDC?;
47
- private lossyDCSub?;
48
- private reliableDC?;
49
- private reliableDCSub?;
50
- private dataTrackDC?;
51
- private dataTrackDCSub?;
52
- private dcBufferStatus;
43
+ /**
44
+ * Owns the data channels: the three flow-controlled publisher wrappers (engine-lifetime; the
45
+ * RTCDataChannel handles underneath are attached/detached as peer connections come and go, with
46
+ * waiter invalidation built into the turnover) plus the subscriber-side receive handles.
47
+ */
48
+ private dataChannels;
49
+ private get reliableChannel();
50
+ private get lossyChannel();
51
+ private get dataTrackChannel();
53
52
  private subscriberPrimary;
54
53
  private pcState;
55
54
  private _isClosed;
@@ -77,17 +76,10 @@ export default class RTCEngine extends RTCEngine_base {
77
76
  private log;
78
77
  private loggerOptions;
79
78
  private publisherConnectionPromise;
80
- private reliableDataSequence;
81
- private reliableMessageBuffer;
82
79
  private reliableReceivedState;
83
- private lossyDataStatCurrentBytes;
84
- private lossyDataStatByterate;
85
- private lossyDataStatInterval;
86
- private lossyDataDropCount;
87
80
  private midToTrackId;
88
81
  /** used to indicate whether the browser is currently waiting to reconnect */
89
82
  private isWaitingForNetworkReconnect;
90
- private bufferStatusLowClosingFuture;
91
83
  constructor(options: InternalRoomOptions);
92
84
  /** @internal */
93
85
  get logContext(): {
@@ -131,11 +123,12 @@ export default class RTCEngine extends RTCEngine_base {
131
123
  private addMediaSections;
132
124
  private createDataChannels;
133
125
  private handleDataChannel;
126
+ /** Normalizes an incoming data-channel message into bytes, or logs and returns undefined. */
127
+ private decodeDataMessage;
134
128
  private handleDataMessage;
135
129
  private handleDataTrackMessage;
136
130
  private handleDataError;
137
131
  private handleDataChannelClose;
138
- private handleBufferedAmountLow;
139
132
  createSender(track: LocalTrack, opts: TrackPublishOptions, encodings?: RTCRtpEncodingParameters[]): Promise<RTCRtpSender>;
140
133
  createSimulcastSender(track: LocalVideoTrack, simulcastTrack: SimulcastTrackInfo, opts: TrackPublishOptions, encodings?: RTCRtpEncodingParameters[]): Promise<RTCRtpSender | undefined>;
141
134
  private get frameMetadataWorker();
@@ -153,12 +146,25 @@ export default class RTCEngine extends RTCEngine_base {
153
146
  waitForRestarted: () => Promise<void>;
154
147
  /** @internal */
155
148
  publishRpcAck(destinationIdentity: string, requestId: string): Promise<void>;
156
- sendDataPacket(packet: DataPacket, kind: DataChannelKind): Promise<void>;
157
- sendLossyBytes(bytes: NonSharedUint8Array, kind: Exclude<DataChannelKind, DataChannelKind.RELIABLE>, bufferStatusLowBehavior?: 'drop' | 'wait'): Promise<void>;
149
+ sendDataPacket(packet: DataPacket,
150
+ /** Data-track frames don't come through here — they're sent pre-serialized via {@link sendDataTrackFrame }. */
151
+ kind: Exclude<DataChannelKind, DataChannelKind.DATA_TRACK_LOSSY>): Promise<void>;
152
+ /**
153
+ * Sends pre-serialized bytes on the data-track channel. This is the one send path that doesn't
154
+ * go through {@link sendDataPacket} — Room's `packetAvailable` handler calls it directly with
155
+ * bytes the data-track pipeline already serialized.
156
+ *
157
+ * @internal
158
+ */
159
+ sendDataTrackFrame(bytes: NonSharedUint8Array): Promise<void>;
158
160
  private resendReliableMessagesForResume;
159
- private updateAndEmitDCBufferStatus;
160
- private isBufferStatusLow;
161
- waitForBufferStatusLow(kind: DataChannelKind): Promise<void>;
161
+ /** The flow-control gate for `kind` — see {@link FlowControlledDataChannel}. */
162
+ private flowControlFor;
163
+ /**
164
+ * Resolves once the caller may send on the `kind` channel — see
165
+ * {@link FlowControlledDataChannel.waitForHeadroomWithLock}.
166
+ */
167
+ waitForBufferHeadroom(kind: DataChannelKind): Promise<void>;
162
168
  /**
163
169
  * @internal
164
170
  */
@@ -228,5 +234,4 @@ export interface RegionStrategy {
228
234
  getNextUrl(abortSignal?: AbortSignal): Promise<string | null>;
229
235
  resetAttempts(): void;
230
236
  }
231
- export {};
232
237
  //# sourceMappingURL=RTCEngine.d.ts.map
@@ -268,7 +268,11 @@ declare class Room extends Room_base {
268
268
  */
269
269
  private updateSubscriptions;
270
270
  private getRemoteParticipantBySid;
271
+ /** The client capabilities this SDK advertises to other participants in its `ClientInfo`. */
272
+ private getClientInfoCapabilities;
271
273
  private getRemoteParticipantClientProtocol;
274
+ private getRemoteParticipantCapabilities;
275
+ private getAllRemoteParticipantIdentities;
272
276
  private registerRpcDataStreamHandler;
273
277
  private registerConnectionReconcile;
274
278
  private clearConnectionReconcile;
@@ -0,0 +1,62 @@
1
+ import type { PCTransportManager } from '../PCTransportManager';
2
+ import { FlowControlledDataChannel } from './FlowControlledDataChannel';
3
+ import { LossyDataChannel } from './LossyDataChannel';
4
+ import { ReliableDataChannel } from './ReliableDataChannel';
5
+ import { DataChannelKind } from './types';
6
+ export interface DataChannelManagerOptions {
7
+ /** Whether the owning engine has been closed — a closed engine rejects headroom waiters. */
8
+ isEngineClosed: () => boolean;
9
+ /**
10
+ * Whether a reconnect attempt is underway: reliable sends defer to the resume replay and lossy
11
+ * sends are skipped while this is true.
12
+ */
13
+ isReconnecting: () => boolean;
14
+ onDataMessage: (message: MessageEvent) => void;
15
+ onDataTrackMessage: (message: MessageEvent) => void;
16
+ onDataError: (event: Event) => void;
17
+ onChannelClose: (kind: DataChannelKind) => void;
18
+ /** A channel's buffer crossed its low-water mark (debounced). Drives DCBufferStatusChanged. */
19
+ onBufferStatusChanged: (kind: DataChannelKind, isLow: boolean) => void;
20
+ }
21
+ /**
22
+ * Owns the engine's data channels: the three flow-controlled publisher channel wrappers (which
23
+ * live for the engine's lifetime and have RTCDataChannel handles attached/detached as peer
24
+ * connections come and go) plus the subscriber-side receive handles adopted by label.
25
+ *
26
+ * Handle turnover goes through {@link FlowControlledDataChannel.attach}/`detach`, which reject
27
+ * parked headroom waiters as a built-in — there is no separate invalidation step to forget.
28
+ */
29
+ export declare class DataChannelManager {
30
+ readonly reliable: ReliableDataChannel;
31
+ readonly lossy: LossyDataChannel;
32
+ readonly dataTrack: LossyDataChannel;
33
+ private reliableSub?;
34
+ private lossySub?;
35
+ private dataTrackSub?;
36
+ private opts;
37
+ constructor(opts: DataChannelManagerOptions);
38
+ /** The flow-control wrapper for `kind`. */
39
+ channelFor(kind: DataChannelKind): FlowControlledDataChannel;
40
+ /** The raw RTCDataChannel handle for `kind`, publisher side by default. */
41
+ getHandle(kind: DataChannelKind, subscriber?: boolean): RTCDataChannel | undefined;
42
+ get hasPublisherChannels(): boolean;
43
+ /**
44
+ * Creates the three publisher data channels on the given transport, wires their handlers, and
45
+ * attaches them to the wrappers — attaching rejects any waiters still parked on replaced
46
+ * channel objects.
47
+ */
48
+ createPublisherChannels(pcManager: PCTransportManager): void;
49
+ /**
50
+ * Adopts a subscriber-side data channel by label, wiring the matching receive handler.
51
+ * Returns false for labels this manager doesn't own.
52
+ */
53
+ adoptSubscriberChannel(channel: RTCDataChannel): boolean;
54
+ /**
55
+ * Tears down all channels for a peer-connection cleanup: rejects parked waiters (detach — the
56
+ * spec allows `pc.close()` to transition channels to 'closed' without firing events, so waiting
57
+ * for browser close events is not an option), strips handlers, closes the handles, and resets
58
+ * the reliable session state.
59
+ */
60
+ teardown(): void;
61
+ }
62
+ //# sourceMappingURL=DataChannelManager.d.ts.map
@@ -0,0 +1,95 @@
1
+ import type { DataChannelKind } from './types';
2
+ export interface FlowControlledDataChannelOptions {
3
+ kind: DataChannelKind;
4
+ /** Buffer level (bytes) at which blocked senders resume; armed as `bufferedAmountLowThreshold`. */
5
+ lowWaterMark: number;
6
+ /** Buffer level (bytes) above which senders block until the buffer drains to the low mark. */
7
+ highWaterMark: number;
8
+ /** Whether the owning engine has been closed — a closed engine rejects waiters immediately. */
9
+ isEngineClosed: () => boolean;
10
+ /**
11
+ * Notified when the buffer crosses the low-water mark in either direction (debounced: fires only
12
+ * on an actual change). Drives the engine's public DCBufferStatusChanged event.
13
+ */
14
+ onBufferStatusChanged?: (isLow: boolean) => void;
15
+ }
16
+ /**
17
+ * Two-watermark flow control for one data channel kind.
18
+ *
19
+ * Owns the per-kind headroom gate: senders proceed freely while the buffer is at or below the
20
+ * high-water mark and otherwise block — serialized FIFO through a mutex — until the browser's
21
+ * `bufferedamountlow` event (armed at the low-water mark) signals the buffer has drained. The
22
+ * serialization prevents woken senders from all refilling at once and overflowing the SCTP send
23
+ * buffer (see livekit/client-sdk-js#1995).
24
+ *
25
+ * Waiters are parked on the channel object captured at wait entry. If that object stops being
26
+ * current — replaced or torn down — its events may never fire again, so the owner must call
27
+ * {@link invalidateWaiters}, which aborts parked waiters (releasing the gate); the next waiter
28
+ * gets a fresh controller.
29
+ */
30
+ export declare class FlowControlledDataChannel {
31
+ readonly kind: DataChannelKind;
32
+ readonly lowWaterMark: number;
33
+ readonly highWaterMark: number;
34
+ protected isEngineClosed: () => boolean;
35
+ private onBufferStatusChanged?;
36
+ /** Last emitted low-water status; starts true (an empty buffer is below the mark). */
37
+ private bufferStatusLow;
38
+ private handle?;
39
+ private headroomLock;
40
+ /** Cancels parked headroom waiters when the handle is replaced or torn down. */
41
+ private waiterAbortController;
42
+ constructor(opts: FlowControlledDataChannelOptions);
43
+ /** The currently attached RTCDataChannel handle, if any. */
44
+ get channelHandle(): RTCDataChannel | undefined;
45
+ /**
46
+ * Attaches the channel handle this wrapper controls. Replacing an existing handle rejects
47
+ * parked waiters — their events would never fire again on the abandoned object — and installs a
48
+ * fresh controller, so queued senders re-check against the new channel. Wrappers outlive their
49
+ * handles: this is the one place handle turnover happens, which is what makes stranding a
50
+ * waiter structurally impossible.
51
+ */
52
+ attach(dc: RTCDataChannel): void;
53
+ /** Detaches the handle on teardown, rejecting parked waiters. */
54
+ detach(reason?: string): void;
55
+ protected getChannel(): RTCDataChannel | undefined;
56
+ /**
57
+ * Whether the send buffer has room to accept more data (the send gate). Senders proceed while
58
+ * this is true and block once it goes false. Callers resolve the handle (and decide what an
59
+ * absent one means) before asking.
60
+ */
61
+ isBelowHighWaterMark(dc: RTCDataChannel): boolean;
62
+ /**
63
+ * Whether the send buffer has drained to its low-water mark. Drives the engine's public
64
+ * DCBufferStatusChanged event.
65
+ */
66
+ isBelowLowWaterMark(dc: RTCDataChannel): boolean;
67
+ /**
68
+ * Acquires the headroom lock, resolving with the unlock function. Batch senders (the resume
69
+ * replay) hold it across all of their sends so no other sender can interleave, calling
70
+ * {@link waitForHeadroomWithoutLock} per message to respect flow control within the batch.
71
+ */
72
+ lockHeadroom(): Promise<() => void>;
73
+ /**
74
+ * Resolves once the caller may send on this channel: immediately while the send buffer is at or
75
+ * below its high-water mark, otherwise once the buffer has drained to the low-water mark (the
76
+ * `bufferedamountlow` event). Callers are serialized through the headroom lock so that, when
77
+ * the buffer drains, they refill it one at a time (up to the high-water mark) rather than all
78
+ * sending at once and overflowing the SCTP send buffer (see livekit/client-sdk-js#1995). The
79
+ * closed/buffer checks run inside the lock so queued callers proceed in FIFO order.
80
+ */
81
+ waitForHeadroomWithLock(): Promise<void>;
82
+ /** Core wait of {@link waitForHeadroomWithLock}. The caller must hold the headroom lock. */
83
+ waitForHeadroomWithoutLock(): Promise<void>;
84
+ /** Rejects all parked headroom waiters; the next waiter gets a fresh controller. */
85
+ invalidateWaiters(reason: string): void;
86
+ /**
87
+ * Recomputes whether the buffer has drained to the low-water mark and, if that changed since the
88
+ * last check, notifies the status listener. Two independent triggers land here: a send (which
89
+ * raises the buffer) and the `bufferedamountlow` drain event (which lowers it) — the latter has
90
+ * no send to hang the work off, which is why this is a shared entry point rather than a tail of
91
+ * `send`.
92
+ */
93
+ refreshBufferStatus(): void;
94
+ }
95
+ //# sourceMappingURL=FlowControlledDataChannel.d.ts.map