matrix-js-sdk 41.0.0 → 41.1.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 (93) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/lib/@types/event.d.ts +1 -1
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js +1 -1
  5. package/lib/@types/event.js.map +1 -1
  6. package/lib/client.d.ts.map +1 -1
  7. package/lib/client.js +250 -246
  8. package/lib/client.js.map +1 -1
  9. package/lib/crypto-api/index.d.ts +13 -2
  10. package/lib/crypto-api/index.d.ts.map +1 -1
  11. package/lib/crypto-api/index.js +11 -0
  12. package/lib/crypto-api/index.js.map +1 -1
  13. package/lib/logger.d.ts +5 -5
  14. package/lib/logger.d.ts.map +1 -1
  15. package/lib/logger.js.map +1 -1
  16. package/lib/matrixrtc/CallMembership.d.ts +49 -145
  17. package/lib/matrixrtc/CallMembership.d.ts.map +1 -1
  18. package/lib/matrixrtc/CallMembership.js +157 -265
  19. package/lib/matrixrtc/CallMembership.js.map +1 -1
  20. package/lib/matrixrtc/EncryptionManager.d.ts +1 -85
  21. package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -1
  22. package/lib/matrixrtc/EncryptionManager.js +0 -317
  23. package/lib/matrixrtc/EncryptionManager.js.map +1 -1
  24. package/lib/matrixrtc/MatrixRTCSession.d.ts +18 -22
  25. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
  26. package/lib/matrixrtc/MatrixRTCSession.js +48 -76
  27. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  28. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +2 -1
  29. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -1
  30. package/lib/matrixrtc/MatrixRTCSessionManager.js +3 -2
  31. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  32. package/lib/matrixrtc/MembershipManager.d.ts +10 -4
  33. package/lib/matrixrtc/MembershipManager.d.ts.map +1 -1
  34. package/lib/matrixrtc/MembershipManager.js +10 -4
  35. package/lib/matrixrtc/MembershipManager.js.map +1 -1
  36. package/lib/matrixrtc/RTCEncryptionManager.d.ts +6 -7
  37. package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -1
  38. package/lib/matrixrtc/RTCEncryptionManager.js +4 -7
  39. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
  40. package/lib/matrixrtc/index.d.ts +1 -0
  41. package/lib/matrixrtc/index.d.ts.map +1 -1
  42. package/lib/matrixrtc/index.js.map +1 -1
  43. package/lib/matrixrtc/membershipData/common.d.ts +8 -0
  44. package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
  45. package/lib/matrixrtc/membershipData/common.js +26 -0
  46. package/lib/matrixrtc/membershipData/common.js.map +1 -0
  47. package/lib/matrixrtc/membershipData/index.d.ts +4 -0
  48. package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
  49. package/lib/matrixrtc/membershipData/index.js +20 -0
  50. package/lib/matrixrtc/membershipData/index.js.map +1 -0
  51. package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
  52. package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
  53. package/lib/matrixrtc/membershipData/rtc.js +137 -0
  54. package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
  55. package/lib/matrixrtc/membershipData/session.d.ts +77 -0
  56. package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
  57. package/lib/matrixrtc/membershipData/session.js +62 -0
  58. package/lib/matrixrtc/membershipData/session.js.map +1 -0
  59. package/lib/matrixrtc/types.d.ts +23 -0
  60. package/lib/matrixrtc/types.d.ts.map +1 -1
  61. package/lib/matrixrtc/types.js +9 -1
  62. package/lib/matrixrtc/types.js.map +1 -1
  63. package/lib/matrixrtc/utils.d.ts +11 -1
  64. package/lib/matrixrtc/utils.d.ts.map +1 -1
  65. package/lib/matrixrtc/utils.js +24 -1
  66. package/lib/matrixrtc/utils.js.map +1 -1
  67. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  68. package/lib/rust-crypto/rust-crypto.js +2 -2
  69. package/lib/rust-crypto/rust-crypto.js.map +1 -1
  70. package/package.json +5 -7
  71. package/src/@types/event.ts +2 -2
  72. package/src/client.ts +5 -3
  73. package/src/crypto-api/index.ts +17 -2
  74. package/src/logger.ts +5 -5
  75. package/src/matrixrtc/CallMembership.ts +159 -373
  76. package/src/matrixrtc/EncryptionManager.ts +1 -417
  77. package/src/matrixrtc/MatrixRTCSession.ts +82 -122
  78. package/src/matrixrtc/MatrixRTCSessionManager.ts +5 -3
  79. package/src/matrixrtc/MembershipManager.ts +14 -17
  80. package/src/matrixrtc/RTCEncryptionManager.ts +7 -10
  81. package/src/matrixrtc/index.ts +1 -0
  82. package/src/matrixrtc/membershipData/common.ts +27 -0
  83. package/src/matrixrtc/membershipData/index.ts +19 -0
  84. package/src/matrixrtc/membershipData/rtc.ts +156 -0
  85. package/src/matrixrtc/membershipData/session.ts +146 -0
  86. package/src/matrixrtc/types.ts +27 -1
  87. package/src/matrixrtc/utils.ts +24 -2
  88. package/src/rust-crypto/rust-crypto.ts +4 -1
  89. package/lib/matrixrtc/RoomKeyTransport.d.ts +0 -25
  90. package/lib/matrixrtc/RoomKeyTransport.d.ts.map +0 -1
  91. package/lib/matrixrtc/RoomKeyTransport.js +0 -152
  92. package/lib/matrixrtc/RoomKeyTransport.js.map +0 -1
  93. package/src/matrixrtc/RoomKeyTransport.ts +0 -189
@@ -1,166 +1,67 @@
1
- import { type LivekitFocusSelection } from "./LivekitTransport.ts";
2
- import { type SlotDescription } from "./MatrixRTCSession.ts";
3
- import type { RTCCallIntent, Transport } from "./types.ts";
1
+ import { type RTCCallIntent, type Transport, type SlotDescription } from "./types.ts";
4
2
  import { type MatrixEvent } from "../models/event.ts";
5
- import { type RelationType } from "../@types/event.ts";
6
- import { type Logger } from "../logger.ts";
3
+ import { type RtcMembershipData, type SessionMembershipData } from "./membershipData/index.ts";
7
4
  /**
8
5
  * The default duration in milliseconds that a membership is considered valid for.
9
6
  * Ordinarily the client responsible for the session will update the membership before it expires.
10
7
  * We use this duration as the fallback case where stale sessions are present for some reason.
11
8
  */
12
9
  export declare const DEFAULT_EXPIRE_DURATION: number;
13
- type CallScope = "m.room" | "m.user";
14
- type Member = {
15
- user_id: string;
16
- device_id: string;
17
- /**
18
- * The id used on the media backend.
19
- * (With livekit this is the participant identity on the LK SFU)
20
- * This can be a UUID but right now it is `${this.matrixEventData.sender}:${data.device_id}`.
21
- */
22
- id: string;
23
- };
24
- export interface RtcMembershipData {
25
- "slot_id": string;
26
- "member": Member;
27
- "m.relates_to"?: {
28
- event_id: string;
29
- rel_type: RelationType.Reference;
30
- };
31
- "application": {
32
- type: string;
33
- [key: string]: unknown;
34
- };
35
- "rtc_transports": Transport[];
36
- "versions": string[];
37
- "msc4354_sticky_key"?: string;
38
- "sticky_key"?: string;
39
- }
40
10
  /**
41
- * MSC4143 (MatrixRTC) session membership data.
42
- * Represents the `session` in the memberships section of an m.call.member event as it is on the wire.
43
- **/
44
- export type SessionMembershipData = {
45
- /**
46
- * The RTC application defines the type of the RTC session.
47
- */
48
- "application": string;
49
- /**
50
- * The id of this session.
51
- * A session can never span over multiple rooms so this id is to distinguish between
52
- * multiple session in one room. A room wide session that is not associated with a user,
53
- * and therefore immune to creation race conflicts, uses the `call_id: ""`.
54
- */
55
- "call_id": string;
56
- /**
57
- * The Matrix device ID of this session. A single user can have multiple sessions on different devices.
58
- */
59
- "device_id": string;
60
- /**
61
- * The focus selection system this user/membership is using.
62
- */
63
- "focus_active": LivekitFocusSelection;
64
- /**
65
- * A list of possible foci this user knows about. One of them might be used based on the focus_active
66
- * selection system.
67
- */
68
- "foci_preferred": Transport[];
69
- /**
70
- * Optional field that contains the creation of the session. If it is undefined the creation
71
- * is the `origin_server_ts` of the event itself. For updates to the event this property tracks
72
- * the `origin_server_ts` of the initial join event.
73
- * - If it is undefined it can be interpreted as a "Join".
74
- * - If it is defined it can be interpreted as an "Update"
75
- */
76
- "created_ts"?: number;
77
- /**
78
- * If the `application` = `"m.call"` this defines if it is a room or user owned call.
79
- * There can always be one room scoped call but multiple user owned calls (breakout sessions)
80
- */
81
- "scope"?: CallScope;
82
- /**
83
- * Optionally we allow to define a delta to the `created_ts` that defines when the event is expired/invalid.
84
- * This should be set to multiple hours. The only reason it exist is to deal with failed delayed events.
85
- * (for example caused by a homeserver crashes)
86
- **/
87
- "expires"?: number;
88
- /**
89
- * The intent of the call from the perspective of this user. This may be an audio call, video call or
90
- * something else.
91
- */
92
- "m.call.intent"?: RTCCallIntent;
11
+ * Describes the source event type that provided the membership data.
12
+ */
13
+ declare enum MembershipKind {
93
14
  /**
94
- * The sticky key in case of a sticky event. This string encodes the application + device_id indicating the used slot + device.
15
+ * The modern MSC4143 format event.
95
16
  */
96
- "msc4354_sticky_key"?: string;
17
+ RTC = "rtc",
97
18
  /**
98
- * The id used on the media backend.
99
- * (With livekit this is the participant identity on the LK SFU)
100
- * This can be a UUID but right now it is `${this.matrixEventData.sender}:${data.device_id}`.
101
- *
102
- * It is compleatly valid to not set this field. Other clients will treat `undefined` as `${this.matrixEventData.sender}:${data.device_id}`
19
+ * The legacy call event type.
103
20
  */
104
- "membershipID"?: string;
105
- };
21
+ Session = "session"
22
+ }
106
23
  type MembershipData = {
107
- kind: "rtc";
24
+ kind: MembershipKind.RTC;
108
25
  data: RtcMembershipData;
109
26
  } | {
110
- kind: "session";
27
+ kind: MembershipKind.Session;
111
28
  data: SessionMembershipData;
112
29
  };
30
+ type LimitedEvent = Pick<MatrixEvent, "getId" | "getSender" | "getTs" | "getType" | "getContent">;
113
31
  export declare class CallMembership {
32
+ /** The Matrix event that this membership is based on */
33
+ private readonly matrixEvent;
34
+ private readonly membershipData;
35
+ readonly rtcBackendIdentity: string;
114
36
  /**
115
- * The type checked membership data {data: (content of the matrix event), kind: (type hint)}
116
- *
37
+ * Parse the membershipdata from a call membership event.
38
+ * @param matrixEvent The Matrix event to read.
39
+ * @returns MembershipData in either MembershipKind.RTC or MembershipKind.Session format.
40
+ * @throws If the content is neither format.
117
41
  */
118
- private readonly membershipData;
42
+ static membershipDataFromMatrixEvent(matrixEvent: LimitedEvent): MembershipData;
119
43
  /**
120
- *
121
- * Anonymized identity to use with the RTC backend.
122
- *
123
- * The rtcBackendIdentity is a hashed version of all the identity parts:
124
- * `sha256(${this.userId}|${this.deviceId}|${this.memberId})`
125
- *
126
- * It is used to anonymize the identity of the user in the RTC backend.
44
+ * Parse the contents of a MatrixEvent and create a CallMembership instance.
45
+ * @param matrixEvent The Matrix event to read.
127
46
  */
128
- readonly rtcBackendIdentity: string;
47
+ static parseFromEvent(matrixEvent: LimitedEvent): Promise<CallMembership>;
129
48
  static equal(a?: CallMembership, b?: CallMembership): boolean;
130
- private logger?;
49
+ private logger;
131
50
  /** The parsed data from the Matrix event.
132
51
  * To access checked eventId and sender from the matrixEvent.
133
52
  * Class construction will fail if these values cannot get obtained. */
134
53
  private readonly matrixEventData;
135
- constructor(
136
- /** The required parts of the Matrix event that this membership is based on */
137
- matrixEvent: Pick<MatrixEvent, "getId" | "getSender" | "getTs">,
138
- /**
139
- * The type checked membership data {data: (content of the matrix event), kind: (type hint)}
140
- *
141
- */
142
- membershipData: MembershipData,
143
- /**
144
- *
145
- * Anonymized identity to use with the RTC backend.
146
- *
147
- * The rtcBackendIdentity is a hashed version of all the identity parts:
148
- * `sha256(${this.userId}|${this.deviceId}|${this.memberId})`
149
- *
150
- * It is used to anonymize the identity of the user in the RTC backend.
151
- */
152
- rtcBackendIdentity: string,
153
- /**
154
- * The constructor will automatically create a properly tagged child logger instance.
155
- */
156
- logger?: Logger);
157
54
  /**
158
- * sha256(`${this.userId}|${this.deviceId}|${this.memberId}`) for sticky events (kind = rtc)
159
- * `${this.userId}:${this.deviceId}` for state events (kind = session)
55
+ * Use `parseFromEvent`.
56
+ * Constructor should only be used by tests.
57
+ * @private
58
+ * @param matrixEvent
59
+ * @param membershipData
60
+ * @param rtcBackendIdentity
160
61
  */
161
- static computeRtcBackendIdentity(matrixEvent: Pick<MatrixEvent, "getSender">, membershipData: MembershipData): Promise<string>;
162
- static computeRtcIdentityRaw(userId: string, deviceId: string, memberId: string): Promise<string>;
163
- static membershipDataFromMatrixEvent(matrixEvent: MatrixEvent): MembershipData;
62
+ constructor(
63
+ /** The Matrix event that this membership is based on */
64
+ matrixEvent: LimitedEvent, membershipData: MembershipData, rtcBackendIdentity: string);
164
65
  /** @deprecated use userId instead */
165
66
  get sender(): string;
166
67
  get userId(): string;
@@ -176,17 +77,21 @@ export declare class CallMembership {
176
77
  * Parsed `slot_id` (format `{application}#{id}`) into its components (application and id).
177
78
  */
178
79
  get slotDescription(): SlotDescription;
80
+ /**
81
+ * The application `type`.
82
+ * @deprecated Use @see applicationData
83
+ */
179
84
  get application(): string;
85
+ /**
86
+ * Information about the application being used for the RTC session.
87
+ * May contain extra keys specific to the application.
88
+ */
180
89
  get applicationData(): {
181
90
  type: string;
182
91
  [key: string]: unknown;
183
92
  };
184
93
  /** @deprecated scope is not used and will be removed in future versions. replaced by application specific types.*/
185
- get scope(): CallScope | undefined;
186
- /**
187
- * @deprecated renamed to `memberId`
188
- */
189
- get membershipID(): string;
94
+ get scope(): SessionMembershipData["scope"] | undefined;
190
95
  /**
191
96
  * This computes the membership ID for the membership.
192
97
  * For the sticky event based rtcSessionData this is trivial it is `member.id`.
@@ -202,6 +107,10 @@ export declare class CallMembership {
202
107
  * It is also possible for a session event to set a custom membershipID. in that case this will be used.
203
108
  */
204
109
  get memberId(): string;
110
+ /**
111
+ * @deprecated renamed to `memberId`
112
+ */
113
+ get membershipID(): string;
205
114
  createdTs(): number;
206
115
  /**
207
116
  * Gets the absolute expiry timestamp of the membership.
@@ -210,6 +119,7 @@ export declare class CallMembership {
210
119
  getAbsoluteExpiry(): number | undefined;
211
120
  /**
212
121
  * @returns The number of milliseconds until the membership expires or undefined if applicable
122
+ * @deprecated Not used by RTC events.
213
123
  */
214
124
  getMsUntilExpiry(): number | undefined;
215
125
  /**
@@ -234,17 +144,11 @@ export declare class CallMembership {
234
144
  * @returns The transport this membership uses to publish media or undefined if no transport is available.
235
145
  */
236
146
  getTransport(oldestMembership: CallMembership): Transport | undefined;
237
- /**
238
- * The focus_active filed of the session membership (m.call.member).
239
- * @deprecated focus_active is not used and will be removed in future versions.
240
- */
241
- getFocusActive(): LivekitFocusSelection | undefined;
242
147
  /**
243
148
  * The value of the `rtc_transports` field for RTC memberships (m.rtc.member).
244
149
  * Or the value of the `foci_preferred` field for legacy session memberships (m.call.member).
245
150
  */
246
151
  get transports(): Transport[];
247
- get kind(): MembershipData["kind"];
248
152
  }
249
153
  export {};
250
154
  //# sourceMappingURL=CallMembership.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallMembership.d.ts","sourceRoot":"","sources":["../../src/matrixrtc/CallMembership.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAA4C,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAqB,CAAC;AAE1D,KAAK,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrC,KAAK,MAAM,GAAG;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC;KACpC,CAAC;IACF,aAAa,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QAEb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAC;IACF,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAmFD;;;IAGI;AACJ,MAAM,MAAM,qBAAqB,GAAG;IAChC;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,cAAc,EAAE,qBAAqB,CAAC;IAEtC;;;OAGG;IACH,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAItB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB;;;;QAII;IACJ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAqCF,KAAK,cAAc,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAElH,qBAAa,cAAc;IAenB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B;;;;;;;;OAQG;aACa,kBAAkB,EAAE,MAAM;WA7BhC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO;IAIpE,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB;;2EAEuE;IACvE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkD;;IAG9E,8EAA8E;IAC9E,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,CAAC;IAE/D;;;OAGG;IACc,cAAc,EAAE,cAAc;IAE/C;;;;;;;;OAQG;IACa,kBAAkB,EAAE,MAAM;IAC1C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM;IAWnB;;;OAGG;WACiB,yBAAyB,CACzC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAC3C,cAAc,EAAE,cAAc,GAC/B,OAAO,CAAC,MAAM,CAAC;WAWE,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAIhG,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc;IAsBrF,qCAAqC;IACrC,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,IAAI,MAAM,CAS1B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAkD1B;IAED,IAAW,QAAQ,IAAI,MAAM,CAS5B;IAED,IAAW,UAAU,IAAI,aAAa,GAAG,SAAS,CAejD;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED,IAAW,WAAW,IAAI,MAAM,CAS/B;IACD,IAAW,eAAe,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CASrE;IAED,mHAAmH;IACnH,IAAW,KAAK,IAAI,SAAS,GAAG,SAAS,CASxC;IACD;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAW,QAAQ,IAAI,MAAM,CAiB5B;IAEM,SAAS,IAAI,MAAM;IAY1B;;;OAGG;IACI,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAY9C;;OAEG;IACI,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAc7C;;OAEG;IACI,SAAS,IAAI,OAAO;IAW3B;;;;;;;;;;;;;;;;OAgBG;IACI,YAAY,CAAC,gBAAgB,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS;IAkB5E;;;OAGG;IACI,cAAc,IAAI,qBAAqB,GAAG,SAAS;IAK1D;;;OAGG;IACH,IAAW,UAAU,IAAI,SAAS,EAAE,CASnC;IACD,IAAW,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,CAExC;CACJ"}
1
+ {"version":3,"file":"CallMembership.d.ts","sourceRoot":"","sources":["../../src/matrixrtc/CallMembership.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAGH,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAE7B,MAAM,2BAA2B,CAAC;AAGnC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAAqB,CAAC;AAE1D;;GAEG;AACH,aAAK,cAAc;IACf;;OAEG;IACH,GAAG,QAAQ;IACX;;OAEG;IACH,OAAO,YAAY;CACtB;AAED,KAAK,cAAc,GACb;IAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEpE,KAAK,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;AAElG,qBAAa,cAAc;IAkEnB,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;aACf,kBAAkB,EAAE,MAAM;IApE9C;;;;;OAKG;WACW,6BAA6B,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc;IAsBtF;;;OAGG;WACiB,cAAc,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;WAaxE,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO;IAIpE,OAAO,CAAC,MAAM,CAAS;IAEvB;;2EAEuE;IACvE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IAEtE;;;;;;;OAOG;;IAEC,wDAAwD;IACvC,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,cAAc,EAC/B,kBAAkB,EAAE,MAAM;IAY9C,qCAAqC;IACrC,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,MAAM,IAAI,MAAM,CAS1B;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAgD1B;IAED,IAAW,QAAQ,IAAI,MAAM,CAS5B;IAED,IAAW,UAAU,IAAI,aAAa,GAAG,SAAS,CAOjD;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,eAAe,CAO5C;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;;OAGG;IACH,IAAW,eAAe,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAWrE;IAED,mHAAmH;IACnH,IAAW,KAAK,IAAI,qBAAqB,CAAC,OAAO,CAAC,GAAG,SAAS,CAS7D;IAED;;;;;;;;;;;;;OAaG;IACH,IAAW,QAAQ,IAAI,MAAM,CAkB5B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,MAAM,CAEhC;IAEM,SAAS,IAAI,MAAM;IAY1B;;;OAGG;IACI,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAY9C;;;OAGG;IACI,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAc7C;;OAEG;IACI,SAAS,IAAI,OAAO;IAW3B;;;;;;;;;;;;;;;;OAgBG;IACI,YAAY,CAAC,gBAAgB,EAAE,cAAc,GAAG,SAAS,GAAG,SAAS;IAuB5E;;;OAGG;IACH,IAAW,UAAU,IAAI,SAAS,EAAE,CASnC;CACJ"}