@unwanted/matrix-sdk-mini 34.12.0-1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1203) hide show
  1. package/CHANGELOG.md +5910 -0
  2. package/LICENSE +177 -0
  3. package/README.md +459 -0
  4. package/git-revision.txt +1 -0
  5. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
  6. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
  7. package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
  8. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
  9. package/lib/@types/IIdentityServerProvider.d.ts +9 -0
  10. package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
  11. package/lib/@types/IIdentityServerProvider.js +1 -0
  12. package/lib/@types/IIdentityServerProvider.js.map +1 -0
  13. package/lib/@types/PushRules.d.ts +140 -0
  14. package/lib/@types/PushRules.d.ts.map +1 -0
  15. package/lib/@types/PushRules.js +94 -0
  16. package/lib/@types/PushRules.js.map +1 -0
  17. package/lib/@types/another-json.d.js +0 -0
  18. package/lib/@types/another-json.d.js.map +1 -0
  19. package/lib/@types/auth.d.ts +208 -0
  20. package/lib/@types/auth.d.ts.map +1 -0
  21. package/lib/@types/auth.js +99 -0
  22. package/lib/@types/auth.js.map +1 -0
  23. package/lib/@types/beacon.d.ts +106 -0
  24. package/lib/@types/beacon.d.ts.map +1 -0
  25. package/lib/@types/beacon.js +119 -0
  26. package/lib/@types/beacon.js.map +1 -0
  27. package/lib/@types/common.d.ts +9 -0
  28. package/lib/@types/common.d.ts.map +1 -0
  29. package/lib/@types/common.js +1 -0
  30. package/lib/@types/common.js.map +1 -0
  31. package/lib/@types/crypto.d.ts +47 -0
  32. package/lib/@types/crypto.d.ts.map +1 -0
  33. package/lib/@types/crypto.js +1 -0
  34. package/lib/@types/crypto.js.map +1 -0
  35. package/lib/@types/event.d.ts +258 -0
  36. package/lib/@types/event.d.ts.map +1 -0
  37. package/lib/@types/event.js +239 -0
  38. package/lib/@types/event.js.map +1 -0
  39. package/lib/@types/events.d.ts +92 -0
  40. package/lib/@types/events.d.ts.map +1 -0
  41. package/lib/@types/events.js +1 -0
  42. package/lib/@types/events.js.map +1 -0
  43. package/lib/@types/extensible_events.d.ts +98 -0
  44. package/lib/@types/extensible_events.d.ts.map +1 -0
  45. package/lib/@types/extensible_events.js +116 -0
  46. package/lib/@types/extensible_events.js.map +1 -0
  47. package/lib/@types/global.d.js +20 -0
  48. package/lib/@types/global.d.js.map +1 -0
  49. package/lib/@types/local_notifications.d.ts +4 -0
  50. package/lib/@types/local_notifications.d.ts.map +1 -0
  51. package/lib/@types/local_notifications.js +1 -0
  52. package/lib/@types/local_notifications.js.map +1 -0
  53. package/lib/@types/location.d.ts +60 -0
  54. package/lib/@types/location.d.ts.map +1 -0
  55. package/lib/@types/location.js +67 -0
  56. package/lib/@types/location.js.map +1 -0
  57. package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
  58. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
  59. package/lib/@types/media.d.ts +220 -0
  60. package/lib/@types/media.d.ts.map +1 -0
  61. package/lib/@types/media.js +1 -0
  62. package/lib/@types/media.js.map +1 -0
  63. package/lib/@types/membership.d.ts +41 -0
  64. package/lib/@types/membership.d.ts.map +1 -0
  65. package/lib/@types/membership.js +37 -0
  66. package/lib/@types/membership.js.map +1 -0
  67. package/lib/@types/oidc-client-ts.d.js +18 -0
  68. package/lib/@types/oidc-client-ts.d.js.map +1 -0
  69. package/lib/@types/partials.d.ts +39 -0
  70. package/lib/@types/partials.d.ts.map +1 -0
  71. package/lib/@types/partials.js +53 -0
  72. package/lib/@types/partials.js.map +1 -0
  73. package/lib/@types/polls.d.ts +88 -0
  74. package/lib/@types/polls.d.ts.map +1 -0
  75. package/lib/@types/polls.js +86 -0
  76. package/lib/@types/polls.js.map +1 -0
  77. package/lib/@types/read_receipts.d.ts +36 -0
  78. package/lib/@types/read_receipts.d.ts.map +1 -0
  79. package/lib/@types/read_receipts.js +27 -0
  80. package/lib/@types/read_receipts.js.map +1 -0
  81. package/lib/@types/registration.d.ts +85 -0
  82. package/lib/@types/registration.d.ts.map +1 -0
  83. package/lib/@types/registration.js +1 -0
  84. package/lib/@types/registration.js.map +1 -0
  85. package/lib/@types/requests.d.ts +241 -0
  86. package/lib/@types/requests.d.ts.map +1 -0
  87. package/lib/@types/requests.js +28 -0
  88. package/lib/@types/requests.js.map +1 -0
  89. package/lib/@types/search.d.ts +90 -0
  90. package/lib/@types/search.d.ts.map +1 -0
  91. package/lib/@types/search.js +30 -0
  92. package/lib/@types/search.js.map +1 -0
  93. package/lib/@types/signed.d.ts +9 -0
  94. package/lib/@types/signed.d.ts.map +1 -0
  95. package/lib/@types/signed.js +1 -0
  96. package/lib/@types/signed.js.map +1 -0
  97. package/lib/@types/spaces.d.ts +16 -0
  98. package/lib/@types/spaces.d.ts.map +1 -0
  99. package/lib/@types/spaces.js +1 -0
  100. package/lib/@types/spaces.js.map +1 -0
  101. package/lib/@types/state_events.d.ts +116 -0
  102. package/lib/@types/state_events.d.ts.map +1 -0
  103. package/lib/@types/state_events.js +1 -0
  104. package/lib/@types/state_events.js.map +1 -0
  105. package/lib/@types/synapse.d.ts +19 -0
  106. package/lib/@types/synapse.d.ts.map +1 -0
  107. package/lib/@types/synapse.js +1 -0
  108. package/lib/@types/synapse.js.map +1 -0
  109. package/lib/@types/sync.d.ts +8 -0
  110. package/lib/@types/sync.d.ts.map +1 -0
  111. package/lib/@types/sync.js +25 -0
  112. package/lib/@types/sync.js.map +1 -0
  113. package/lib/@types/threepids.d.ts +12 -0
  114. package/lib/@types/threepids.d.ts.map +1 -0
  115. package/lib/@types/threepids.js +24 -0
  116. package/lib/@types/threepids.js.map +1 -0
  117. package/lib/@types/topic.d.ts +48 -0
  118. package/lib/@types/topic.d.ts.map +1 -0
  119. package/lib/@types/topic.js +57 -0
  120. package/lib/@types/topic.js.map +1 -0
  121. package/lib/@types/uia.d.ts +12 -0
  122. package/lib/@types/uia.d.ts.map +1 -0
  123. package/lib/@types/uia.js +1 -0
  124. package/lib/@types/uia.js.map +1 -0
  125. package/lib/NamespacedValue.d.ts +33 -0
  126. package/lib/NamespacedValue.d.ts.map +1 -0
  127. package/lib/NamespacedValue.js +113 -0
  128. package/lib/NamespacedValue.js.map +1 -0
  129. package/lib/ReEmitter.d.ts +15 -0
  130. package/lib/ReEmitter.d.ts.map +1 -0
  131. package/lib/ReEmitter.js +87 -0
  132. package/lib/ReEmitter.js.map +1 -0
  133. package/lib/ToDeviceMessageQueue.d.ts +28 -0
  134. package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
  135. package/lib/ToDeviceMessageQueue.js +135 -0
  136. package/lib/ToDeviceMessageQueue.js.map +1 -0
  137. package/lib/autodiscovery.d.ts +136 -0
  138. package/lib/autodiscovery.d.ts.map +1 -0
  139. package/lib/autodiscovery.js +464 -0
  140. package/lib/autodiscovery.js.map +1 -0
  141. package/lib/base64.d.ts +28 -0
  142. package/lib/base64.d.ts.map +1 -0
  143. package/lib/base64.js +88 -0
  144. package/lib/base64.js.map +1 -0
  145. package/lib/browser-index.d.ts +8 -0
  146. package/lib/browser-index.d.ts.map +1 -0
  147. package/lib/browser-index.js +35 -0
  148. package/lib/browser-index.js.map +1 -0
  149. package/lib/client.d.ts +4232 -0
  150. package/lib/client.d.ts.map +1 -0
  151. package/lib/client.js +8622 -0
  152. package/lib/client.js.map +1 -0
  153. package/lib/common-crypto/CryptoBackend.d.ts +240 -0
  154. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
  155. package/lib/common-crypto/CryptoBackend.js +73 -0
  156. package/lib/common-crypto/CryptoBackend.js.map +1 -0
  157. package/lib/common-crypto/key-passphrase.d.ts +14 -0
  158. package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
  159. package/lib/common-crypto/key-passphrase.js +33 -0
  160. package/lib/common-crypto/key-passphrase.js.map +1 -0
  161. package/lib/content-helpers.d.ts +90 -0
  162. package/lib/content-helpers.d.ts.map +1 -0
  163. package/lib/content-helpers.js +250 -0
  164. package/lib/content-helpers.js.map +1 -0
  165. package/lib/content-repo.d.ts +24 -0
  166. package/lib/content-repo.d.ts.map +1 -0
  167. package/lib/content-repo.js +104 -0
  168. package/lib/content-repo.js.map +1 -0
  169. package/lib/crypto/CrossSigning.d.ts +184 -0
  170. package/lib/crypto/CrossSigning.d.ts.map +1 -0
  171. package/lib/crypto/CrossSigning.js +718 -0
  172. package/lib/crypto/CrossSigning.js.map +1 -0
  173. package/lib/crypto/DeviceList.d.ts +216 -0
  174. package/lib/crypto/DeviceList.d.ts.map +1 -0
  175. package/lib/crypto/DeviceList.js +892 -0
  176. package/lib/crypto/DeviceList.js.map +1 -0
  177. package/lib/crypto/EncryptionSetup.d.ts +152 -0
  178. package/lib/crypto/EncryptionSetup.d.ts.map +1 -0
  179. package/lib/crypto/EncryptionSetup.js +356 -0
  180. package/lib/crypto/EncryptionSetup.js.map +1 -0
  181. package/lib/crypto/OlmDevice.d.ts +457 -0
  182. package/lib/crypto/OlmDevice.d.ts.map +1 -0
  183. package/lib/crypto/OlmDevice.js +1241 -0
  184. package/lib/crypto/OlmDevice.js.map +1 -0
  185. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +109 -0
  186. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +1 -0
  187. package/lib/crypto/OutgoingRoomKeyRequestManager.js +415 -0
  188. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +1 -0
  189. package/lib/crypto/RoomList.d.ts +26 -0
  190. package/lib/crypto/RoomList.d.ts.map +1 -0
  191. package/lib/crypto/RoomList.js +71 -0
  192. package/lib/crypto/RoomList.js.map +1 -0
  193. package/lib/crypto/SecretSharing.d.ts +24 -0
  194. package/lib/crypto/SecretSharing.d.ts.map +1 -0
  195. package/lib/crypto/SecretSharing.js +194 -0
  196. package/lib/crypto/SecretSharing.js.map +1 -0
  197. package/lib/crypto/SecretStorage.d.ts +55 -0
  198. package/lib/crypto/SecretStorage.d.ts.map +1 -0
  199. package/lib/crypto/SecretStorage.js +118 -0
  200. package/lib/crypto/SecretStorage.js.map +1 -0
  201. package/lib/crypto/aes.d.ts +6 -0
  202. package/lib/crypto/aes.d.ts.map +1 -0
  203. package/lib/crypto/aes.js +24 -0
  204. package/lib/crypto/aes.js.map +1 -0
  205. package/lib/crypto/algorithms/base.d.ts +156 -0
  206. package/lib/crypto/algorithms/base.d.ts.map +1 -0
  207. package/lib/crypto/algorithms/base.js +187 -0
  208. package/lib/crypto/algorithms/base.js.map +1 -0
  209. package/lib/crypto/algorithms/index.d.ts +4 -0
  210. package/lib/crypto/algorithms/index.d.ts.map +1 -0
  211. package/lib/crypto/algorithms/index.js +20 -0
  212. package/lib/crypto/algorithms/index.js.map +1 -0
  213. package/lib/crypto/algorithms/megolm.d.ts +385 -0
  214. package/lib/crypto/algorithms/megolm.d.ts.map +1 -0
  215. package/lib/crypto/algorithms/megolm.js +1822 -0
  216. package/lib/crypto/algorithms/megolm.js.map +1 -0
  217. package/lib/crypto/algorithms/olm.d.ts +5 -0
  218. package/lib/crypto/algorithms/olm.d.ts.map +1 -0
  219. package/lib/crypto/algorithms/olm.js +299 -0
  220. package/lib/crypto/algorithms/olm.js.map +1 -0
  221. package/lib/crypto/api.d.ts +32 -0
  222. package/lib/crypto/api.d.ts.map +1 -0
  223. package/lib/crypto/api.js +22 -0
  224. package/lib/crypto/api.js.map +1 -0
  225. package/lib/crypto/backup.d.ts +227 -0
  226. package/lib/crypto/backup.d.ts.map +1 -0
  227. package/lib/crypto/backup.js +824 -0
  228. package/lib/crypto/backup.js.map +1 -0
  229. package/lib/crypto/crypto.d.ts +3 -0
  230. package/lib/crypto/crypto.d.ts.map +1 -0
  231. package/lib/crypto/crypto.js +19 -0
  232. package/lib/crypto/crypto.js.map +1 -0
  233. package/lib/crypto/dehydration.d.ts +34 -0
  234. package/lib/crypto/dehydration.d.ts.map +1 -0
  235. package/lib/crypto/dehydration.js +252 -0
  236. package/lib/crypto/dehydration.js.map +1 -0
  237. package/lib/crypto/device-converter.d.ts +9 -0
  238. package/lib/crypto/device-converter.d.ts.map +1 -0
  239. package/lib/crypto/device-converter.js +42 -0
  240. package/lib/crypto/device-converter.js.map +1 -0
  241. package/lib/crypto/deviceinfo.d.ts +99 -0
  242. package/lib/crypto/deviceinfo.d.ts.map +1 -0
  243. package/lib/crypto/deviceinfo.js +148 -0
  244. package/lib/crypto/deviceinfo.js.map +1 -0
  245. package/lib/crypto/index.d.ts +1209 -0
  246. package/lib/crypto/index.d.ts.map +1 -0
  247. package/lib/crypto/index.js +4097 -0
  248. package/lib/crypto/index.js.map +1 -0
  249. package/lib/crypto/key_passphrase.d.ts +14 -0
  250. package/lib/crypto/key_passphrase.d.ts.map +1 -0
  251. package/lib/crypto/key_passphrase.js +44 -0
  252. package/lib/crypto/key_passphrase.js.map +1 -0
  253. package/lib/crypto/keybackup.d.ts +18 -0
  254. package/lib/crypto/keybackup.d.ts.map +1 -0
  255. package/lib/crypto/keybackup.js +1 -0
  256. package/lib/crypto/keybackup.js.map +1 -0
  257. package/lib/crypto/olmlib.d.ts +129 -0
  258. package/lib/crypto/olmlib.d.ts.map +1 -0
  259. package/lib/crypto/olmlib.js +492 -0
  260. package/lib/crypto/olmlib.js.map +1 -0
  261. package/lib/crypto/recoverykey.d.ts +2 -0
  262. package/lib/crypto/recoverykey.d.ts.map +1 -0
  263. package/lib/crypto/recoverykey.js +19 -0
  264. package/lib/crypto/recoverykey.js.map +1 -0
  265. package/lib/crypto/store/base.d.ts +252 -0
  266. package/lib/crypto/store/base.d.ts.map +1 -0
  267. package/lib/crypto/store/base.js +64 -0
  268. package/lib/crypto/store/base.js.map +1 -0
  269. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +187 -0
  270. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
  271. package/lib/crypto/store/indexeddb-crypto-store-backend.js +1145 -0
  272. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
  273. package/lib/crypto/store/indexeddb-crypto-store.d.ts +432 -0
  274. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
  275. package/lib/crypto/store/indexeddb-crypto-store.js +728 -0
  276. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
  277. package/lib/crypto/store/localStorage-crypto-store.d.ts +119 -0
  278. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
  279. package/lib/crypto/store/localStorage-crypto-store.js +531 -0
  280. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
  281. package/lib/crypto/store/memory-crypto-store.d.ts +215 -0
  282. package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
  283. package/lib/crypto/store/memory-crypto-store.js +622 -0
  284. package/lib/crypto/store/memory-crypto-store.js.map +1 -0
  285. package/lib/crypto/verification/Base.d.ts +105 -0
  286. package/lib/crypto/verification/Base.d.ts.map +1 -0
  287. package/lib/crypto/verification/Base.js +372 -0
  288. package/lib/crypto/verification/Base.js.map +1 -0
  289. package/lib/crypto/verification/Error.d.ts +35 -0
  290. package/lib/crypto/verification/Error.d.ts.map +1 -0
  291. package/lib/crypto/verification/Error.js +86 -0
  292. package/lib/crypto/verification/Error.js.map +1 -0
  293. package/lib/crypto/verification/IllegalMethod.d.ts +15 -0
  294. package/lib/crypto/verification/IllegalMethod.d.ts.map +1 -0
  295. package/lib/crypto/verification/IllegalMethod.js +43 -0
  296. package/lib/crypto/verification/IllegalMethod.js.map +1 -0
  297. package/lib/crypto/verification/QRCode.d.ts +51 -0
  298. package/lib/crypto/verification/QRCode.d.ts.map +1 -0
  299. package/lib/crypto/verification/QRCode.js +277 -0
  300. package/lib/crypto/verification/QRCode.js.map +1 -0
  301. package/lib/crypto/verification/SAS.d.ts +27 -0
  302. package/lib/crypto/verification/SAS.d.ts.map +1 -0
  303. package/lib/crypto/verification/SAS.js +485 -0
  304. package/lib/crypto/verification/SAS.js.map +1 -0
  305. package/lib/crypto/verification/SASDecimal.d.ts +8 -0
  306. package/lib/crypto/verification/SASDecimal.d.ts.map +1 -0
  307. package/lib/crypto/verification/SASDecimal.js +34 -0
  308. package/lib/crypto/verification/SASDecimal.js.map +1 -0
  309. package/lib/crypto/verification/request/Channel.d.ts +18 -0
  310. package/lib/crypto/verification/request/Channel.d.ts.map +1 -0
  311. package/lib/crypto/verification/request/Channel.js +1 -0
  312. package/lib/crypto/verification/request/Channel.js.map +1 -0
  313. package/lib/crypto/verification/request/InRoomChannel.d.ts +113 -0
  314. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +1 -0
  315. package/lib/crypto/verification/request/InRoomChannel.js +351 -0
  316. package/lib/crypto/verification/request/InRoomChannel.js.map +1 -0
  317. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +105 -0
  318. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +1 -0
  319. package/lib/crypto/verification/request/ToDeviceChannel.js +328 -0
  320. package/lib/crypto/verification/request/ToDeviceChannel.js.map +1 -0
  321. package/lib/crypto/verification/request/VerificationRequest.d.ts +227 -0
  322. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +1 -0
  323. package/lib/crypto/verification/request/VerificationRequest.js +937 -0
  324. package/lib/crypto/verification/request/VerificationRequest.js.map +1 -0
  325. package/lib/crypto-api/CryptoEvent.d.ts +69 -0
  326. package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
  327. package/lib/crypto-api/CryptoEvent.js +33 -0
  328. package/lib/crypto-api/CryptoEvent.js.map +1 -0
  329. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +16 -0
  330. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
  331. package/lib/crypto-api/CryptoEventHandlerMap.js +22 -0
  332. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
  333. package/lib/crypto-api/index.d.ts +978 -0
  334. package/lib/crypto-api/index.d.ts.map +1 -0
  335. package/lib/crypto-api/index.js +304 -0
  336. package/lib/crypto-api/index.js.map +1 -0
  337. package/lib/crypto-api/key-passphrase.d.ts +11 -0
  338. package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
  339. package/lib/crypto-api/key-passphrase.js +51 -0
  340. package/lib/crypto-api/key-passphrase.js.map +1 -0
  341. package/lib/crypto-api/keybackup.d.ts +88 -0
  342. package/lib/crypto-api/keybackup.d.ts.map +1 -0
  343. package/lib/crypto-api/keybackup.js +1 -0
  344. package/lib/crypto-api/keybackup.js.map +1 -0
  345. package/lib/crypto-api/recovery-key.d.ts +11 -0
  346. package/lib/crypto-api/recovery-key.d.ts.map +1 -0
  347. package/lib/crypto-api/recovery-key.js +65 -0
  348. package/lib/crypto-api/recovery-key.js.map +1 -0
  349. package/lib/crypto-api/verification.d.ts +344 -0
  350. package/lib/crypto-api/verification.d.ts.map +1 -0
  351. package/lib/crypto-api/verification.js +91 -0
  352. package/lib/crypto-api/verification.js.map +1 -0
  353. package/lib/digest.d.ts +10 -0
  354. package/lib/digest.d.ts.map +1 -0
  355. package/lib/digest.js +40 -0
  356. package/lib/digest.js.map +1 -0
  357. package/lib/embedded.d.ts +143 -0
  358. package/lib/embedded.d.ts.map +1 -0
  359. package/lib/embedded.js +567 -0
  360. package/lib/embedded.js.map +1 -0
  361. package/lib/errors.d.ts +24 -0
  362. package/lib/errors.d.ts.map +1 -0
  363. package/lib/errors.js +51 -0
  364. package/lib/errors.js.map +1 -0
  365. package/lib/event-mapper.d.ts +10 -0
  366. package/lib/event-mapper.d.ts.map +1 -0
  367. package/lib/event-mapper.js +81 -0
  368. package/lib/event-mapper.js.map +1 -0
  369. package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
  370. package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
  371. package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
  372. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
  373. package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
  374. package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
  375. package/lib/extensible_events_v1/InvalidEventError.js +25 -0
  376. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
  377. package/lib/extensible_events_v1/MessageEvent.d.ts +45 -0
  378. package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
  379. package/lib/extensible_events_v1/MessageEvent.js +134 -0
  380. package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
  381. package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
  382. package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
  383. package/lib/extensible_events_v1/PollEndEvent.js +88 -0
  384. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
  385. package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
  386. package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
  387. package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
  388. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
  389. package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
  390. package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
  391. package/lib/extensible_events_v1/PollStartEvent.js +185 -0
  392. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
  393. package/lib/extensible_events_v1/utilities.d.ts +14 -0
  394. package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
  395. package/lib/extensible_events_v1/utilities.js +34 -0
  396. package/lib/extensible_events_v1/utilities.js.map +1 -0
  397. package/lib/feature.d.ts +20 -0
  398. package/lib/feature.d.ts.map +1 -0
  399. package/lib/feature.js +85 -0
  400. package/lib/feature.js.map +1 -0
  401. package/lib/filter-component.d.ts +64 -0
  402. package/lib/filter-component.d.ts.map +1 -0
  403. package/lib/filter-component.js +167 -0
  404. package/lib/filter-component.js.map +1 -0
  405. package/lib/filter.d.ts +97 -0
  406. package/lib/filter.d.ts.map +1 -0
  407. package/lib/filter.js +207 -0
  408. package/lib/filter.js.map +1 -0
  409. package/lib/http-api/errors.d.ts +80 -0
  410. package/lib/http-api/errors.d.ts.map +1 -0
  411. package/lib/http-api/errors.js +185 -0
  412. package/lib/http-api/errors.js.map +1 -0
  413. package/lib/http-api/fetch.d.ts +114 -0
  414. package/lib/http-api/fetch.d.ts.map +1 -0
  415. package/lib/http-api/fetch.js +346 -0
  416. package/lib/http-api/fetch.js.map +1 -0
  417. package/lib/http-api/index.d.ts +33 -0
  418. package/lib/http-api/index.d.ts.map +1 -0
  419. package/lib/http-api/index.js +180 -0
  420. package/lib/http-api/index.js.map +1 -0
  421. package/lib/http-api/interface.d.ts +142 -0
  422. package/lib/http-api/interface.d.ts.map +1 -0
  423. package/lib/http-api/interface.js +35 -0
  424. package/lib/http-api/interface.js.map +1 -0
  425. package/lib/http-api/method.d.ts +10 -0
  426. package/lib/http-api/method.d.ts.map +1 -0
  427. package/lib/http-api/method.js +27 -0
  428. package/lib/http-api/method.js.map +1 -0
  429. package/lib/http-api/prefix.d.ts +31 -0
  430. package/lib/http-api/prefix.d.ts.map +1 -0
  431. package/lib/http-api/prefix.js +32 -0
  432. package/lib/http-api/prefix.js.map +1 -0
  433. package/lib/http-api/utils.d.ts +37 -0
  434. package/lib/http-api/utils.d.ts.map +1 -0
  435. package/lib/http-api/utils.js +178 -0
  436. package/lib/http-api/utils.js.map +1 -0
  437. package/lib/index.d.ts +4 -0
  438. package/lib/index.d.ts.map +1 -0
  439. package/lib/index.js +24 -0
  440. package/lib/index.js.map +1 -0
  441. package/lib/indexeddb-helpers.d.ts +10 -0
  442. package/lib/indexeddb-helpers.d.ts.map +1 -0
  443. package/lib/indexeddb-helpers.js +51 -0
  444. package/lib/indexeddb-helpers.js.map +1 -0
  445. package/lib/indexeddb-worker.d.ts +7 -0
  446. package/lib/indexeddb-worker.d.ts.map +1 -0
  447. package/lib/indexeddb-worker.js +25 -0
  448. package/lib/indexeddb-worker.js.map +1 -0
  449. package/lib/interactive-auth.d.ts +337 -0
  450. package/lib/interactive-auth.d.ts.map +1 -0
  451. package/lib/interactive-auth.js +557 -0
  452. package/lib/interactive-auth.js.map +1 -0
  453. package/lib/logger.d.ts +81 -0
  454. package/lib/logger.d.ts.map +1 -0
  455. package/lib/logger.js +139 -0
  456. package/lib/logger.js.map +1 -0
  457. package/lib/matrix.d.ts +118 -0
  458. package/lib/matrix.d.ts.map +1 -0
  459. package/lib/matrix.js +146 -0
  460. package/lib/matrix.js.map +1 -0
  461. package/lib/matrixrtc/CallMembership.d.ts +66 -0
  462. package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
  463. package/lib/matrixrtc/CallMembership.js +197 -0
  464. package/lib/matrixrtc/CallMembership.js.map +1 -0
  465. package/lib/matrixrtc/LivekitFocus.d.ts +16 -0
  466. package/lib/matrixrtc/LivekitFocus.d.ts.map +1 -0
  467. package/lib/matrixrtc/LivekitFocus.js +20 -0
  468. package/lib/matrixrtc/LivekitFocus.js.map +1 -0
  469. package/lib/matrixrtc/MatrixRTCSession.d.ts +295 -0
  470. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
  471. package/lib/matrixrtc/MatrixRTCSession.js +1043 -0
  472. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
  473. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +40 -0
  474. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
  475. package/lib/matrixrtc/MatrixRTCSessionManager.js +146 -0
  476. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
  477. package/lib/matrixrtc/focus.d.ts +10 -0
  478. package/lib/matrixrtc/focus.d.ts.map +1 -0
  479. package/lib/matrixrtc/focus.js +1 -0
  480. package/lib/matrixrtc/focus.js.map +1 -0
  481. package/lib/matrixrtc/index.d.ts +7 -0
  482. package/lib/matrixrtc/index.d.ts.map +1 -0
  483. package/lib/matrixrtc/index.js +21 -0
  484. package/lib/matrixrtc/index.js.map +1 -0
  485. package/lib/matrixrtc/types.d.ts +19 -0
  486. package/lib/matrixrtc/types.d.ts.map +1 -0
  487. package/lib/matrixrtc/types.js +1 -0
  488. package/lib/matrixrtc/types.js.map +1 -0
  489. package/lib/models/MSC3089Branch.d.ts +98 -0
  490. package/lib/models/MSC3089Branch.d.ts.map +1 -0
  491. package/lib/models/MSC3089Branch.js +240 -0
  492. package/lib/models/MSC3089Branch.js.map +1 -0
  493. package/lib/models/MSC3089TreeSpace.d.ts +165 -0
  494. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
  495. package/lib/models/MSC3089TreeSpace.js +520 -0
  496. package/lib/models/MSC3089TreeSpace.js.map +1 -0
  497. package/lib/models/ToDeviceMessage.d.ts +17 -0
  498. package/lib/models/ToDeviceMessage.d.ts.map +1 -0
  499. package/lib/models/ToDeviceMessage.js +1 -0
  500. package/lib/models/ToDeviceMessage.js.map +1 -0
  501. package/lib/models/beacon.d.ts +53 -0
  502. package/lib/models/beacon.d.ts.map +1 -0
  503. package/lib/models/beacon.js +174 -0
  504. package/lib/models/beacon.js.map +1 -0
  505. package/lib/models/compare-event-ordering.d.ts +24 -0
  506. package/lib/models/compare-event-ordering.d.ts.map +1 -0
  507. package/lib/models/compare-event-ordering.js +120 -0
  508. package/lib/models/compare-event-ordering.js.map +1 -0
  509. package/lib/models/device.d.ts +45 -0
  510. package/lib/models/device.d.ts.map +1 -0
  511. package/lib/models/device.js +77 -0
  512. package/lib/models/device.js.map +1 -0
  513. package/lib/models/event-context.d.ts +62 -0
  514. package/lib/models/event-context.d.ts.map +1 -0
  515. package/lib/models/event-context.js +113 -0
  516. package/lib/models/event-context.js.map +1 -0
  517. package/lib/models/event-status.d.ts +19 -0
  518. package/lib/models/event-status.d.ts.map +1 -0
  519. package/lib/models/event-status.js +30 -0
  520. package/lib/models/event-status.js.map +1 -0
  521. package/lib/models/event-timeline-set.d.ts +312 -0
  522. package/lib/models/event-timeline-set.d.ts.map +1 -0
  523. package/lib/models/event-timeline-set.js +813 -0
  524. package/lib/models/event-timeline-set.js.map +1 -0
  525. package/lib/models/event-timeline.d.ts +219 -0
  526. package/lib/models/event-timeline.d.ts.map +1 -0
  527. package/lib/models/event-timeline.js +455 -0
  528. package/lib/models/event-timeline.js.map +1 -0
  529. package/lib/models/event.d.ts +811 -0
  530. package/lib/models/event.d.ts.map +1 -0
  531. package/lib/models/event.js +1520 -0
  532. package/lib/models/event.js.map +1 -0
  533. package/lib/models/invites-ignorer.d.ts +136 -0
  534. package/lib/models/invites-ignorer.d.ts.map +1 -0
  535. package/lib/models/invites-ignorer.js +382 -0
  536. package/lib/models/invites-ignorer.js.map +1 -0
  537. package/lib/models/poll.d.ts +67 -0
  538. package/lib/models/poll.d.ts.map +1 -0
  539. package/lib/models/poll.js +241 -0
  540. package/lib/models/poll.js.map +1 -0
  541. package/lib/models/profile-keys.d.ts +8 -0
  542. package/lib/models/profile-keys.d.ts.map +1 -0
  543. package/lib/models/profile-keys.js +8 -0
  544. package/lib/models/profile-keys.js.map +1 -0
  545. package/lib/models/read-receipt.d.ts +115 -0
  546. package/lib/models/read-receipt.d.ts.map +1 -0
  547. package/lib/models/read-receipt.js +366 -0
  548. package/lib/models/read-receipt.js.map +1 -0
  549. package/lib/models/related-relations.d.ts +11 -0
  550. package/lib/models/related-relations.d.ts.map +1 -0
  551. package/lib/models/related-relations.js +33 -0
  552. package/lib/models/related-relations.js.map +1 -0
  553. package/lib/models/relations-container.d.ts +44 -0
  554. package/lib/models/relations-container.d.ts.map +1 -0
  555. package/lib/models/relations-container.js +132 -0
  556. package/lib/models/relations-container.js.map +1 -0
  557. package/lib/models/relations.d.ts +114 -0
  558. package/lib/models/relations.d.ts.map +1 -0
  559. package/lib/models/relations.js +354 -0
  560. package/lib/models/relations.js.map +1 -0
  561. package/lib/models/room-member.d.ts +204 -0
  562. package/lib/models/room-member.d.ts.map +1 -0
  563. package/lib/models/room-member.js +360 -0
  564. package/lib/models/room-member.js.map +1 -0
  565. package/lib/models/room-receipts.d.ts +39 -0
  566. package/lib/models/room-receipts.d.ts.map +1 -0
  567. package/lib/models/room-receipts.js +392 -0
  568. package/lib/models/room-receipts.js.map +1 -0
  569. package/lib/models/room-state.d.ts +468 -0
  570. package/lib/models/room-state.d.ts.map +1 -0
  571. package/lib/models/room-state.js +984 -0
  572. package/lib/models/room-state.js.map +1 -0
  573. package/lib/models/room-summary.d.ts +29 -0
  574. package/lib/models/room-summary.d.ts.map +1 -0
  575. package/lib/models/room-summary.js +28 -0
  576. package/lib/models/room-summary.js.map +1 -0
  577. package/lib/models/room.d.ts +1203 -0
  578. package/lib/models/room.d.ts.map +1 -0
  579. package/lib/models/room.js +3336 -0
  580. package/lib/models/room.js.map +1 -0
  581. package/lib/models/search-result.d.ts +20 -0
  582. package/lib/models/search-result.d.ts.map +1 -0
  583. package/lib/models/search-result.js +52 -0
  584. package/lib/models/search-result.js.map +1 -0
  585. package/lib/models/thread.d.ts +246 -0
  586. package/lib/models/thread.d.ts.map +1 -0
  587. package/lib/models/thread.js +861 -0
  588. package/lib/models/thread.js.map +1 -0
  589. package/lib/models/typed-event-emitter.d.ts +157 -0
  590. package/lib/models/typed-event-emitter.d.ts.map +1 -0
  591. package/lib/models/typed-event-emitter.js +227 -0
  592. package/lib/models/typed-event-emitter.js.map +1 -0
  593. package/lib/models/user.d.ts +195 -0
  594. package/lib/models/user.d.ts.map +1 -0
  595. package/lib/models/user.js +218 -0
  596. package/lib/models/user.js.map +1 -0
  597. package/lib/oidc/authorize.d.ts +90 -0
  598. package/lib/oidc/authorize.d.ts.map +1 -0
  599. package/lib/oidc/authorize.js +278 -0
  600. package/lib/oidc/authorize.js.map +1 -0
  601. package/lib/oidc/discovery.d.ts +14 -0
  602. package/lib/oidc/discovery.d.ts.map +1 -0
  603. package/lib/oidc/discovery.js +66 -0
  604. package/lib/oidc/discovery.js.map +1 -0
  605. package/lib/oidc/error.d.ts +18 -0
  606. package/lib/oidc/error.d.ts.map +1 -0
  607. package/lib/oidc/error.js +35 -0
  608. package/lib/oidc/error.js.map +1 -0
  609. package/lib/oidc/index.d.ts +17 -0
  610. package/lib/oidc/index.d.ts.map +1 -0
  611. package/lib/oidc/index.js +29 -0
  612. package/lib/oidc/index.js.map +1 -0
  613. package/lib/oidc/register.d.ts +43 -0
  614. package/lib/oidc/register.d.ts.map +1 -0
  615. package/lib/oidc/register.js +96 -0
  616. package/lib/oidc/register.js.map +1 -0
  617. package/lib/oidc/tokenRefresher.d.ts +69 -0
  618. package/lib/oidc/tokenRefresher.d.ts.map +1 -0
  619. package/lib/oidc/tokenRefresher.js +148 -0
  620. package/lib/oidc/tokenRefresher.js.map +1 -0
  621. package/lib/oidc/validate.d.ts +90 -0
  622. package/lib/oidc/validate.d.ts.map +1 -0
  623. package/lib/oidc/validate.js +194 -0
  624. package/lib/oidc/validate.js.map +1 -0
  625. package/lib/pushprocessor.d.ts +128 -0
  626. package/lib/pushprocessor.d.ts.map +1 -0
  627. package/lib/pushprocessor.js +685 -0
  628. package/lib/pushprocessor.js.map +1 -0
  629. package/lib/randomstring.d.ts +5 -0
  630. package/lib/randomstring.d.ts.map +1 -0
  631. package/lib/randomstring.js +43 -0
  632. package/lib/randomstring.js.map +1 -0
  633. package/lib/realtime-callbacks.d.ts +18 -0
  634. package/lib/realtime-callbacks.d.ts.map +1 -0
  635. package/lib/realtime-callbacks.js +177 -0
  636. package/lib/realtime-callbacks.js.map +1 -0
  637. package/lib/receipt-accumulator.d.ts +51 -0
  638. package/lib/receipt-accumulator.d.ts.map +1 -0
  639. package/lib/receipt-accumulator.js +164 -0
  640. package/lib/receipt-accumulator.js.map +1 -0
  641. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
  642. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
  643. package/lib/rendezvous/MSC4108SignInWithQR.js +392 -0
  644. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
  645. package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
  646. package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
  647. package/lib/rendezvous/RendezvousChannel.js +1 -0
  648. package/lib/rendezvous/RendezvousChannel.js.map +1 -0
  649. package/lib/rendezvous/RendezvousCode.d.ts +9 -0
  650. package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
  651. package/lib/rendezvous/RendezvousCode.js +1 -0
  652. package/lib/rendezvous/RendezvousCode.js.map +1 -0
  653. package/lib/rendezvous/RendezvousError.d.ts +6 -0
  654. package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
  655. package/lib/rendezvous/RendezvousError.js +23 -0
  656. package/lib/rendezvous/RendezvousError.js.map +1 -0
  657. package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
  658. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
  659. package/lib/rendezvous/RendezvousFailureReason.js +38 -0
  660. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
  661. package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
  662. package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
  663. package/lib/rendezvous/RendezvousIntent.js +22 -0
  664. package/lib/rendezvous/RendezvousIntent.js.map +1 -0
  665. package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
  666. package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
  667. package/lib/rendezvous/RendezvousTransport.js +1 -0
  668. package/lib/rendezvous/RendezvousTransport.js.map +1 -0
  669. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
  670. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
  671. package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
  672. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
  673. package/lib/rendezvous/channels/index.d.ts +2 -0
  674. package/lib/rendezvous/channels/index.d.ts.map +1 -0
  675. package/lib/rendezvous/channels/index.js +18 -0
  676. package/lib/rendezvous/channels/index.js.map +1 -0
  677. package/lib/rendezvous/index.d.ts +10 -0
  678. package/lib/rendezvous/index.d.ts.map +1 -0
  679. package/lib/rendezvous/index.js +23 -0
  680. package/lib/rendezvous/index.js.map +1 -0
  681. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
  682. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
  683. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +253 -0
  684. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
  685. package/lib/rendezvous/transports/index.d.ts +2 -0
  686. package/lib/rendezvous/transports/index.d.ts.map +1 -0
  687. package/lib/rendezvous/transports/index.js +18 -0
  688. package/lib/rendezvous/transports/index.js.map +1 -0
  689. package/lib/room-hierarchy.d.ts +35 -0
  690. package/lib/room-hierarchy.d.ts.map +1 -0
  691. package/lib/room-hierarchy.js +136 -0
  692. package/lib/room-hierarchy.js.map +1 -0
  693. package/lib/rust-crypto/CrossSigningIdentity.d.ts +33 -0
  694. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
  695. package/lib/rust-crypto/CrossSigningIdentity.js +157 -0
  696. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
  697. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +98 -0
  698. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
  699. package/lib/rust-crypto/DehydratedDeviceManager.js +285 -0
  700. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
  701. package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
  702. package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
  703. package/lib/rust-crypto/KeyClaimManager.js +82 -0
  704. package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
  705. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +43 -0
  706. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
  707. package/lib/rust-crypto/OutgoingRequestProcessor.js +195 -0
  708. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
  709. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
  710. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
  711. package/lib/rust-crypto/OutgoingRequestsManager.js +148 -0
  712. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
  713. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
  714. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
  715. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +467 -0
  716. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
  717. package/lib/rust-crypto/RoomEncryptor.d.ts +98 -0
  718. package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
  719. package/lib/rust-crypto/RoomEncryptor.js +299 -0
  720. package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
  721. package/lib/rust-crypto/backup.d.ts +254 -0
  722. package/lib/rust-crypto/backup.d.ts.map +1 -0
  723. package/lib/rust-crypto/backup.js +837 -0
  724. package/lib/rust-crypto/backup.js.map +1 -0
  725. package/lib/rust-crypto/constants.d.ts +3 -0
  726. package/lib/rust-crypto/constants.d.ts.map +1 -0
  727. package/lib/rust-crypto/constants.js +19 -0
  728. package/lib/rust-crypto/constants.js.map +1 -0
  729. package/lib/rust-crypto/device-converter.d.ts +28 -0
  730. package/lib/rust-crypto/device-converter.d.ts.map +1 -0
  731. package/lib/rust-crypto/device-converter.js +123 -0
  732. package/lib/rust-crypto/device-converter.js.map +1 -0
  733. package/lib/rust-crypto/index.d.ts +61 -0
  734. package/lib/rust-crypto/index.d.ts.map +1 -0
  735. package/lib/rust-crypto/index.js +152 -0
  736. package/lib/rust-crypto/index.js.map +1 -0
  737. package/lib/rust-crypto/libolm_migration.d.ts +81 -0
  738. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
  739. package/lib/rust-crypto/libolm_migration.js +459 -0
  740. package/lib/rust-crypto/libolm_migration.js.map +1 -0
  741. package/lib/rust-crypto/rust-crypto.d.ts +556 -0
  742. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
  743. package/lib/rust-crypto/rust-crypto.js +2016 -0
  744. package/lib/rust-crypto/rust-crypto.js.map +1 -0
  745. package/lib/rust-crypto/secret-storage.d.ts +22 -0
  746. package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
  747. package/lib/rust-crypto/secret-storage.js +63 -0
  748. package/lib/rust-crypto/secret-storage.js.map +1 -0
  749. package/lib/rust-crypto/verification.d.ts +319 -0
  750. package/lib/rust-crypto/verification.d.ts.map +1 -0
  751. package/lib/rust-crypto/verification.js +816 -0
  752. package/lib/rust-crypto/verification.js.map +1 -0
  753. package/lib/scheduler.d.ts +132 -0
  754. package/lib/scheduler.d.ts.map +1 -0
  755. package/lib/scheduler.js +259 -0
  756. package/lib/scheduler.js.map +1 -0
  757. package/lib/secret-storage.d.ts +370 -0
  758. package/lib/secret-storage.d.ts.map +1 -0
  759. package/lib/secret-storage.js +466 -0
  760. package/lib/secret-storage.js.map +1 -0
  761. package/lib/serverCapabilities.d.ts +72 -0
  762. package/lib/serverCapabilities.d.ts.map +1 -0
  763. package/lib/serverCapabilities.js +105 -0
  764. package/lib/serverCapabilities.js.map +1 -0
  765. package/lib/service-types.d.ts +5 -0
  766. package/lib/service-types.d.ts.map +1 -0
  767. package/lib/service-types.js +22 -0
  768. package/lib/service-types.js.map +1 -0
  769. package/lib/sliding-sync-sdk.d.ts +107 -0
  770. package/lib/sliding-sync-sdk.d.ts.map +1 -0
  771. package/lib/sliding-sync-sdk.js +903 -0
  772. package/lib/sliding-sync-sdk.js.map +1 -0
  773. package/lib/sliding-sync.d.ts +343 -0
  774. package/lib/sliding-sync.d.ts.map +1 -0
  775. package/lib/sliding-sync.js +817 -0
  776. package/lib/sliding-sync.js.map +1 -0
  777. package/lib/store/index.d.ts +201 -0
  778. package/lib/store/index.d.ts.map +1 -0
  779. package/lib/store/index.js +1 -0
  780. package/lib/store/index.js.map +1 -0
  781. package/lib/store/indexeddb-backend.d.ts +24 -0
  782. package/lib/store/indexeddb-backend.d.ts.map +1 -0
  783. package/lib/store/indexeddb-backend.js +1 -0
  784. package/lib/store/indexeddb-backend.js.map +1 -0
  785. package/lib/store/indexeddb-local-backend.d.ts +129 -0
  786. package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
  787. package/lib/store/indexeddb-local-backend.js +597 -0
  788. package/lib/store/indexeddb-local-backend.js.map +1 -0
  789. package/lib/store/indexeddb-remote-backend.d.ts +79 -0
  790. package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
  791. package/lib/store/indexeddb-remote-backend.js +210 -0
  792. package/lib/store/indexeddb-remote-backend.js.map +1 -0
  793. package/lib/store/indexeddb-store-worker.d.ts +35 -0
  794. package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
  795. package/lib/store/indexeddb-store-worker.js +146 -0
  796. package/lib/store/indexeddb-store-worker.js.map +1 -0
  797. package/lib/store/indexeddb.d.ts +142 -0
  798. package/lib/store/indexeddb.d.ts.map +1 -0
  799. package/lib/store/indexeddb.js +347 -0
  800. package/lib/store/indexeddb.js.map +1 -0
  801. package/lib/store/local-storage-events-emitter.d.ts +30 -0
  802. package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
  803. package/lib/store/local-storage-events-emitter.js +37 -0
  804. package/lib/store/local-storage-events-emitter.js.map +1 -0
  805. package/lib/store/memory.d.ts +209 -0
  806. package/lib/store/memory.d.ts.map +1 -0
  807. package/lib/store/memory.js +432 -0
  808. package/lib/store/memory.js.map +1 -0
  809. package/lib/store/stub.d.ts +161 -0
  810. package/lib/store/stub.d.ts.map +1 -0
  811. package/lib/store/stub.js +268 -0
  812. package/lib/store/stub.js.map +1 -0
  813. package/lib/sync-accumulator.d.ts +172 -0
  814. package/lib/sync-accumulator.d.ts.map +1 -0
  815. package/lib/sync-accumulator.js +532 -0
  816. package/lib/sync-accumulator.js.map +1 -0
  817. package/lib/sync.d.ts +260 -0
  818. package/lib/sync.d.ts.map +1 -0
  819. package/lib/sync.js +1686 -0
  820. package/lib/sync.js.map +1 -0
  821. package/lib/testing.d.ts +81 -0
  822. package/lib/testing.d.ts.map +1 -0
  823. package/lib/testing.js +162 -0
  824. package/lib/testing.js.map +1 -0
  825. package/lib/thread-utils.d.ts +10 -0
  826. package/lib/thread-utils.d.ts.map +1 -0
  827. package/lib/thread-utils.js +31 -0
  828. package/lib/thread-utils.js.map +1 -0
  829. package/lib/timeline-window.d.ts +168 -0
  830. package/lib/timeline-window.d.ts.map +1 -0
  831. package/lib/timeline-window.js +494 -0
  832. package/lib/timeline-window.js.map +1 -0
  833. package/lib/types.d.ts +33 -0
  834. package/lib/types.d.ts.map +1 -0
  835. package/lib/types.js +33 -0
  836. package/lib/types.js.map +1 -0
  837. package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
  838. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
  839. package/lib/utils/decryptAESSecretStorageItem.js +50 -0
  840. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
  841. package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
  842. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
  843. package/lib/utils/encryptAESSecretStorageItem.js +68 -0
  844. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
  845. package/lib/utils/internal/deriveKeys.d.ts +10 -0
  846. package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
  847. package/lib/utils/internal/deriveKeys.js +60 -0
  848. package/lib/utils/internal/deriveKeys.js.map +1 -0
  849. package/lib/utils.d.ts +267 -0
  850. package/lib/utils.d.ts.map +1 -0
  851. package/lib/utils.js +749 -0
  852. package/lib/utils.js.map +1 -0
  853. package/lib/version-support.d.ts +19 -0
  854. package/lib/version-support.d.ts.map +1 -0
  855. package/lib/version-support.js +37 -0
  856. package/lib/version-support.js.map +1 -0
  857. package/lib/webrtc/audioContext.d.ts +15 -0
  858. package/lib/webrtc/audioContext.d.ts.map +1 -0
  859. package/lib/webrtc/audioContext.js +46 -0
  860. package/lib/webrtc/audioContext.js.map +1 -0
  861. package/lib/webrtc/call.d.ts +560 -0
  862. package/lib/webrtc/call.d.ts.map +1 -0
  863. package/lib/webrtc/call.js +2541 -0
  864. package/lib/webrtc/call.js.map +1 -0
  865. package/lib/webrtc/callEventHandler.d.ts +37 -0
  866. package/lib/webrtc/callEventHandler.d.ts.map +1 -0
  867. package/lib/webrtc/callEventHandler.js +344 -0
  868. package/lib/webrtc/callEventHandler.js.map +1 -0
  869. package/lib/webrtc/callEventTypes.d.ts +73 -0
  870. package/lib/webrtc/callEventTypes.d.ts.map +1 -0
  871. package/lib/webrtc/callEventTypes.js +13 -0
  872. package/lib/webrtc/callEventTypes.js.map +1 -0
  873. package/lib/webrtc/callFeed.d.ts +128 -0
  874. package/lib/webrtc/callFeed.d.ts.map +1 -0
  875. package/lib/webrtc/callFeed.js +289 -0
  876. package/lib/webrtc/callFeed.js.map +1 -0
  877. package/lib/webrtc/groupCall.d.ts +323 -0
  878. package/lib/webrtc/groupCall.d.ts.map +1 -0
  879. package/lib/webrtc/groupCall.js +1337 -0
  880. package/lib/webrtc/groupCall.js.map +1 -0
  881. package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
  882. package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
  883. package/lib/webrtc/groupCallEventHandler.js +178 -0
  884. package/lib/webrtc/groupCallEventHandler.js.map +1 -0
  885. package/lib/webrtc/mediaHandler.d.ts +89 -0
  886. package/lib/webrtc/mediaHandler.d.ts.map +1 -0
  887. package/lib/webrtc/mediaHandler.js +437 -0
  888. package/lib/webrtc/mediaHandler.js.map +1 -0
  889. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
  890. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
  891. package/lib/webrtc/stats/callFeedStatsReporter.js +82 -0
  892. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
  893. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
  894. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
  895. package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
  896. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
  897. package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
  898. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
  899. package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
  900. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
  901. package/lib/webrtc/stats/connectionStats.d.ts +28 -0
  902. package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
  903. package/lib/webrtc/stats/connectionStats.js +26 -0
  904. package/lib/webrtc/stats/connectionStats.js.map +1 -0
  905. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
  906. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
  907. package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
  908. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
  909. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
  910. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
  911. package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
  912. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
  913. package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
  914. package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
  915. package/lib/webrtc/stats/groupCallStats.js +78 -0
  916. package/lib/webrtc/stats/groupCallStats.js.map +1 -0
  917. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
  918. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
  919. package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
  920. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
  921. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
  922. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
  923. package/lib/webrtc/stats/media/mediaTrackHandler.js +62 -0
  924. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
  925. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
  926. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
  927. package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
  928. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
  929. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
  930. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
  931. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
  932. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
  933. package/lib/webrtc/stats/statsReport.d.ts +99 -0
  934. package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
  935. package/lib/webrtc/stats/statsReport.js +32 -0
  936. package/lib/webrtc/stats/statsReport.js.map +1 -0
  937. package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
  938. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
  939. package/lib/webrtc/stats/statsReportEmitter.js +33 -0
  940. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
  941. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
  942. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
  943. package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
  944. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
  945. package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
  946. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
  947. package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
  948. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
  949. package/lib/webrtc/stats/transportStats.d.ts +11 -0
  950. package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
  951. package/lib/webrtc/stats/transportStats.js +1 -0
  952. package/lib/webrtc/stats/transportStats.js.map +1 -0
  953. package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
  954. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
  955. package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
  956. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
  957. package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
  958. package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
  959. package/lib/webrtc/stats/valueFormatter.js +25 -0
  960. package/lib/webrtc/stats/valueFormatter.js.map +1 -0
  961. package/package.json +134 -0
  962. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
  963. package/src/@types/IIdentityServerProvider.ts +24 -0
  964. package/src/@types/PushRules.ts +209 -0
  965. package/src/@types/another-json.d.ts +19 -0
  966. package/src/@types/auth.ts +252 -0
  967. package/src/@types/beacon.ts +140 -0
  968. package/src/@types/common.ts +22 -0
  969. package/src/@types/crypto.ts +73 -0
  970. package/src/@types/event.ts +370 -0
  971. package/src/@types/events.ts +119 -0
  972. package/src/@types/extensible_events.ts +150 -0
  973. package/src/@types/global.d.ts +70 -0
  974. package/src/@types/local_notifications.ts +19 -0
  975. package/src/@types/location.ts +92 -0
  976. package/src/@types/matrix-sdk-crypto-wasm.d.ts +44 -0
  977. package/src/@types/media.ts +245 -0
  978. package/src/@types/membership.ts +57 -0
  979. package/src/@types/oidc-client-ts.d.ts +24 -0
  980. package/src/@types/partials.ts +67 -0
  981. package/src/@types/polls.ts +119 -0
  982. package/src/@types/read_receipts.ts +61 -0
  983. package/src/@types/registration.ts +102 -0
  984. package/src/@types/requests.ts +314 -0
  985. package/src/@types/search.ts +119 -0
  986. package/src/@types/signed.ts +25 -0
  987. package/src/@types/spaces.ts +37 -0
  988. package/src/@types/state_events.ts +147 -0
  989. package/src/@types/synapse.ts +40 -0
  990. package/src/@types/sync.ts +27 -0
  991. package/src/@types/threepids.ts +29 -0
  992. package/src/@types/topic.ts +63 -0
  993. package/src/@types/uia.ts +29 -0
  994. package/src/NamespacedValue.ts +123 -0
  995. package/src/ReEmitter.ts +93 -0
  996. package/src/ToDeviceMessageQueue.ts +153 -0
  997. package/src/autodiscovery.ts +505 -0
  998. package/src/base64.ts +88 -0
  999. package/src/browser-index.ts +44 -0
  1000. package/src/client.ts +10474 -0
  1001. package/src/common-crypto/CryptoBackend.ts +302 -0
  1002. package/src/common-crypto/README.md +4 -0
  1003. package/src/common-crypto/key-passphrase.ts +43 -0
  1004. package/src/content-helpers.ts +288 -0
  1005. package/src/content-repo.ts +117 -0
  1006. package/src/crypto/CrossSigning.ts +773 -0
  1007. package/src/crypto/DeviceList.ts +989 -0
  1008. package/src/crypto/EncryptionSetup.ts +351 -0
  1009. package/src/crypto/OlmDevice.ts +1500 -0
  1010. package/src/crypto/OutgoingRoomKeyRequestManager.ts +485 -0
  1011. package/src/crypto/RoomList.ts +70 -0
  1012. package/src/crypto/SecretSharing.ts +240 -0
  1013. package/src/crypto/SecretStorage.ts +136 -0
  1014. package/src/crypto/aes.ts +23 -0
  1015. package/src/crypto/algorithms/base.ts +236 -0
  1016. package/src/crypto/algorithms/index.ts +20 -0
  1017. package/src/crypto/algorithms/megolm.ts +2216 -0
  1018. package/src/crypto/algorithms/olm.ts +381 -0
  1019. package/src/crypto/api.ts +70 -0
  1020. package/src/crypto/backup.ts +922 -0
  1021. package/src/crypto/crypto.ts +18 -0
  1022. package/src/crypto/dehydration.ts +272 -0
  1023. package/src/crypto/device-converter.ts +45 -0
  1024. package/src/crypto/deviceinfo.ts +158 -0
  1025. package/src/crypto/index.ts +4414 -0
  1026. package/src/crypto/key_passphrase.ts +42 -0
  1027. package/src/crypto/keybackup.ts +47 -0
  1028. package/src/crypto/olmlib.ts +539 -0
  1029. package/src/crypto/recoverykey.ts +18 -0
  1030. package/src/crypto/store/base.ts +348 -0
  1031. package/src/crypto/store/indexeddb-crypto-store-backend.ts +1250 -0
  1032. package/src/crypto/store/indexeddb-crypto-store.ts +845 -0
  1033. package/src/crypto/store/localStorage-crypto-store.ts +579 -0
  1034. package/src/crypto/store/memory-crypto-store.ts +680 -0
  1035. package/src/crypto/verification/Base.ts +409 -0
  1036. package/src/crypto/verification/Error.ts +76 -0
  1037. package/src/crypto/verification/IllegalMethod.ts +50 -0
  1038. package/src/crypto/verification/QRCode.ts +310 -0
  1039. package/src/crypto/verification/SAS.ts +494 -0
  1040. package/src/crypto/verification/SASDecimal.ts +37 -0
  1041. package/src/crypto/verification/request/Channel.ts +34 -0
  1042. package/src/crypto/verification/request/InRoomChannel.ts +371 -0
  1043. package/src/crypto/verification/request/ToDeviceChannel.ts +354 -0
  1044. package/src/crypto/verification/request/VerificationRequest.ts +976 -0
  1045. package/src/crypto-api/CryptoEvent.ts +93 -0
  1046. package/src/crypto-api/CryptoEventHandlerMap.ts +32 -0
  1047. package/src/crypto-api/index.ts +1175 -0
  1048. package/src/crypto-api/key-passphrase.ts +58 -0
  1049. package/src/crypto-api/keybackup.ts +115 -0
  1050. package/src/crypto-api/recovery-key.ts +69 -0
  1051. package/src/crypto-api/verification.ts +408 -0
  1052. package/src/digest.ts +34 -0
  1053. package/src/embedded.ts +631 -0
  1054. package/src/errors.ts +54 -0
  1055. package/src/event-mapper.ts +97 -0
  1056. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
  1057. package/src/extensible_events_v1/InvalidEventError.ts +24 -0
  1058. package/src/extensible_events_v1/MessageEvent.ts +145 -0
  1059. package/src/extensible_events_v1/PollEndEvent.ts +97 -0
  1060. package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
  1061. package/src/extensible_events_v1/PollStartEvent.ts +207 -0
  1062. package/src/extensible_events_v1/utilities.ts +35 -0
  1063. package/src/feature.ts +87 -0
  1064. package/src/filter-component.ts +207 -0
  1065. package/src/filter.ts +245 -0
  1066. package/src/http-api/errors.ts +199 -0
  1067. package/src/http-api/fetch.ts +383 -0
  1068. package/src/http-api/index.ts +191 -0
  1069. package/src/http-api/interface.ts +178 -0
  1070. package/src/http-api/method.ts +25 -0
  1071. package/src/http-api/prefix.ts +48 -0
  1072. package/src/http-api/utils.ts +200 -0
  1073. package/src/index.ts +25 -0
  1074. package/src/indexeddb-helpers.ts +50 -0
  1075. package/src/indexeddb-worker.ts +24 -0
  1076. package/src/interactive-auth.ts +694 -0
  1077. package/src/logger.ts +185 -0
  1078. package/src/matrix.ts +177 -0
  1079. package/src/matrixrtc/CallMembership.ts +247 -0
  1080. package/src/matrixrtc/LivekitFocus.ts +39 -0
  1081. package/src/matrixrtc/MatrixRTCSession.ts +1319 -0
  1082. package/src/matrixrtc/MatrixRTCSessionManager.ts +166 -0
  1083. package/src/matrixrtc/focus.ts +25 -0
  1084. package/src/matrixrtc/index.ts +22 -0
  1085. package/src/matrixrtc/types.ts +36 -0
  1086. package/src/models/MSC3089Branch.ts +272 -0
  1087. package/src/models/MSC3089TreeSpace.ts +565 -0
  1088. package/src/models/ToDeviceMessage.ts +38 -0
  1089. package/src/models/beacon.ts +214 -0
  1090. package/src/models/compare-event-ordering.ts +139 -0
  1091. package/src/models/device.ts +85 -0
  1092. package/src/models/event-context.ts +110 -0
  1093. package/src/models/event-status.ts +39 -0
  1094. package/src/models/event-timeline-set.ts +979 -0
  1095. package/src/models/event-timeline.ts +476 -0
  1096. package/src/models/event.ts +1751 -0
  1097. package/src/models/invites-ignorer.ts +376 -0
  1098. package/src/models/poll.ts +285 -0
  1099. package/src/models/profile-keys.ts +7 -0
  1100. package/src/models/read-receipt.ts +422 -0
  1101. package/src/models/related-relations.ts +39 -0
  1102. package/src/models/relations-container.ts +149 -0
  1103. package/src/models/relations.ts +368 -0
  1104. package/src/models/room-member.ts +457 -0
  1105. package/src/models/room-receipts.ts +439 -0
  1106. package/src/models/room-state.ts +1130 -0
  1107. package/src/models/room-summary.ts +47 -0
  1108. package/src/models/room.ts +3822 -0
  1109. package/src/models/search-result.ts +57 -0
  1110. package/src/models/thread.ts +923 -0
  1111. package/src/models/typed-event-emitter.ts +246 -0
  1112. package/src/models/user.ts +302 -0
  1113. package/src/oidc/authorize.ts +274 -0
  1114. package/src/oidc/discovery.ts +60 -0
  1115. package/src/oidc/error.ts +33 -0
  1116. package/src/oidc/index.ts +34 -0
  1117. package/src/oidc/register.ts +123 -0
  1118. package/src/oidc/tokenRefresher.ts +149 -0
  1119. package/src/oidc/validate.ts +282 -0
  1120. package/src/pushprocessor.ts +837 -0
  1121. package/src/randomstring.ts +51 -0
  1122. package/src/realtime-callbacks.ts +191 -0
  1123. package/src/receipt-accumulator.ts +189 -0
  1124. package/src/rendezvous/MSC4108SignInWithQR.ts +444 -0
  1125. package/src/rendezvous/RendezvousChannel.ts +48 -0
  1126. package/src/rendezvous/RendezvousCode.ts +25 -0
  1127. package/src/rendezvous/RendezvousError.ts +26 -0
  1128. package/src/rendezvous/RendezvousFailureReason.ts +49 -0
  1129. package/src/rendezvous/RendezvousIntent.ts +20 -0
  1130. package/src/rendezvous/RendezvousTransport.ts +58 -0
  1131. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
  1132. package/src/rendezvous/channels/index.ts +17 -0
  1133. package/src/rendezvous/index.ts +25 -0
  1134. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +270 -0
  1135. package/src/rendezvous/transports/index.ts +17 -0
  1136. package/src/room-hierarchy.ts +152 -0
  1137. package/src/rust-crypto/CrossSigningIdentity.ts +183 -0
  1138. package/src/rust-crypto/DehydratedDeviceManager.ts +306 -0
  1139. package/src/rust-crypto/KeyClaimManager.ts +86 -0
  1140. package/src/rust-crypto/OutgoingRequestProcessor.ts +236 -0
  1141. package/src/rust-crypto/OutgoingRequestsManager.ts +143 -0
  1142. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
  1143. package/src/rust-crypto/RoomEncryptor.ts +352 -0
  1144. package/src/rust-crypto/backup.ts +881 -0
  1145. package/src/rust-crypto/constants.ts +18 -0
  1146. package/src/rust-crypto/device-converter.ts +128 -0
  1147. package/src/rust-crypto/index.ts +237 -0
  1148. package/src/rust-crypto/libolm_migration.ts +530 -0
  1149. package/src/rust-crypto/rust-crypto.ts +2205 -0
  1150. package/src/rust-crypto/secret-storage.ts +60 -0
  1151. package/src/rust-crypto/verification.ts +830 -0
  1152. package/src/scheduler.ts +309 -0
  1153. package/src/secret-storage.ts +693 -0
  1154. package/src/serverCapabilities.ts +139 -0
  1155. package/src/service-types.ts +20 -0
  1156. package/src/sliding-sync-sdk.ts +1026 -0
  1157. package/src/sliding-sync.ts +965 -0
  1158. package/src/store/index.ts +261 -0
  1159. package/src/store/indexeddb-backend.ts +41 -0
  1160. package/src/store/indexeddb-local-backend.ts +610 -0
  1161. package/src/store/indexeddb-remote-backend.ts +213 -0
  1162. package/src/store/indexeddb-store-worker.ts +157 -0
  1163. package/src/store/indexeddb.ts +397 -0
  1164. package/src/store/local-storage-events-emitter.ts +46 -0
  1165. package/src/store/memory.ts +448 -0
  1166. package/src/store/stub.ts +280 -0
  1167. package/src/sync-accumulator.ts +689 -0
  1168. package/src/sync.ts +1920 -0
  1169. package/src/testing.ts +191 -0
  1170. package/src/thread-utils.ts +31 -0
  1171. package/src/timeline-window.ts +536 -0
  1172. package/src/types.ts +59 -0
  1173. package/src/utils/decryptAESSecretStorageItem.ts +54 -0
  1174. package/src/utils/encryptAESSecretStorageItem.ts +73 -0
  1175. package/src/utils/internal/deriveKeys.ts +63 -0
  1176. package/src/utils.ts +763 -0
  1177. package/src/version-support.ts +36 -0
  1178. package/src/webrtc/audioContext.ts +44 -0
  1179. package/src/webrtc/call.ts +3074 -0
  1180. package/src/webrtc/callEventHandler.ts +425 -0
  1181. package/src/webrtc/callEventTypes.ts +93 -0
  1182. package/src/webrtc/callFeed.ts +364 -0
  1183. package/src/webrtc/groupCall.ts +1735 -0
  1184. package/src/webrtc/groupCallEventHandler.ts +234 -0
  1185. package/src/webrtc/mediaHandler.ts +484 -0
  1186. package/src/webrtc/stats/callFeedStatsReporter.ts +94 -0
  1187. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
  1188. package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
  1189. package/src/webrtc/stats/connectionStats.ts +47 -0
  1190. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
  1191. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
  1192. package/src/webrtc/stats/groupCallStats.ts +93 -0
  1193. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
  1194. package/src/webrtc/stats/media/mediaTrackHandler.ts +76 -0
  1195. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
  1196. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
  1197. package/src/webrtc/stats/statsReport.ts +133 -0
  1198. package/src/webrtc/stats/statsReportEmitter.ts +49 -0
  1199. package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
  1200. package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
  1201. package/src/webrtc/stats/transportStats.ts +26 -0
  1202. package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
  1203. package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,89 @@
1
+ import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
2
+ import { MatrixClient } from "../client.ts";
3
+ export declare enum MediaHandlerEvent {
4
+ LocalStreamsChanged = "local_streams_changed"
5
+ }
6
+ export type MediaHandlerEventHandlerMap = {
7
+ [MediaHandlerEvent.LocalStreamsChanged]: () => void;
8
+ };
9
+ export interface IScreensharingOpts {
10
+ /**
11
+ * sourceId for Electron DesktopCapturer
12
+ */
13
+ desktopCapturerSourceId?: string;
14
+ audio?: boolean;
15
+ throwOnFail?: boolean;
16
+ }
17
+ export interface AudioSettings {
18
+ autoGainControl: boolean;
19
+ echoCancellation: boolean;
20
+ noiseSuppression: boolean;
21
+ }
22
+ export declare class MediaHandler extends TypedEventEmitter<MediaHandlerEvent.LocalStreamsChanged, MediaHandlerEventHandlerMap> {
23
+ private client;
24
+ private audioInput?;
25
+ private audioSettings?;
26
+ private videoInput?;
27
+ private localUserMediaStream?;
28
+ userMediaStreams: MediaStream[];
29
+ screensharingStreams: MediaStream[];
30
+ private getMediaStreamPromise?;
31
+ constructor(client: MatrixClient);
32
+ restoreMediaSettings(audioInput: string, videoInput: string): void;
33
+ /**
34
+ * Set an audio input device to use for MatrixCalls
35
+ * @param deviceId - the identifier for the device
36
+ * undefined treated as unset
37
+ */
38
+ setAudioInput(deviceId: string): Promise<void>;
39
+ /**
40
+ * Set audio settings for MatrixCalls
41
+ * @param opts - audio options to set
42
+ */
43
+ setAudioSettings(opts: AudioSettings): Promise<void>;
44
+ /**
45
+ * Set a video input device to use for MatrixCalls
46
+ * @param deviceId - the identifier for the device
47
+ * undefined treated as unset
48
+ */
49
+ setVideoInput(deviceId: string): Promise<void>;
50
+ /**
51
+ * Set media input devices to use for MatrixCalls
52
+ * @param audioInput - the identifier for the audio device
53
+ * @param videoInput - the identifier for the video device
54
+ * undefined treated as unset
55
+ */
56
+ setMediaInputs(audioInput: string, videoInput: string): Promise<void>;
57
+ updateLocalUsermediaStreams(): Promise<void>;
58
+ hasAudioDevice(): Promise<boolean>;
59
+ hasVideoDevice(): Promise<boolean>;
60
+ /**
61
+ * @param audio - should have an audio track
62
+ * @param video - should have a video track
63
+ * @param reusable - is allowed to be reused by the MediaHandler
64
+ * @returns based on passed parameters
65
+ */
66
+ getUserMediaStream(audio: boolean, video: boolean, reusable?: boolean): Promise<MediaStream>;
67
+ private getUserMediaStreamInternal;
68
+ /**
69
+ * Stops all tracks on the provided usermedia stream
70
+ */
71
+ stopUserMediaStream(mediaStream: MediaStream): void;
72
+ /**
73
+ * @param opts - screensharing stream options
74
+ * @param reusable - is allowed to be reused by the MediaHandler
75
+ * @returns based on passed parameters
76
+ */
77
+ getScreensharingStream(opts?: IScreensharingOpts, reusable?: boolean): Promise<MediaStream>;
78
+ /**
79
+ * Stops all tracks on the provided screensharing stream
80
+ */
81
+ stopScreensharingStream(mediaStream: MediaStream): void;
82
+ /**
83
+ * Stops all local media tracks
84
+ */
85
+ stopAllStreams(): void;
86
+ private getUserMediaContraints;
87
+ private getScreenshareContraints;
88
+ }
89
+ //# sourceMappingURL=mediaHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaHandler.d.ts","sourceRoot":"","sources":["../../src/webrtc/mediaHandler.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAGrE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,oBAAY,iBAAiB;IACzB,mBAAmB,0BAA0B;CAChD;AAED,MAAM,MAAM,2BAA2B,GAAG;IACtC,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CACvD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAKhB,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,YAAa,SAAQ,iBAAiB,CAC/C,iBAAiB,CAAC,mBAAmB,EACrC,2BAA2B,CAC9B;IAWsB,OAAO,CAAC,MAAM;IAVjC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,oBAAoB,CAAC,CAAc;IACpC,gBAAgB,EAAE,WAAW,EAAE,CAAM;IACrC,oBAAoB,EAAE,WAAW,EAAE,CAAM;IAGhD,OAAO,CAAC,qBAAqB,CAAC,CAAuB;gBAE1B,MAAM,EAAE,YAAY;IAIxC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKzE;;;;OAIG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;;OAGG;IACU,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjE;;;;OAIG;IACU,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;;;;OAKG;IACU,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D5C,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAU/C;;;;;OAKG;IACU,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC;YAaxF,0BAA0B;IAyFxC;;OAEG;IACI,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAmC1D;;;;OAIG;IACU,sBAAsB,CAAC,IAAI,GAAE,kBAAuB,EAAE,QAAQ,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAkCzG;;OAEG;IACI,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAgB9D;;OAEG;IACI,cAAc,IAAI,IAAI;IAqB7B,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,wBAAwB;CAmBnC"}
@@ -0,0 +1,437 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ /*
4
+ Copyright 2015, 2016 OpenMarket Ltd
5
+ Copyright 2017 New Vector Ltd
6
+ Copyright 2019, 2020 The Matrix.org Foundation C.I.C.
7
+ Copyright 2021 - 2022 Šimon Brandner <simon.bra.ag@gmail.com>
8
+
9
+ Licensed under the Apache License, Version 2.0 (the "License");
10
+ you may not use this file except in compliance with the License.
11
+ You may obtain a copy of the License at
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+
15
+ Unless required by applicable law or agreed to in writing, software
16
+ distributed under the License is distributed on an "AS IS" BASIS,
17
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18
+ See the License for the specific language governing permissions and
19
+ limitations under the License.
20
+ */
21
+
22
+ import { TypedEventEmitter } from "../models/typed-event-emitter.js";
23
+ import { GroupCallType, GroupCallState } from "../webrtc/groupCall.js";
24
+ import { logger } from "../logger.js";
25
+ export var MediaHandlerEvent = /*#__PURE__*/function (MediaHandlerEvent) {
26
+ MediaHandlerEvent["LocalStreamsChanged"] = "local_streams_changed";
27
+ return MediaHandlerEvent;
28
+ }({});
29
+ export class MediaHandler extends TypedEventEmitter {
30
+ constructor(client) {
31
+ super();
32
+ this.client = client;
33
+ _defineProperty(this, "audioInput", void 0);
34
+ _defineProperty(this, "audioSettings", void 0);
35
+ _defineProperty(this, "videoInput", void 0);
36
+ _defineProperty(this, "localUserMediaStream", void 0);
37
+ _defineProperty(this, "userMediaStreams", []);
38
+ _defineProperty(this, "screensharingStreams", []);
39
+ // Promise chain to serialise calls to getMediaStream
40
+ _defineProperty(this, "getMediaStreamPromise", void 0);
41
+ }
42
+ restoreMediaSettings(audioInput, videoInput) {
43
+ this.audioInput = audioInput;
44
+ this.videoInput = videoInput;
45
+ }
46
+
47
+ /**
48
+ * Set an audio input device to use for MatrixCalls
49
+ * @param deviceId - the identifier for the device
50
+ * undefined treated as unset
51
+ */
52
+ setAudioInput(deviceId) {
53
+ var _this = this;
54
+ return _asyncToGenerator(function* () {
55
+ logger.info("MediaHandler setAudioInput() running (deviceId=".concat(deviceId, ")"));
56
+ if (_this.audioInput === deviceId) return;
57
+ _this.audioInput = deviceId;
58
+ yield _this.updateLocalUsermediaStreams();
59
+ })();
60
+ }
61
+
62
+ /**
63
+ * Set audio settings for MatrixCalls
64
+ * @param opts - audio options to set
65
+ */
66
+ setAudioSettings(opts) {
67
+ var _this2 = this;
68
+ return _asyncToGenerator(function* () {
69
+ logger.info("MediaHandler setAudioSettings() running (opts=".concat(JSON.stringify(opts), ")"));
70
+ _this2.audioSettings = Object.assign({}, opts);
71
+ yield _this2.updateLocalUsermediaStreams();
72
+ })();
73
+ }
74
+
75
+ /**
76
+ * Set a video input device to use for MatrixCalls
77
+ * @param deviceId - the identifier for the device
78
+ * undefined treated as unset
79
+ */
80
+ setVideoInput(deviceId) {
81
+ var _this3 = this;
82
+ return _asyncToGenerator(function* () {
83
+ logger.info("MediaHandler setVideoInput() running (deviceId=".concat(deviceId, ")"));
84
+ if (_this3.videoInput === deviceId) return;
85
+ _this3.videoInput = deviceId;
86
+ yield _this3.updateLocalUsermediaStreams();
87
+ })();
88
+ }
89
+
90
+ /**
91
+ * Set media input devices to use for MatrixCalls
92
+ * @param audioInput - the identifier for the audio device
93
+ * @param videoInput - the identifier for the video device
94
+ * undefined treated as unset
95
+ */
96
+ setMediaInputs(audioInput, videoInput) {
97
+ var _this4 = this;
98
+ return _asyncToGenerator(function* () {
99
+ logger.log("MediaHandler setMediaInputs() running (audioInput: ".concat(audioInput, " videoInput: ").concat(videoInput, ")"));
100
+ _this4.audioInput = audioInput;
101
+ _this4.videoInput = videoInput;
102
+ yield _this4.updateLocalUsermediaStreams();
103
+ })();
104
+ }
105
+
106
+ /*
107
+ * Requests new usermedia streams and replace the old ones
108
+ */
109
+ updateLocalUsermediaStreams() {
110
+ var _this5 = this;
111
+ return _asyncToGenerator(function* () {
112
+ if (_this5.userMediaStreams.length === 0) return;
113
+ var callMediaStreamParams = new Map();
114
+ for (var call of _this5.client.callEventHandler.calls.values()) {
115
+ callMediaStreamParams.set(call.callId, {
116
+ audio: call.hasLocalUserMediaAudioTrack,
117
+ video: call.hasLocalUserMediaVideoTrack
118
+ });
119
+ }
120
+ for (var stream of _this5.userMediaStreams) {
121
+ logger.log("MediaHandler updateLocalUsermediaStreams() stopping all tracks (streamId=".concat(stream.id, ")"));
122
+ for (var track of stream.getTracks()) {
123
+ track.stop();
124
+ }
125
+ }
126
+ _this5.userMediaStreams = [];
127
+ _this5.localUserMediaStream = undefined;
128
+ for (var _call of _this5.client.callEventHandler.calls.values()) {
129
+ if (_call.callHasEnded() || !callMediaStreamParams.has(_call.callId)) {
130
+ continue;
131
+ }
132
+ var {
133
+ audio,
134
+ video
135
+ } = callMediaStreamParams.get(_call.callId);
136
+ logger.log("MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (callId=".concat(_call.callId, ")"));
137
+ var _stream = yield _this5.getUserMediaStream(audio, video);
138
+ if (_call.callHasEnded()) {
139
+ continue;
140
+ }
141
+ yield _call.updateLocalUsermediaStream(_stream);
142
+ }
143
+ for (var groupCall of _this5.client.groupCallEventHandler.groupCalls.values()) {
144
+ if (!groupCall.localCallFeed) {
145
+ continue;
146
+ }
147
+ logger.log("MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (groupCallId=".concat(groupCall.groupCallId, ")"));
148
+ var _stream2 = yield _this5.getUserMediaStream(true, groupCall.type === GroupCallType.Video);
149
+ if (groupCall.state === GroupCallState.Ended) {
150
+ continue;
151
+ }
152
+ yield groupCall.updateLocalUsermediaStream(_stream2);
153
+ }
154
+ _this5.emit(MediaHandlerEvent.LocalStreamsChanged);
155
+ })();
156
+ }
157
+ hasAudioDevice() {
158
+ return _asyncToGenerator(function* () {
159
+ try {
160
+ var devices = yield navigator.mediaDevices.enumerateDevices();
161
+ return devices.filter(device => device.kind === "audioinput").length > 0;
162
+ } catch (err) {
163
+ logger.log("MediaHandler hasAudioDevice() calling navigator.mediaDevices.enumerateDevices with error", err);
164
+ return false;
165
+ }
166
+ })();
167
+ }
168
+ hasVideoDevice() {
169
+ return _asyncToGenerator(function* () {
170
+ try {
171
+ var devices = yield navigator.mediaDevices.enumerateDevices();
172
+ return devices.filter(device => device.kind === "videoinput").length > 0;
173
+ } catch (err) {
174
+ logger.log("MediaHandler hasVideoDevice() calling navigator.mediaDevices.enumerateDevices with error", err);
175
+ return false;
176
+ }
177
+ })();
178
+ }
179
+
180
+ /**
181
+ * @param audio - should have an audio track
182
+ * @param video - should have a video track
183
+ * @param reusable - is allowed to be reused by the MediaHandler
184
+ * @returns based on passed parameters
185
+ */
186
+ getUserMediaStream(audio, video) {
187
+ var _arguments = arguments,
188
+ _this6 = this;
189
+ return _asyncToGenerator(function* () {
190
+ var reusable = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : true;
191
+ // Serialise calls, othertwise we can't sensibly re-use the stream
192
+ if (_this6.getMediaStreamPromise) {
193
+ _this6.getMediaStreamPromise = _this6.getMediaStreamPromise.then(() => {
194
+ return _this6.getUserMediaStreamInternal(audio, video, reusable);
195
+ });
196
+ } else {
197
+ _this6.getMediaStreamPromise = _this6.getUserMediaStreamInternal(audio, video, reusable);
198
+ }
199
+ return _this6.getMediaStreamPromise;
200
+ })();
201
+ }
202
+ getUserMediaStreamInternal(audio, video, reusable) {
203
+ var _this7 = this;
204
+ return _asyncToGenerator(function* () {
205
+ var shouldRequestAudio = audio && (yield _this7.hasAudioDevice());
206
+ var shouldRequestVideo = video && (yield _this7.hasVideoDevice());
207
+ var stream;
208
+ var canReuseStream = true;
209
+ if (_this7.localUserMediaStream) {
210
+ var _this7$localUserMedia, _this7$localUserMedia2;
211
+ // This figures out if we can reuse the current localUsermediaStream
212
+ // based on whether or not the "mute state" (presence of tracks of a
213
+ // given kind) matches what is being requested
214
+ if (shouldRequestAudio !== _this7.localUserMediaStream.getAudioTracks().length > 0) {
215
+ canReuseStream = false;
216
+ }
217
+ if (shouldRequestVideo !== _this7.localUserMediaStream.getVideoTracks().length > 0) {
218
+ canReuseStream = false;
219
+ }
220
+
221
+ // This code checks that the device ID is the same as the localUserMediaStream stream, but we update
222
+ // the localUserMediaStream whenever the device ID changes (apart from when restoring) so it's not
223
+ // clear why this would ever be different, unless there's a race.
224
+ if (shouldRequestAudio && ((_this7$localUserMedia = _this7.localUserMediaStream.getAudioTracks()[0]) === null || _this7$localUserMedia === void 0 || (_this7$localUserMedia = _this7$localUserMedia.getSettings()) === null || _this7$localUserMedia === void 0 ? void 0 : _this7$localUserMedia.deviceId) !== _this7.audioInput) {
225
+ canReuseStream = false;
226
+ }
227
+ if (shouldRequestVideo && ((_this7$localUserMedia2 = _this7.localUserMediaStream.getVideoTracks()[0]) === null || _this7$localUserMedia2 === void 0 || (_this7$localUserMedia2 = _this7$localUserMedia2.getSettings()) === null || _this7$localUserMedia2 === void 0 ? void 0 : _this7$localUserMedia2.deviceId) !== _this7.videoInput) {
228
+ canReuseStream = false;
229
+ }
230
+ } else {
231
+ canReuseStream = false;
232
+ }
233
+ if (!canReuseStream) {
234
+ var constraints = _this7.getUserMediaContraints(shouldRequestAudio, shouldRequestVideo);
235
+ stream = yield navigator.mediaDevices.getUserMedia(constraints);
236
+ logger.log("MediaHandler getUserMediaStreamInternal() calling getUserMediaStream (streamId=".concat(stream.id, ", shouldRequestAudio=").concat(shouldRequestAudio, ", shouldRequestVideo=").concat(shouldRequestVideo, ", constraints=").concat(JSON.stringify(constraints), ")"));
237
+ for (var track of stream.getTracks()) {
238
+ var settings = track.getSettings();
239
+ if (track.kind === "audio") {
240
+ _this7.audioInput = settings.deviceId;
241
+ } else if (track.kind === "video") {
242
+ _this7.videoInput = settings.deviceId;
243
+ }
244
+ }
245
+ if (reusable) {
246
+ _this7.localUserMediaStream = stream;
247
+ }
248
+ } else {
249
+ var _this7$localUserMedia3;
250
+ stream = _this7.localUserMediaStream.clone();
251
+ logger.log("MediaHandler getUserMediaStreamInternal() cloning (oldStreamId=".concat((_this7$localUserMedia3 = _this7.localUserMediaStream) === null || _this7$localUserMedia3 === void 0 ? void 0 : _this7$localUserMedia3.id, " newStreamId=").concat(stream.id, " shouldRequestAudio=").concat(shouldRequestAudio, " shouldRequestVideo=").concat(shouldRequestVideo, ")"));
252
+ if (!shouldRequestAudio) {
253
+ for (var _track of stream.getAudioTracks()) {
254
+ stream.removeTrack(_track);
255
+ }
256
+ }
257
+ if (!shouldRequestVideo) {
258
+ for (var _track2 of stream.getVideoTracks()) {
259
+ stream.removeTrack(_track2);
260
+ }
261
+ }
262
+ }
263
+ if (reusable) {
264
+ _this7.userMediaStreams.push(stream);
265
+ }
266
+ _this7.emit(MediaHandlerEvent.LocalStreamsChanged);
267
+ return stream;
268
+ })();
269
+ }
270
+
271
+ /**
272
+ * Stops all tracks on the provided usermedia stream
273
+ */
274
+ stopUserMediaStream(mediaStream) {
275
+ logger.log("MediaHandler stopUserMediaStream() stopping (streamId=".concat(mediaStream.id, ")"));
276
+ for (var track of mediaStream.getTracks()) {
277
+ track.stop();
278
+ }
279
+ var index = this.userMediaStreams.indexOf(mediaStream);
280
+ if (index !== -1) {
281
+ logger.debug("MediaHandler stopUserMediaStream() splicing usermedia stream out stream array (streamId=".concat(mediaStream.id, ")"), mediaStream.id);
282
+ this.userMediaStreams.splice(index, 1);
283
+ }
284
+ this.emit(MediaHandlerEvent.LocalStreamsChanged);
285
+ if (this.localUserMediaStream === mediaStream) {
286
+ // if we have this stream cahced, remove it, because we've stopped it
287
+ this.localUserMediaStream = undefined;
288
+ } else {
289
+ // If it's not the same stream. remove any tracks from the cached stream that
290
+ // we have just stopped, and if we do stop any, call the same method on the
291
+ // cached stream too in order to stop all its tracks (in case they are different)
292
+ // and un-cache it.
293
+ for (var _track3 of mediaStream.getTracks()) {
294
+ var _this$localUserMediaS;
295
+ if ((_this$localUserMediaS = this.localUserMediaStream) !== null && _this$localUserMediaS !== void 0 && _this$localUserMediaS.getTrackById(_track3.id)) {
296
+ this.stopUserMediaStream(this.localUserMediaStream);
297
+ break;
298
+ }
299
+ }
300
+ }
301
+ }
302
+
303
+ /**
304
+ * @param opts - screensharing stream options
305
+ * @param reusable - is allowed to be reused by the MediaHandler
306
+ * @returns based on passed parameters
307
+ */
308
+ getScreensharingStream() {
309
+ var _arguments2 = arguments,
310
+ _this8 = this;
311
+ return _asyncToGenerator(function* () {
312
+ var opts = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : {};
313
+ var reusable = _arguments2.length > 1 && _arguments2[1] !== undefined ? _arguments2[1] : true;
314
+ var stream;
315
+ if (_this8.screensharingStreams.length === 0) {
316
+ var screenshareConstraints = _this8.getScreenshareContraints(opts);
317
+ if (opts.desktopCapturerSourceId) {
318
+ // We are using Electron
319
+ logger.debug("MediaHandler getScreensharingStream() calling getUserMedia() (opts=".concat(JSON.stringify(opts), ")"));
320
+ stream = yield navigator.mediaDevices.getUserMedia(screenshareConstraints);
321
+ } else {
322
+ // We are not using Electron
323
+ logger.debug("MediaHandler getScreensharingStream() calling getDisplayMedia() (opts=".concat(JSON.stringify(opts), ")"));
324
+ stream = yield navigator.mediaDevices.getDisplayMedia(screenshareConstraints);
325
+ }
326
+ } else {
327
+ var matchingStream = _this8.screensharingStreams[_this8.screensharingStreams.length - 1];
328
+ logger.log("MediaHandler getScreensharingStream() cloning (streamId=".concat(matchingStream.id, ")"));
329
+ stream = matchingStream.clone();
330
+ }
331
+ if (reusable) {
332
+ _this8.screensharingStreams.push(stream);
333
+ }
334
+ _this8.emit(MediaHandlerEvent.LocalStreamsChanged);
335
+ return stream;
336
+ })();
337
+ }
338
+
339
+ /**
340
+ * Stops all tracks on the provided screensharing stream
341
+ */
342
+ stopScreensharingStream(mediaStream) {
343
+ logger.debug("MediaHandler stopScreensharingStream() stopping stream (streamId=".concat(mediaStream.id, ")"));
344
+ for (var track of mediaStream.getTracks()) {
345
+ track.stop();
346
+ }
347
+ var index = this.screensharingStreams.indexOf(mediaStream);
348
+ if (index !== -1) {
349
+ logger.debug("MediaHandler stopScreensharingStream() splicing stream out (streamId=".concat(mediaStream.id, ")"));
350
+ this.screensharingStreams.splice(index, 1);
351
+ }
352
+ this.emit(MediaHandlerEvent.LocalStreamsChanged);
353
+ }
354
+
355
+ /**
356
+ * Stops all local media tracks
357
+ */
358
+ stopAllStreams() {
359
+ for (var stream of this.userMediaStreams) {
360
+ logger.log("MediaHandler stopAllStreams() stopping (streamId=".concat(stream.id, ")"));
361
+ for (var track of stream.getTracks()) {
362
+ track.stop();
363
+ }
364
+ }
365
+ for (var _stream3 of this.screensharingStreams) {
366
+ for (var _track4 of _stream3.getTracks()) {
367
+ _track4.stop();
368
+ }
369
+ }
370
+ this.userMediaStreams = [];
371
+ this.screensharingStreams = [];
372
+ this.localUserMediaStream = undefined;
373
+ this.emit(MediaHandlerEvent.LocalStreamsChanged);
374
+ }
375
+ getUserMediaContraints(audio, video) {
376
+ var isWebkit = !!navigator.webkitGetUserMedia;
377
+ return {
378
+ audio: audio ? {
379
+ deviceId: this.audioInput ? {
380
+ ideal: this.audioInput
381
+ } : undefined,
382
+ autoGainControl: this.audioSettings ? {
383
+ ideal: this.audioSettings.autoGainControl
384
+ } : undefined,
385
+ echoCancellation: this.audioSettings ? {
386
+ ideal: this.audioSettings.echoCancellation
387
+ } : undefined,
388
+ noiseSuppression: this.audioSettings ? {
389
+ ideal: this.audioSettings.noiseSuppression
390
+ } : undefined
391
+ } : false,
392
+ video: video ? {
393
+ deviceId: this.videoInput ? {
394
+ ideal: this.videoInput
395
+ } : undefined,
396
+ /* We want 640x360. Chrome will give it only if we ask exactly,
397
+ FF refuses entirely if we ask exactly, so have to ask for ideal
398
+ instead
399
+ XXX: Is this still true?
400
+ */
401
+ width: isWebkit ? {
402
+ exact: 640
403
+ } : {
404
+ ideal: 640
405
+ },
406
+ height: isWebkit ? {
407
+ exact: 360
408
+ } : {
409
+ ideal: 360
410
+ }
411
+ } : false
412
+ };
413
+ }
414
+ getScreenshareContraints(opts) {
415
+ var {
416
+ desktopCapturerSourceId,
417
+ audio
418
+ } = opts;
419
+ if (desktopCapturerSourceId) {
420
+ return {
421
+ audio: audio !== null && audio !== void 0 ? audio : false,
422
+ video: {
423
+ mandatory: {
424
+ chromeMediaSource: "desktop",
425
+ chromeMediaSourceId: desktopCapturerSourceId
426
+ }
427
+ }
428
+ };
429
+ } else {
430
+ return {
431
+ audio: audio !== null && audio !== void 0 ? audio : false,
432
+ video: true
433
+ };
434
+ }
435
+ }
436
+ }
437
+ //# sourceMappingURL=mediaHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaHandler.js","names":["TypedEventEmitter","GroupCallType","GroupCallState","logger","MediaHandlerEvent","MediaHandler","constructor","client","_defineProperty","restoreMediaSettings","audioInput","videoInput","setAudioInput","deviceId","_this","_asyncToGenerator","info","concat","updateLocalUsermediaStreams","setAudioSettings","opts","_this2","JSON","stringify","audioSettings","Object","assign","setVideoInput","_this3","setMediaInputs","_this4","log","_this5","userMediaStreams","length","callMediaStreamParams","Map","call","callEventHandler","calls","values","set","callId","audio","hasLocalUserMediaAudioTrack","video","hasLocalUserMediaVideoTrack","stream","id","track","getTracks","stop","localUserMediaStream","undefined","callHasEnded","has","get","getUserMediaStream","updateLocalUsermediaStream","groupCall","groupCallEventHandler","groupCalls","localCallFeed","groupCallId","type","Video","state","Ended","emit","LocalStreamsChanged","hasAudioDevice","devices","navigator","mediaDevices","enumerateDevices","filter","device","kind","err","hasVideoDevice","_arguments","arguments","_this6","reusable","getMediaStreamPromise","then","getUserMediaStreamInternal","_this7","shouldRequestAudio","shouldRequestVideo","canReuseStream","_this7$localUserMedia","_this7$localUserMedia2","getAudioTracks","getVideoTracks","getSettings","constraints","getUserMediaContraints","getUserMedia","settings","_this7$localUserMedia3","clone","removeTrack","push","stopUserMediaStream","mediaStream","index","indexOf","debug","splice","_this$localUserMediaS","getTrackById","getScreensharingStream","_arguments2","_this8","screensharingStreams","screenshareConstraints","getScreenshareContraints","desktopCapturerSourceId","getDisplayMedia","matchingStream","stopScreensharingStream","stopAllStreams","isWebkit","webkitGetUserMedia","ideal","autoGainControl","echoCancellation","noiseSuppression","width","exact","height","mandatory","chromeMediaSource","chromeMediaSourceId"],"sources":["../../src/webrtc/mediaHandler.ts"],"sourcesContent":["/*\nCopyright 2015, 2016 OpenMarket Ltd\nCopyright 2017 New Vector Ltd\nCopyright 2019, 2020 The Matrix.org Foundation C.I.C.\nCopyright 2021 - 2022 Šimon Brandner <simon.bra.ag@gmail.com>\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\nimport { GroupCallType, GroupCallState } from \"../webrtc/groupCall.ts\";\nimport { logger } from \"../logger.ts\";\nimport { MatrixClient } from \"../client.ts\";\n\nexport enum MediaHandlerEvent {\n LocalStreamsChanged = \"local_streams_changed\",\n}\n\nexport type MediaHandlerEventHandlerMap = {\n [MediaHandlerEvent.LocalStreamsChanged]: () => void;\n};\n\nexport interface IScreensharingOpts {\n /**\n * sourceId for Electron DesktopCapturer\n */\n desktopCapturerSourceId?: string;\n audio?: boolean;\n // For electron screen capture, there are very few options for detecting electron\n // apart from inspecting the user agent or just trying getDisplayMedia() and\n // catching the failure, so we do the latter - this flag tells the function to just\n // throw an error so we can catch it in this case, rather than logging and emitting.\n throwOnFail?: boolean;\n}\n\nexport interface AudioSettings {\n autoGainControl: boolean;\n echoCancellation: boolean;\n noiseSuppression: boolean;\n}\n\nexport class MediaHandler extends TypedEventEmitter<\n MediaHandlerEvent.LocalStreamsChanged,\n MediaHandlerEventHandlerMap\n> {\n private audioInput?: string;\n private audioSettings?: AudioSettings;\n private videoInput?: string;\n private localUserMediaStream?: MediaStream;\n public userMediaStreams: MediaStream[] = [];\n public screensharingStreams: MediaStream[] = [];\n\n // Promise chain to serialise calls to getMediaStream\n private getMediaStreamPromise?: Promise<MediaStream>;\n\n public constructor(private client: MatrixClient) {\n super();\n }\n\n public restoreMediaSettings(audioInput: string, videoInput: string): void {\n this.audioInput = audioInput;\n this.videoInput = videoInput;\n }\n\n /**\n * Set an audio input device to use for MatrixCalls\n * @param deviceId - the identifier for the device\n * undefined treated as unset\n */\n public async setAudioInput(deviceId: string): Promise<void> {\n logger.info(`MediaHandler setAudioInput() running (deviceId=${deviceId})`);\n\n if (this.audioInput === deviceId) return;\n\n this.audioInput = deviceId;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set audio settings for MatrixCalls\n * @param opts - audio options to set\n */\n public async setAudioSettings(opts: AudioSettings): Promise<void> {\n logger.info(`MediaHandler setAudioSettings() running (opts=${JSON.stringify(opts)})`);\n\n this.audioSettings = Object.assign({}, opts) as AudioSettings;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set a video input device to use for MatrixCalls\n * @param deviceId - the identifier for the device\n * undefined treated as unset\n */\n public async setVideoInput(deviceId: string): Promise<void> {\n logger.info(`MediaHandler setVideoInput() running (deviceId=${deviceId})`);\n\n if (this.videoInput === deviceId) return;\n\n this.videoInput = deviceId;\n await this.updateLocalUsermediaStreams();\n }\n\n /**\n * Set media input devices to use for MatrixCalls\n * @param audioInput - the identifier for the audio device\n * @param videoInput - the identifier for the video device\n * undefined treated as unset\n */\n public async setMediaInputs(audioInput: string, videoInput: string): Promise<void> {\n logger.log(`MediaHandler setMediaInputs() running (audioInput: ${audioInput} videoInput: ${videoInput})`);\n this.audioInput = audioInput;\n this.videoInput = videoInput;\n await this.updateLocalUsermediaStreams();\n }\n\n /*\n * Requests new usermedia streams and replace the old ones\n */\n public async updateLocalUsermediaStreams(): Promise<void> {\n if (this.userMediaStreams.length === 0) return;\n\n const callMediaStreamParams: Map<string, { audio: boolean; video: boolean }> = new Map();\n for (const call of this.client.callEventHandler!.calls.values()) {\n callMediaStreamParams.set(call.callId, {\n audio: call.hasLocalUserMediaAudioTrack,\n video: call.hasLocalUserMediaVideoTrack,\n });\n }\n\n for (const stream of this.userMediaStreams) {\n logger.log(`MediaHandler updateLocalUsermediaStreams() stopping all tracks (streamId=${stream.id})`);\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n this.userMediaStreams = [];\n this.localUserMediaStream = undefined;\n\n for (const call of this.client.callEventHandler!.calls.values()) {\n if (call.callHasEnded() || !callMediaStreamParams.has(call.callId)) {\n continue;\n }\n\n const { audio, video } = callMediaStreamParams.get(call.callId)!;\n\n logger.log(\n `MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (callId=${call.callId})`,\n );\n const stream = await this.getUserMediaStream(audio, video);\n\n if (call.callHasEnded()) {\n continue;\n }\n\n await call.updateLocalUsermediaStream(stream);\n }\n\n for (const groupCall of this.client.groupCallEventHandler!.groupCalls.values()) {\n if (!groupCall.localCallFeed) {\n continue;\n }\n\n logger.log(\n `MediaHandler updateLocalUsermediaStreams() calling getUserMediaStream() (groupCallId=${groupCall.groupCallId})`,\n );\n const stream = await this.getUserMediaStream(true, groupCall.type === GroupCallType.Video);\n\n if (groupCall.state === GroupCallState.Ended) {\n continue;\n }\n\n await groupCall.updateLocalUsermediaStream(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n public async hasAudioDevice(): Promise<boolean> {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n return devices.filter((device) => device.kind === \"audioinput\").length > 0;\n } catch (err) {\n logger.log(`MediaHandler hasAudioDevice() calling navigator.mediaDevices.enumerateDevices with error`, err);\n return false;\n }\n }\n\n public async hasVideoDevice(): Promise<boolean> {\n try {\n const devices = await navigator.mediaDevices.enumerateDevices();\n return devices.filter((device) => device.kind === \"videoinput\").length > 0;\n } catch (err) {\n logger.log(`MediaHandler hasVideoDevice() calling navigator.mediaDevices.enumerateDevices with error`, err);\n return false;\n }\n }\n\n /**\n * @param audio - should have an audio track\n * @param video - should have a video track\n * @param reusable - is allowed to be reused by the MediaHandler\n * @returns based on passed parameters\n */\n public async getUserMediaStream(audio: boolean, video: boolean, reusable = true): Promise<MediaStream> {\n // Serialise calls, othertwise we can't sensibly re-use the stream\n if (this.getMediaStreamPromise) {\n this.getMediaStreamPromise = this.getMediaStreamPromise.then(() => {\n return this.getUserMediaStreamInternal(audio, video, reusable);\n });\n } else {\n this.getMediaStreamPromise = this.getUserMediaStreamInternal(audio, video, reusable);\n }\n\n return this.getMediaStreamPromise;\n }\n\n private async getUserMediaStreamInternal(audio: boolean, video: boolean, reusable: boolean): Promise<MediaStream> {\n const shouldRequestAudio = audio && (await this.hasAudioDevice());\n const shouldRequestVideo = video && (await this.hasVideoDevice());\n\n let stream: MediaStream;\n\n let canReuseStream = true;\n if (this.localUserMediaStream) {\n // This figures out if we can reuse the current localUsermediaStream\n // based on whether or not the \"mute state\" (presence of tracks of a\n // given kind) matches what is being requested\n if (shouldRequestAudio !== this.localUserMediaStream.getAudioTracks().length > 0) {\n canReuseStream = false;\n }\n if (shouldRequestVideo !== this.localUserMediaStream.getVideoTracks().length > 0) {\n canReuseStream = false;\n }\n\n // This code checks that the device ID is the same as the localUserMediaStream stream, but we update\n // the localUserMediaStream whenever the device ID changes (apart from when restoring) so it's not\n // clear why this would ever be different, unless there's a race.\n if (\n shouldRequestAudio &&\n this.localUserMediaStream.getAudioTracks()[0]?.getSettings()?.deviceId !== this.audioInput\n ) {\n canReuseStream = false;\n }\n if (\n shouldRequestVideo &&\n this.localUserMediaStream.getVideoTracks()[0]?.getSettings()?.deviceId !== this.videoInput\n ) {\n canReuseStream = false;\n }\n } else {\n canReuseStream = false;\n }\n\n if (!canReuseStream) {\n const constraints = this.getUserMediaContraints(shouldRequestAudio, shouldRequestVideo);\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n logger.log(\n `MediaHandler getUserMediaStreamInternal() calling getUserMediaStream (streamId=${\n stream.id\n }, shouldRequestAudio=${shouldRequestAudio}, shouldRequestVideo=${shouldRequestVideo}, constraints=${JSON.stringify(\n constraints,\n )})`,\n );\n\n for (const track of stream.getTracks()) {\n const settings = track.getSettings();\n\n if (track.kind === \"audio\") {\n this.audioInput = settings.deviceId!;\n } else if (track.kind === \"video\") {\n this.videoInput = settings.deviceId!;\n }\n }\n\n if (reusable) {\n this.localUserMediaStream = stream;\n }\n } else {\n stream = this.localUserMediaStream!.clone();\n logger.log(\n `MediaHandler getUserMediaStreamInternal() cloning (oldStreamId=${this.localUserMediaStream?.id} newStreamId=${stream.id} shouldRequestAudio=${shouldRequestAudio} shouldRequestVideo=${shouldRequestVideo})`,\n );\n\n if (!shouldRequestAudio) {\n for (const track of stream.getAudioTracks()) {\n stream.removeTrack(track);\n }\n }\n\n if (!shouldRequestVideo) {\n for (const track of stream.getVideoTracks()) {\n stream.removeTrack(track);\n }\n }\n }\n\n if (reusable) {\n this.userMediaStreams.push(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n return stream;\n }\n\n /**\n * Stops all tracks on the provided usermedia stream\n */\n public stopUserMediaStream(mediaStream: MediaStream): void {\n logger.log(`MediaHandler stopUserMediaStream() stopping (streamId=${mediaStream.id})`);\n for (const track of mediaStream.getTracks()) {\n track.stop();\n }\n\n const index = this.userMediaStreams.indexOf(mediaStream);\n\n if (index !== -1) {\n logger.debug(\n `MediaHandler stopUserMediaStream() splicing usermedia stream out stream array (streamId=${mediaStream.id})`,\n mediaStream.id,\n );\n this.userMediaStreams.splice(index, 1);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n if (this.localUserMediaStream === mediaStream) {\n // if we have this stream cahced, remove it, because we've stopped it\n this.localUserMediaStream = undefined;\n } else {\n // If it's not the same stream. remove any tracks from the cached stream that\n // we have just stopped, and if we do stop any, call the same method on the\n // cached stream too in order to stop all its tracks (in case they are different)\n // and un-cache it.\n for (const track of mediaStream.getTracks()) {\n if (this.localUserMediaStream?.getTrackById(track.id)) {\n this.stopUserMediaStream(this.localUserMediaStream);\n break;\n }\n }\n }\n }\n\n /**\n * @param opts - screensharing stream options\n * @param reusable - is allowed to be reused by the MediaHandler\n * @returns based on passed parameters\n */\n public async getScreensharingStream(opts: IScreensharingOpts = {}, reusable = true): Promise<MediaStream> {\n let stream: MediaStream;\n\n if (this.screensharingStreams.length === 0) {\n const screenshareConstraints = this.getScreenshareContraints(opts);\n\n if (opts.desktopCapturerSourceId) {\n // We are using Electron\n logger.debug(\n `MediaHandler getScreensharingStream() calling getUserMedia() (opts=${JSON.stringify(opts)})`,\n );\n stream = await navigator.mediaDevices.getUserMedia(screenshareConstraints);\n } else {\n // We are not using Electron\n logger.debug(\n `MediaHandler getScreensharingStream() calling getDisplayMedia() (opts=${JSON.stringify(opts)})`,\n );\n stream = await navigator.mediaDevices.getDisplayMedia(screenshareConstraints);\n }\n } else {\n const matchingStream = this.screensharingStreams[this.screensharingStreams.length - 1];\n logger.log(`MediaHandler getScreensharingStream() cloning (streamId=${matchingStream.id})`);\n stream = matchingStream.clone();\n }\n\n if (reusable) {\n this.screensharingStreams.push(stream);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n\n return stream;\n }\n\n /**\n * Stops all tracks on the provided screensharing stream\n */\n public stopScreensharingStream(mediaStream: MediaStream): void {\n logger.debug(`MediaHandler stopScreensharingStream() stopping stream (streamId=${mediaStream.id})`);\n for (const track of mediaStream.getTracks()) {\n track.stop();\n }\n\n const index = this.screensharingStreams.indexOf(mediaStream);\n\n if (index !== -1) {\n logger.debug(`MediaHandler stopScreensharingStream() splicing stream out (streamId=${mediaStream.id})`);\n this.screensharingStreams.splice(index, 1);\n }\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n /**\n * Stops all local media tracks\n */\n public stopAllStreams(): void {\n for (const stream of this.userMediaStreams) {\n logger.log(`MediaHandler stopAllStreams() stopping (streamId=${stream.id})`);\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n for (const stream of this.screensharingStreams) {\n for (const track of stream.getTracks()) {\n track.stop();\n }\n }\n\n this.userMediaStreams = [];\n this.screensharingStreams = [];\n this.localUserMediaStream = undefined;\n\n this.emit(MediaHandlerEvent.LocalStreamsChanged);\n }\n\n private getUserMediaContraints(audio: boolean, video: boolean): MediaStreamConstraints {\n const isWebkit = !!navigator.webkitGetUserMedia;\n\n return {\n audio: audio\n ? {\n deviceId: this.audioInput ? { ideal: this.audioInput } : undefined,\n autoGainControl: this.audioSettings ? { ideal: this.audioSettings.autoGainControl } : undefined,\n echoCancellation: this.audioSettings ? { ideal: this.audioSettings.echoCancellation } : undefined,\n noiseSuppression: this.audioSettings ? { ideal: this.audioSettings.noiseSuppression } : undefined,\n }\n : false,\n video: video\n ? {\n deviceId: this.videoInput ? { ideal: this.videoInput } : undefined,\n /* We want 640x360. Chrome will give it only if we ask exactly,\n FF refuses entirely if we ask exactly, so have to ask for ideal\n instead\n XXX: Is this still true?\n */\n width: isWebkit ? { exact: 640 } : { ideal: 640 },\n height: isWebkit ? { exact: 360 } : { ideal: 360 },\n }\n : false,\n };\n }\n\n private getScreenshareContraints(opts: IScreensharingOpts): DesktopCapturerConstraints {\n const { desktopCapturerSourceId, audio } = opts;\n if (desktopCapturerSourceId) {\n return {\n audio: audio ?? false,\n video: {\n mandatory: {\n chromeMediaSource: \"desktop\",\n chromeMediaSourceId: desktopCapturerSourceId,\n },\n },\n };\n } else {\n return {\n audio: audio ?? false,\n video: true,\n };\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { CallFeedReport } from "./statsReport.ts";
2
+ import { CallFeed } from "../callFeed.ts";
3
+ export declare class CallFeedStatsReporter {
4
+ static buildCallFeedReport(callId: string, opponentMemberId: string, pc: RTCPeerConnection): CallFeedReport;
5
+ private static buildTrackStats;
6
+ static expandCallFeedReport(report: CallFeedReport, callFeeds: CallFeed[], prefix?: string): CallFeedReport;
7
+ }
8
+ //# sourceMappingURL=callFeedStatsReporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callFeedStatsReporter.d.ts","sourceRoot":"","sources":["../../../src/webrtc/stats/callFeedStatsReporter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAA+C,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,qBAAa,qBAAqB;WAChB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,iBAAiB,GAAG,cAAc;IAyBlH,OAAO,CAAC,MAAM,CAAC,eAAe;WAgBhB,oBAAoB,CAC9B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,QAAQ,EAAE,EACrB,MAAM,SAAY,GACnB,cAAc;CA6BpB"}