@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,344 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ /*
4
+ Copyright 2020 The Matrix.org Foundation C.I.C.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ */
18
+
19
+ import { logger } from "../logger.js";
20
+ import { CallDirection, CallError, CallErrorCode, CallState, createNewMatrixCall } from "./call.js";
21
+ import { EventType } from "../@types/event.js";
22
+ import { ClientEvent } from "../client.js";
23
+ import { GroupCallErrorCode, GroupCallEvent, GroupCallUnknownDeviceError } from "./groupCall.js";
24
+ import { RoomEvent } from "../models/room.js";
25
+
26
+ // Don't ring unless we'd be ringing for at least 3 seconds: the user needs some
27
+ // time to press the 'accept' button
28
+ var RING_GRACE_PERIOD = 3000;
29
+ export var CallEventHandlerEvent = /*#__PURE__*/function (CallEventHandlerEvent) {
30
+ CallEventHandlerEvent["Incoming"] = "Call.incoming";
31
+ return CallEventHandlerEvent;
32
+ }({});
33
+ export class CallEventHandler {
34
+ constructor(client) {
35
+ // XXX: Most of these are only public because of the tests
36
+ _defineProperty(this, "calls", void 0);
37
+ _defineProperty(this, "callEventBuffer", void 0);
38
+ _defineProperty(this, "nextSeqByCall", new Map());
39
+ _defineProperty(this, "toDeviceEventBuffers", new Map());
40
+ _defineProperty(this, "client", void 0);
41
+ _defineProperty(this, "candidateEventsByCall", void 0);
42
+ _defineProperty(this, "eventBufferPromiseChain", void 0);
43
+ _defineProperty(this, "onSync", () => {
44
+ // Process the current event buffer and start queuing into a new one.
45
+ var currentEventBuffer = this.callEventBuffer;
46
+ this.callEventBuffer = [];
47
+
48
+ // Ensure correct ordering by only processing this queue after the previous one has finished processing
49
+ if (this.eventBufferPromiseChain) {
50
+ this.eventBufferPromiseChain = this.eventBufferPromiseChain.then(() => this.evaluateEventBuffer(currentEventBuffer));
51
+ } else {
52
+ this.eventBufferPromiseChain = this.evaluateEventBuffer(currentEventBuffer);
53
+ }
54
+ });
55
+ _defineProperty(this, "onRoomTimeline", event => {
56
+ this.callEventBuffer.push(event);
57
+ });
58
+ _defineProperty(this, "onToDeviceEvent", event => {
59
+ var content = event.getContent();
60
+ if (!content.call_id) {
61
+ this.callEventBuffer.push(event);
62
+ return;
63
+ }
64
+ if (!this.nextSeqByCall.has(content.call_id)) {
65
+ this.nextSeqByCall.set(content.call_id, 0);
66
+ }
67
+ if (content.seq === undefined) {
68
+ this.callEventBuffer.push(event);
69
+ return;
70
+ }
71
+ var nextSeq = this.nextSeqByCall.get(content.call_id) || 0;
72
+ if (content.seq !== nextSeq) {
73
+ if (!this.toDeviceEventBuffers.has(content.call_id)) {
74
+ this.toDeviceEventBuffers.set(content.call_id, []);
75
+ }
76
+ var buffer = this.toDeviceEventBuffers.get(content.call_id);
77
+ var index = buffer.findIndex(e => e.getContent().seq > content.seq);
78
+ if (index === -1) {
79
+ buffer.push(event);
80
+ } else {
81
+ buffer.splice(index, 0, event);
82
+ }
83
+ } else {
84
+ var callId = content.call_id;
85
+ this.callEventBuffer.push(event);
86
+ this.nextSeqByCall.set(callId, content.seq + 1);
87
+ var _buffer = this.toDeviceEventBuffers.get(callId);
88
+ var nextEvent = _buffer && _buffer.shift();
89
+ while (nextEvent && nextEvent.getContent().seq === this.nextSeqByCall.get(callId)) {
90
+ this.callEventBuffer.push(nextEvent);
91
+ this.nextSeqByCall.set(callId, nextEvent.getContent().seq + 1);
92
+ nextEvent = _buffer.shift();
93
+ }
94
+ }
95
+ });
96
+ this.client = client;
97
+ this.calls = new Map();
98
+ // The sync code always emits one event at a time, so it will patiently
99
+ // wait for us to finish processing a call invite before delivering the
100
+ // next event, even if that next event is a hangup. We therefore accumulate
101
+ // all our call events and then process them on the 'sync' event, ie.
102
+ // each time a sync has completed. This way, we can avoid emitting incoming
103
+ // call events if we get both the invite and answer/hangup in the same sync.
104
+ // This happens quite often, eg. replaying sync from storage, catchup sync
105
+ // after loading and after we've been offline for a bit.
106
+ this.callEventBuffer = [];
107
+ this.candidateEventsByCall = new Map();
108
+ }
109
+ start() {
110
+ this.client.on(ClientEvent.Sync, this.onSync);
111
+ this.client.on(RoomEvent.Timeline, this.onRoomTimeline);
112
+ this.client.on(ClientEvent.ToDeviceEvent, this.onToDeviceEvent);
113
+ }
114
+ stop() {
115
+ this.client.removeListener(ClientEvent.Sync, this.onSync);
116
+ this.client.removeListener(RoomEvent.Timeline, this.onRoomTimeline);
117
+ this.client.removeListener(ClientEvent.ToDeviceEvent, this.onToDeviceEvent);
118
+ }
119
+ evaluateEventBuffer(eventBuffer) {
120
+ var _this = this;
121
+ return _asyncToGenerator(function* () {
122
+ yield Promise.all(eventBuffer.map(event => _this.client.decryptEventIfNeeded(event)));
123
+ var callEvents = eventBuffer.filter(event => {
124
+ var eventType = event.getType();
125
+ return eventType.startsWith("m.call.") || eventType.startsWith("org.matrix.call.");
126
+ });
127
+ var ignoreCallIds = new Set();
128
+
129
+ // inspect the buffer and mark all calls which have been answered
130
+ // or hung up before passing them to the call event handler.
131
+ for (var event of callEvents) {
132
+ var eventType = event.getType();
133
+ if (eventType === EventType.CallAnswer || eventType === EventType.CallHangup) {
134
+ ignoreCallIds.add(event.getContent().call_id);
135
+ }
136
+ }
137
+
138
+ // Process call events in the order that they were received
139
+ for (var _event of callEvents) {
140
+ var _eventType = _event.getType();
141
+ var callId = _event.getContent().call_id;
142
+ if (_eventType === EventType.CallInvite && ignoreCallIds.has(callId)) {
143
+ // This call has previously been answered or hung up: ignore it
144
+ continue;
145
+ }
146
+ try {
147
+ yield _this.handleCallEvent(_event);
148
+ } catch (e) {
149
+ logger.error("CallEventHandler evaluateEventBuffer() caught exception handling call event", e);
150
+ }
151
+ }
152
+ })();
153
+ }
154
+ handleCallEvent(event) {
155
+ var _this2 = this;
156
+ return _asyncToGenerator(function* () {
157
+ var _getGroupCallById;
158
+ _this2.client.emit(ClientEvent.ReceivedVoipEvent, event);
159
+ var content = event.getContent();
160
+ var callRoomId = event.getRoomId() || ((_getGroupCallById = _this2.client.groupCallEventHandler.getGroupCallById(content.conf_id)) === null || _getGroupCallById === void 0 || (_getGroupCallById = _getGroupCallById.room) === null || _getGroupCallById === void 0 ? void 0 : _getGroupCallById.roomId);
161
+ var groupCallId = content.conf_id;
162
+ var type = event.getType();
163
+ var senderId = event.getSender();
164
+ var call = content.call_id ? _this2.calls.get(content.call_id) : undefined;
165
+ var opponentDeviceId;
166
+ var groupCall;
167
+ if (groupCallId) {
168
+ groupCall = _this2.client.groupCallEventHandler.getGroupCallById(groupCallId);
169
+ if (!groupCall) {
170
+ logger.warn("CallEventHandler handleCallEvent() could not find a group call - ignoring event (groupCallId=".concat(groupCallId, ", type=").concat(type, ")"));
171
+ return;
172
+ }
173
+ opponentDeviceId = content.device_id;
174
+ if (!opponentDeviceId) {
175
+ logger.warn("CallEventHandler handleCallEvent() could not find a device id - ignoring event (senderId=".concat(senderId, ")"));
176
+ groupCall.emit(GroupCallEvent.Error, new GroupCallUnknownDeviceError(senderId));
177
+ return;
178
+ }
179
+ if (content.dest_session_id !== _this2.client.getSessionId()) {
180
+ logger.warn("CallEventHandler handleCallEvent() call event does not match current session id - ignoring");
181
+ return;
182
+ }
183
+ }
184
+ var weSentTheEvent = senderId === _this2.client.credentials.userId && (opponentDeviceId === undefined || opponentDeviceId === _this2.client.getDeviceId());
185
+ if (!callRoomId) return;
186
+ if (type === EventType.CallInvite) {
187
+ var _this2$client$getTurn, _createNewMatrixCall, _groupCall;
188
+ // ignore invites you send
189
+ if (weSentTheEvent) return;
190
+ // expired call
191
+ if (event.getLocalAge() > content.lifetime - RING_GRACE_PERIOD) return;
192
+ // stale/old invite event
193
+ if (call && call.state === CallState.Ended) return;
194
+ if (call) {
195
+ logger.warn("CallEventHandler handleCallEvent() already has a call but got an invite - clobbering (callId=".concat(content.call_id, ")"));
196
+ }
197
+ if (content.invitee && content.invitee !== _this2.client.getUserId()) {
198
+ return; // This invite was meant for another user in the room
199
+ }
200
+ var timeUntilTurnCresExpire = ((_this2$client$getTurn = _this2.client.getTurnServersExpiry()) !== null && _this2$client$getTurn !== void 0 ? _this2$client$getTurn : 0) - Date.now();
201
+ logger.info("CallEventHandler handleCallEvent() current turn creds expire in " + timeUntilTurnCresExpire + " ms");
202
+ call = (_createNewMatrixCall = createNewMatrixCall(_this2.client, callRoomId, {
203
+ forceTURN: _this2.client.forceTURN,
204
+ opponentDeviceId,
205
+ groupCallId,
206
+ opponentSessionId: content.sender_session_id
207
+ })) !== null && _createNewMatrixCall !== void 0 ? _createNewMatrixCall : undefined;
208
+ if (!call) {
209
+ logger.log("CallEventHandler handleCallEvent() this client does not support WebRTC (callId=".concat(content.call_id, ")"));
210
+ // don't hang up the call: there could be other clients
211
+ // connected that do support WebRTC and declining the
212
+ // the call on their behalf would be really annoying.
213
+ return;
214
+ }
215
+ call.callId = content.call_id;
216
+ var stats = (_groupCall = groupCall) === null || _groupCall === void 0 ? void 0 : _groupCall.getGroupCallStats();
217
+ if (stats) {
218
+ call.initStats(stats);
219
+ }
220
+ try {
221
+ yield call.initWithInvite(event);
222
+ } catch (e) {
223
+ if (e instanceof CallError) {
224
+ if (e.code === GroupCallErrorCode.UnknownDevice) {
225
+ var _groupCall2;
226
+ (_groupCall2 = groupCall) === null || _groupCall2 === void 0 || _groupCall2.emit(GroupCallEvent.Error, e);
227
+ } else {
228
+ logger.error(e);
229
+ }
230
+ }
231
+ }
232
+ _this2.calls.set(call.callId, call);
233
+
234
+ // if we stashed candidate events for that call ID, play them back now
235
+ if (_this2.candidateEventsByCall.get(call.callId)) {
236
+ for (var ev of _this2.candidateEventsByCall.get(call.callId)) {
237
+ call.onRemoteIceCandidatesReceived(ev);
238
+ }
239
+ }
240
+
241
+ // Were we trying to call that user (room)?
242
+ var existingCall;
243
+ for (var thisCall of _this2.calls.values()) {
244
+ var _call$getOpponentMemb;
245
+ var isCalling = [CallState.WaitLocalMedia, CallState.CreateOffer, CallState.InviteSent].includes(thisCall.state);
246
+ if (call.roomId === thisCall.roomId && thisCall.direction === CallDirection.Outbound && ((_call$getOpponentMemb = call.getOpponentMember()) === null || _call$getOpponentMemb === void 0 ? void 0 : _call$getOpponentMemb.userId) === thisCall.invitee && isCalling) {
247
+ existingCall = thisCall;
248
+ break;
249
+ }
250
+ }
251
+ if (existingCall) {
252
+ if (existingCall.callId > call.callId) {
253
+ logger.log("CallEventHandler handleCallEvent() detected glare - answering incoming call and canceling outgoing call (incomingId=".concat(call.callId, ", outgoingId=").concat(existingCall.callId, ")"));
254
+ existingCall.replacedBy(call);
255
+ } else {
256
+ logger.log("CallEventHandler handleCallEvent() detected glare - hanging up incoming call (incomingId=".concat(call.callId, ", outgoingId=").concat(existingCall.callId, ")"));
257
+ call.hangup(CallErrorCode.Replaced, true);
258
+ }
259
+ } else {
260
+ _this2.client.emit(CallEventHandlerEvent.Incoming, call);
261
+ }
262
+ return;
263
+ } else if (type === EventType.CallCandidates) {
264
+ if (weSentTheEvent) return;
265
+ if (!call) {
266
+ // store the candidates; we may get a call eventually.
267
+ if (!_this2.candidateEventsByCall.has(content.call_id)) {
268
+ _this2.candidateEventsByCall.set(content.call_id, []);
269
+ }
270
+ _this2.candidateEventsByCall.get(content.call_id).push(event);
271
+ } else {
272
+ call.onRemoteIceCandidatesReceived(event);
273
+ }
274
+ return;
275
+ } else if ([EventType.CallHangup, EventType.CallReject].includes(type)) {
276
+ // Note that we also observe our own hangups here so we can see
277
+ // if we've already rejected a call that would otherwise be valid
278
+ if (!call) {
279
+ var _createNewMatrixCall2;
280
+ // if not live, store the fact that the call has ended because
281
+ // we're probably getting events backwards so
282
+ // the hangup will come before the invite
283
+ call = (_createNewMatrixCall2 = createNewMatrixCall(_this2.client, callRoomId, {
284
+ opponentDeviceId,
285
+ opponentSessionId: content.sender_session_id
286
+ })) !== null && _createNewMatrixCall2 !== void 0 ? _createNewMatrixCall2 : undefined;
287
+ if (call) {
288
+ call.callId = content.call_id;
289
+ call.initWithHangup(event);
290
+ _this2.calls.set(content.call_id, call);
291
+ }
292
+ } else {
293
+ if (call.state !== CallState.Ended) {
294
+ if (type === EventType.CallHangup) {
295
+ call.onHangupReceived(content);
296
+ } else {
297
+ call.onRejectReceived(content);
298
+ }
299
+
300
+ // @ts-expect-error typescript thinks the state can't be 'ended' because we're
301
+ // inside the if block where it wasn't, but it could have changed because
302
+ // on[Hangup|Reject]Received are side-effecty.
303
+ if (call.state === CallState.Ended) _this2.calls.delete(content.call_id);
304
+ }
305
+ }
306
+ return;
307
+ }
308
+
309
+ // The following events need a call and a peer connection
310
+ if (!call || !call.hasPeerConnection) {
311
+ logger.info("CallEventHandler handleCallEvent() discarding possible call event as we don't have a call (type=".concat(type, ")"));
312
+ return;
313
+ }
314
+ // Ignore remote echo
315
+ if (event.getContent().party_id === call.ourPartyId) return;
316
+ switch (type) {
317
+ case EventType.CallAnswer:
318
+ if (weSentTheEvent) {
319
+ if (call.state === CallState.Ringing) {
320
+ call.onAnsweredElsewhere(content);
321
+ }
322
+ } else {
323
+ call.onAnswerReceived(event);
324
+ }
325
+ break;
326
+ case EventType.CallSelectAnswer:
327
+ call.onSelectAnswerReceived(event);
328
+ break;
329
+ case EventType.CallNegotiate:
330
+ call.onNegotiateReceived(event);
331
+ break;
332
+ case EventType.CallAssertedIdentity:
333
+ case EventType.CallAssertedIdentityPrefix:
334
+ call.onAssertedIdentityReceived(event);
335
+ break;
336
+ case EventType.CallSDPStreamMetadataChanged:
337
+ case EventType.CallSDPStreamMetadataChangedPrefix:
338
+ call.onSDPStreamMetadataChangedReceived(event);
339
+ break;
340
+ }
341
+ })();
342
+ }
343
+ }
344
+ //# sourceMappingURL=callEventHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callEventHandler.js","names":["logger","CallDirection","CallError","CallErrorCode","CallState","createNewMatrixCall","EventType","ClientEvent","GroupCallErrorCode","GroupCallEvent","GroupCallUnknownDeviceError","RoomEvent","RING_GRACE_PERIOD","CallEventHandlerEvent","CallEventHandler","constructor","client","_defineProperty","Map","currentEventBuffer","callEventBuffer","eventBufferPromiseChain","then","evaluateEventBuffer","event","push","content","getContent","call_id","nextSeqByCall","has","set","seq","undefined","nextSeq","get","toDeviceEventBuffers","buffer","index","findIndex","e","splice","callId","nextEvent","shift","calls","candidateEventsByCall","start","on","Sync","onSync","Timeline","onRoomTimeline","ToDeviceEvent","onToDeviceEvent","stop","removeListener","eventBuffer","_this","_asyncToGenerator","Promise","all","map","decryptEventIfNeeded","callEvents","filter","eventType","getType","startsWith","ignoreCallIds","Set","CallAnswer","CallHangup","add","CallInvite","handleCallEvent","error","_this2","_getGroupCallById","emit","ReceivedVoipEvent","callRoomId","getRoomId","groupCallEventHandler","getGroupCallById","conf_id","room","roomId","groupCallId","type","senderId","getSender","call","opponentDeviceId","groupCall","warn","concat","device_id","Error","dest_session_id","getSessionId","weSentTheEvent","credentials","userId","getDeviceId","_this2$client$getTurn","_createNewMatrixCall","_groupCall","getLocalAge","lifetime","state","Ended","invitee","getUserId","timeUntilTurnCresExpire","getTurnServersExpiry","Date","now","info","forceTURN","opponentSessionId","sender_session_id","log","stats","getGroupCallStats","initStats","initWithInvite","code","UnknownDevice","_groupCall2","ev","onRemoteIceCandidatesReceived","existingCall","thisCall","values","_call$getOpponentMemb","isCalling","WaitLocalMedia","CreateOffer","InviteSent","includes","direction","Outbound","getOpponentMember","replacedBy","hangup","Replaced","Incoming","CallCandidates","CallReject","_createNewMatrixCall2","initWithHangup","onHangupReceived","onRejectReceived","delete","hasPeerConnection","party_id","ourPartyId","Ringing","onAnsweredElsewhere","onAnswerReceived","CallSelectAnswer","onSelectAnswerReceived","CallNegotiate","onNegotiateReceived","CallAssertedIdentity","CallAssertedIdentityPrefix","onAssertedIdentityReceived","CallSDPStreamMetadataChanged","CallSDPStreamMetadataChangedPrefix","onSDPStreamMetadataChangedReceived"],"sources":["../../src/webrtc/callEventHandler.ts"],"sourcesContent":["/*\nCopyright 2020 The Matrix.org Foundation C.I.C.\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 { MatrixEvent } from \"../models/event.ts\";\nimport { logger } from \"../logger.ts\";\nimport { CallDirection, CallError, CallErrorCode, CallState, createNewMatrixCall, MatrixCall } from \"./call.ts\";\nimport { EventType } from \"../@types/event.ts\";\nimport { ClientEvent, MatrixClient } from \"../client.ts\";\nimport { MCallAnswer, MCallHangupReject } from \"./callEventTypes.ts\";\nimport { GroupCall, GroupCallErrorCode, GroupCallEvent, GroupCallUnknownDeviceError } from \"./groupCall.ts\";\nimport { RoomEvent } from \"../models/room.ts\";\n\n// Don't ring unless we'd be ringing for at least 3 seconds: the user needs some\n// time to press the 'accept' button\nconst RING_GRACE_PERIOD = 3000;\n\nexport enum CallEventHandlerEvent {\n Incoming = \"Call.incoming\",\n}\n\nexport type CallEventHandlerEventHandlerMap = {\n /**\n * Fires whenever an incoming call arrives.\n * @param call - The incoming call.\n * @example\n * ```\n * matrixClient.on(\"Call.incoming\", function(call){\n * call.answer(); // auto-answer\n * });\n * ```\n */\n [CallEventHandlerEvent.Incoming]: (call: MatrixCall) => void;\n};\n\nexport class CallEventHandler {\n // XXX: Most of these are only public because of the tests\n public calls: Map<string, MatrixCall>;\n public callEventBuffer: MatrixEvent[];\n public nextSeqByCall: Map<string, number> = new Map();\n public toDeviceEventBuffers: Map<string, Array<MatrixEvent>> = new Map();\n\n private client: MatrixClient;\n private candidateEventsByCall: Map<string, Array<MatrixEvent>>;\n private eventBufferPromiseChain?: Promise<void>;\n\n public constructor(client: MatrixClient) {\n this.client = client;\n this.calls = new Map<string, MatrixCall>();\n // The sync code always emits one event at a time, so it will patiently\n // wait for us to finish processing a call invite before delivering the\n // next event, even if that next event is a hangup. We therefore accumulate\n // all our call events and then process them on the 'sync' event, ie.\n // each time a sync has completed. This way, we can avoid emitting incoming\n // call events if we get both the invite and answer/hangup in the same sync.\n // This happens quite often, eg. replaying sync from storage, catchup sync\n // after loading and after we've been offline for a bit.\n this.callEventBuffer = [];\n this.candidateEventsByCall = new Map<string, Array<MatrixEvent>>();\n }\n\n public start(): void {\n this.client.on(ClientEvent.Sync, this.onSync);\n this.client.on(RoomEvent.Timeline, this.onRoomTimeline);\n this.client.on(ClientEvent.ToDeviceEvent, this.onToDeviceEvent);\n }\n\n public stop(): void {\n this.client.removeListener(ClientEvent.Sync, this.onSync);\n this.client.removeListener(RoomEvent.Timeline, this.onRoomTimeline);\n this.client.removeListener(ClientEvent.ToDeviceEvent, this.onToDeviceEvent);\n }\n\n private onSync = (): void => {\n // Process the current event buffer and start queuing into a new one.\n const currentEventBuffer = this.callEventBuffer;\n this.callEventBuffer = [];\n\n // Ensure correct ordering by only processing this queue after the previous one has finished processing\n if (this.eventBufferPromiseChain) {\n this.eventBufferPromiseChain = this.eventBufferPromiseChain.then(() =>\n this.evaluateEventBuffer(currentEventBuffer),\n );\n } else {\n this.eventBufferPromiseChain = this.evaluateEventBuffer(currentEventBuffer);\n }\n };\n\n private async evaluateEventBuffer(eventBuffer: MatrixEvent[]): Promise<void> {\n await Promise.all(eventBuffer.map((event) => this.client.decryptEventIfNeeded(event)));\n\n const callEvents = eventBuffer.filter((event) => {\n const eventType = event.getType();\n return eventType.startsWith(\"m.call.\") || eventType.startsWith(\"org.matrix.call.\");\n });\n\n const ignoreCallIds = new Set<string>();\n\n // inspect the buffer and mark all calls which have been answered\n // or hung up before passing them to the call event handler.\n for (const event of callEvents) {\n const eventType = event.getType();\n\n if (eventType === EventType.CallAnswer || eventType === EventType.CallHangup) {\n ignoreCallIds.add(event.getContent().call_id);\n }\n }\n\n // Process call events in the order that they were received\n for (const event of callEvents) {\n const eventType = event.getType();\n const callId = event.getContent().call_id;\n\n if (eventType === EventType.CallInvite && ignoreCallIds.has(callId)) {\n // This call has previously been answered or hung up: ignore it\n continue;\n }\n\n try {\n await this.handleCallEvent(event);\n } catch (e) {\n logger.error(\"CallEventHandler evaluateEventBuffer() caught exception handling call event\", e);\n }\n }\n }\n\n private onRoomTimeline = (event: MatrixEvent): void => {\n this.callEventBuffer.push(event);\n };\n\n private onToDeviceEvent = (event: MatrixEvent): void => {\n const content = event.getContent();\n\n if (!content.call_id) {\n this.callEventBuffer.push(event);\n return;\n }\n\n if (!this.nextSeqByCall.has(content.call_id)) {\n this.nextSeqByCall.set(content.call_id, 0);\n }\n\n if (content.seq === undefined) {\n this.callEventBuffer.push(event);\n return;\n }\n\n const nextSeq = this.nextSeqByCall.get(content.call_id) || 0;\n\n if (content.seq !== nextSeq) {\n if (!this.toDeviceEventBuffers.has(content.call_id)) {\n this.toDeviceEventBuffers.set(content.call_id, []);\n }\n\n const buffer = this.toDeviceEventBuffers.get(content.call_id)!;\n const index = buffer.findIndex((e) => e.getContent().seq > content.seq);\n\n if (index === -1) {\n buffer.push(event);\n } else {\n buffer.splice(index, 0, event);\n }\n } else {\n const callId = content.call_id;\n this.callEventBuffer.push(event);\n this.nextSeqByCall.set(callId, content.seq + 1);\n\n const buffer = this.toDeviceEventBuffers.get(callId);\n\n let nextEvent = buffer && buffer.shift();\n\n while (nextEvent && nextEvent.getContent().seq === this.nextSeqByCall.get(callId)) {\n this.callEventBuffer.push(nextEvent);\n this.nextSeqByCall.set(callId, nextEvent.getContent().seq + 1);\n nextEvent = buffer!.shift();\n }\n }\n };\n\n private async handleCallEvent(event: MatrixEvent): Promise<void> {\n this.client.emit(ClientEvent.ReceivedVoipEvent, event);\n\n const content = event.getContent();\n const callRoomId =\n event.getRoomId() || this.client.groupCallEventHandler!.getGroupCallById(content.conf_id)?.room?.roomId;\n const groupCallId = content.conf_id;\n const type = event.getType() as EventType;\n const senderId = event.getSender()!;\n let call = content.call_id ? this.calls.get(content.call_id) : undefined;\n\n let opponentDeviceId: string | undefined;\n\n let groupCall: GroupCall | undefined;\n if (groupCallId) {\n groupCall = this.client.groupCallEventHandler!.getGroupCallById(groupCallId);\n\n if (!groupCall) {\n logger.warn(\n `CallEventHandler handleCallEvent() could not find a group call - ignoring event (groupCallId=${groupCallId}, type=${type})`,\n );\n return;\n }\n\n opponentDeviceId = content.device_id;\n\n if (!opponentDeviceId) {\n logger.warn(\n `CallEventHandler handleCallEvent() could not find a device id - ignoring event (senderId=${senderId})`,\n );\n groupCall.emit(GroupCallEvent.Error, new GroupCallUnknownDeviceError(senderId));\n return;\n }\n\n if (content.dest_session_id !== this.client.getSessionId()) {\n logger.warn(\n \"CallEventHandler handleCallEvent() call event does not match current session id - ignoring\",\n );\n return;\n }\n }\n\n const weSentTheEvent =\n senderId === this.client.credentials.userId &&\n (opponentDeviceId === undefined || opponentDeviceId === this.client.getDeviceId()!);\n\n if (!callRoomId) return;\n\n if (type === EventType.CallInvite) {\n // ignore invites you send\n if (weSentTheEvent) return;\n // expired call\n if (event.getLocalAge() > content.lifetime - RING_GRACE_PERIOD) return;\n // stale/old invite event\n if (call && call.state === CallState.Ended) return;\n\n if (call) {\n logger.warn(\n `CallEventHandler handleCallEvent() already has a call but got an invite - clobbering (callId=${content.call_id})`,\n );\n }\n\n if (content.invitee && content.invitee !== this.client.getUserId()) {\n return; // This invite was meant for another user in the room\n }\n\n const timeUntilTurnCresExpire = (this.client.getTurnServersExpiry() ?? 0) - Date.now();\n logger.info(\n \"CallEventHandler handleCallEvent() current turn creds expire in \" + timeUntilTurnCresExpire + \" ms\",\n );\n call =\n createNewMatrixCall(this.client, callRoomId, {\n forceTURN: this.client.forceTURN,\n opponentDeviceId,\n groupCallId,\n opponentSessionId: content.sender_session_id,\n }) ?? undefined;\n if (!call) {\n logger.log(\n `CallEventHandler handleCallEvent() this client does not support WebRTC (callId=${content.call_id})`,\n );\n // don't hang up the call: there could be other clients\n // connected that do support WebRTC and declining the\n // the call on their behalf would be really annoying.\n return;\n }\n\n call.callId = content.call_id;\n const stats = groupCall?.getGroupCallStats();\n if (stats) {\n call.initStats(stats);\n }\n\n try {\n await call.initWithInvite(event);\n } catch (e) {\n if (e instanceof CallError) {\n if (e.code === GroupCallErrorCode.UnknownDevice) {\n groupCall?.emit(GroupCallEvent.Error, e);\n } else {\n logger.error(e);\n }\n }\n }\n this.calls.set(call.callId, call);\n\n // if we stashed candidate events for that call ID, play them back now\n if (this.candidateEventsByCall.get(call.callId)) {\n for (const ev of this.candidateEventsByCall.get(call.callId)!) {\n call.onRemoteIceCandidatesReceived(ev);\n }\n }\n\n // Were we trying to call that user (room)?\n let existingCall: MatrixCall | undefined;\n for (const thisCall of this.calls.values()) {\n const isCalling = [CallState.WaitLocalMedia, CallState.CreateOffer, CallState.InviteSent].includes(\n thisCall.state,\n );\n\n if (\n call.roomId === thisCall.roomId &&\n thisCall.direction === CallDirection.Outbound &&\n call.getOpponentMember()?.userId === thisCall.invitee &&\n isCalling\n ) {\n existingCall = thisCall;\n break;\n }\n }\n\n if (existingCall) {\n if (existingCall.callId > call.callId) {\n logger.log(\n `CallEventHandler handleCallEvent() detected glare - answering incoming call and canceling outgoing call (incomingId=${call.callId}, outgoingId=${existingCall.callId})`,\n );\n existingCall.replacedBy(call);\n } else {\n logger.log(\n `CallEventHandler handleCallEvent() detected glare - hanging up incoming call (incomingId=${call.callId}, outgoingId=${existingCall.callId})`,\n );\n call.hangup(CallErrorCode.Replaced, true);\n }\n } else {\n this.client.emit(CallEventHandlerEvent.Incoming, call);\n }\n return;\n } else if (type === EventType.CallCandidates) {\n if (weSentTheEvent) return;\n\n if (!call) {\n // store the candidates; we may get a call eventually.\n if (!this.candidateEventsByCall.has(content.call_id)) {\n this.candidateEventsByCall.set(content.call_id, []);\n }\n this.candidateEventsByCall.get(content.call_id)!.push(event);\n } else {\n call.onRemoteIceCandidatesReceived(event);\n }\n return;\n } else if ([EventType.CallHangup, EventType.CallReject].includes(type)) {\n // Note that we also observe our own hangups here so we can see\n // if we've already rejected a call that would otherwise be valid\n if (!call) {\n // if not live, store the fact that the call has ended because\n // we're probably getting events backwards so\n // the hangup will come before the invite\n call =\n createNewMatrixCall(this.client, callRoomId, {\n opponentDeviceId,\n opponentSessionId: content.sender_session_id,\n }) ?? undefined;\n if (call) {\n call.callId = content.call_id;\n call.initWithHangup(event);\n this.calls.set(content.call_id, call);\n }\n } else {\n if (call.state !== CallState.Ended) {\n if (type === EventType.CallHangup) {\n call.onHangupReceived(content as MCallHangupReject);\n } else {\n call.onRejectReceived(content as MCallHangupReject);\n }\n\n // @ts-expect-error typescript thinks the state can't be 'ended' because we're\n // inside the if block where it wasn't, but it could have changed because\n // on[Hangup|Reject]Received are side-effecty.\n if (call.state === CallState.Ended) this.calls.delete(content.call_id);\n }\n }\n return;\n }\n\n // The following events need a call and a peer connection\n if (!call || !call.hasPeerConnection) {\n logger.info(\n `CallEventHandler handleCallEvent() discarding possible call event as we don't have a call (type=${type})`,\n );\n return;\n }\n // Ignore remote echo\n if (event.getContent().party_id === call.ourPartyId) return;\n\n switch (type) {\n case EventType.CallAnswer:\n if (weSentTheEvent) {\n if (call.state === CallState.Ringing) {\n call.onAnsweredElsewhere(content as MCallAnswer);\n }\n } else {\n call.onAnswerReceived(event);\n }\n break;\n case EventType.CallSelectAnswer:\n call.onSelectAnswerReceived(event);\n break;\n\n case EventType.CallNegotiate:\n call.onNegotiateReceived(event);\n break;\n\n case EventType.CallAssertedIdentity:\n case EventType.CallAssertedIdentityPrefix:\n call.onAssertedIdentityReceived(event);\n break;\n\n case EventType.CallSDPStreamMetadataChanged:\n case EventType.CallSDPStreamMetadataChangedPrefix:\n call.onSDPStreamMetadataChangedReceived(event);\n break;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ import { CallErrorCode } from "./call.ts";
2
+ export declare const SDPStreamMetadataKey = "org.matrix.msc3077.sdp_stream_metadata";
3
+ export declare enum SDPStreamMetadataPurpose {
4
+ Usermedia = "m.usermedia",
5
+ Screenshare = "m.screenshare"
6
+ }
7
+ export interface SDPStreamMetadataObject {
8
+ purpose: SDPStreamMetadataPurpose;
9
+ audio_muted: boolean;
10
+ video_muted: boolean;
11
+ }
12
+ export interface SDPStreamMetadata {
13
+ [key: string]: SDPStreamMetadataObject;
14
+ }
15
+ export interface CallCapabilities {
16
+ "m.call.transferee": boolean;
17
+ "m.call.dtmf": boolean;
18
+ }
19
+ export interface CallReplacesTarget {
20
+ id: string;
21
+ display_name: string;
22
+ avatar_url: string;
23
+ }
24
+ export interface MCallBase {
25
+ call_id: string;
26
+ conf_id?: string;
27
+ version: string | number;
28
+ party_id?: string;
29
+ sender_session_id?: string;
30
+ dest_session_id?: string;
31
+ }
32
+ export interface MCallAnswer extends MCallBase {
33
+ answer: RTCSessionDescription;
34
+ capabilities?: CallCapabilities;
35
+ [SDPStreamMetadataKey]: SDPStreamMetadata;
36
+ }
37
+ export interface MCallSelectAnswer extends MCallBase {
38
+ selected_party_id: string;
39
+ }
40
+ export interface MCallInviteNegotiate extends MCallBase {
41
+ offer: RTCSessionDescription;
42
+ description: RTCSessionDescription;
43
+ lifetime: number;
44
+ capabilities?: CallCapabilities;
45
+ invitee?: string;
46
+ sender_session_id?: string;
47
+ dest_session_id?: string;
48
+ [SDPStreamMetadataKey]: SDPStreamMetadata;
49
+ }
50
+ export interface MCallSDPStreamMetadataChanged extends MCallBase {
51
+ [SDPStreamMetadataKey]: SDPStreamMetadata;
52
+ }
53
+ export interface MCallReplacesEvent extends MCallBase {
54
+ replacement_id: string;
55
+ target_user: CallReplacesTarget;
56
+ create_call: string;
57
+ await_call: string;
58
+ target_room: string;
59
+ }
60
+ export interface MCAllAssertedIdentity extends MCallBase {
61
+ asserted_identity: {
62
+ id: string;
63
+ display_name: string;
64
+ avatar_url: string;
65
+ };
66
+ }
67
+ export interface MCallCandidates extends MCallBase {
68
+ candidates: Omit<RTCIceCandidateInit, "usernameFragment">[];
69
+ }
70
+ export interface MCallHangupReject extends MCallBase {
71
+ reason?: CallErrorCode;
72
+ }
73
+ //# sourceMappingURL=callEventTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callEventTypes.d.ts","sourceRoot":"","sources":["../../src/webrtc/callEventTypes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,eAAO,MAAM,oBAAoB,2CAA2C,CAAC;AAE7E,oBAAY,wBAAwB;IAChC,SAAS,gBAAgB;IACzB,WAAW,kBAAkB;CAChC;AAED,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,wBAAwB,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC1C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACnD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,WAAW,EAAE,qBAAqB,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;CAC7C;AAED,MAAM,WAAW,6BAA8B,SAAQ,SAAS;IAC5D,CAAC,oBAAoB,CAAC,EAAE,iBAAiB,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACpD,iBAAiB,EAAE;QACf,EAAE,EAAE,MAAM,CAAC;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AAED,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAC9C,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EAAE,CAAC;CAC/D;AAED,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B"}
@@ -0,0 +1,13 @@
1
+ // allow non-camelcase as these are events type that go onto the wire
2
+ /* eslint-disable camelcase */
3
+
4
+ // TODO: Change to "sdp_stream_metadata" when MSC3077 is merged
5
+ export var SDPStreamMetadataKey = "org.matrix.msc3077.sdp_stream_metadata";
6
+ export var SDPStreamMetadataPurpose = /*#__PURE__*/function (SDPStreamMetadataPurpose) {
7
+ SDPStreamMetadataPurpose["Usermedia"] = "m.usermedia";
8
+ SDPStreamMetadataPurpose["Screenshare"] = "m.screenshare";
9
+ return SDPStreamMetadataPurpose;
10
+ }({});
11
+
12
+ /* eslint-enable camelcase */
13
+ //# sourceMappingURL=callEventTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callEventTypes.js","names":["SDPStreamMetadataKey","SDPStreamMetadataPurpose"],"sources":["../../src/webrtc/callEventTypes.ts"],"sourcesContent":["// allow non-camelcase as these are events type that go onto the wire\n/* eslint-disable camelcase */\n\nimport { CallErrorCode } from \"./call.ts\";\n\n// TODO: Change to \"sdp_stream_metadata\" when MSC3077 is merged\nexport const SDPStreamMetadataKey = \"org.matrix.msc3077.sdp_stream_metadata\";\n\nexport enum SDPStreamMetadataPurpose {\n Usermedia = \"m.usermedia\",\n Screenshare = \"m.screenshare\",\n}\n\nexport interface SDPStreamMetadataObject {\n purpose: SDPStreamMetadataPurpose;\n audio_muted: boolean;\n video_muted: boolean;\n}\n\nexport interface SDPStreamMetadata {\n [key: string]: SDPStreamMetadataObject;\n}\n\nexport interface CallCapabilities {\n \"m.call.transferee\": boolean;\n \"m.call.dtmf\": boolean;\n}\n\nexport interface CallReplacesTarget {\n id: string;\n display_name: string;\n avatar_url: string;\n}\n\nexport interface MCallBase {\n call_id: string;\n conf_id?: string;\n version: string | number;\n party_id?: string;\n sender_session_id?: string;\n dest_session_id?: string;\n}\n\nexport interface MCallAnswer extends MCallBase {\n answer: RTCSessionDescription;\n capabilities?: CallCapabilities;\n [SDPStreamMetadataKey]: SDPStreamMetadata;\n}\n\nexport interface MCallSelectAnswer extends MCallBase {\n selected_party_id: string;\n}\n\nexport interface MCallInviteNegotiate extends MCallBase {\n offer: RTCSessionDescription;\n description: RTCSessionDescription;\n lifetime: number;\n capabilities?: CallCapabilities;\n invitee?: string;\n sender_session_id?: string;\n dest_session_id?: string;\n [SDPStreamMetadataKey]: SDPStreamMetadata;\n}\n\nexport interface MCallSDPStreamMetadataChanged extends MCallBase {\n [SDPStreamMetadataKey]: SDPStreamMetadata;\n}\n\nexport interface MCallReplacesEvent extends MCallBase {\n replacement_id: string;\n target_user: CallReplacesTarget;\n create_call: string;\n await_call: string;\n target_room: string;\n}\n\nexport interface MCAllAssertedIdentity extends MCallBase {\n asserted_identity: {\n id: string;\n display_name: string;\n avatar_url: string;\n };\n}\n\nexport interface MCallCandidates extends MCallBase {\n candidates: Omit<RTCIceCandidateInit, \"usernameFragment\">[];\n}\n\nexport interface MCallHangupReject extends MCallBase {\n reason?: CallErrorCode;\n}\n\n/* eslint-enable camelcase */\n"],"mappings":"AAAA;AACA;;AAIA;AACA,OAAO,IAAMA,oBAAoB,GAAG,wCAAwC;AAE5E,WAAYC,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;;AAoFpC","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ import { SDPStreamMetadataPurpose } from "./callEventTypes.ts";
2
+ import { MatrixClient } from "../client.ts";
3
+ import { RoomMember } from "../models/room-member.ts";
4
+ import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
5
+ import { MatrixCall } from "./call.ts";
6
+ export declare const SPEAKING_THRESHOLD = -60;
7
+ export interface ICallFeedOpts {
8
+ client: MatrixClient;
9
+ roomId?: string;
10
+ userId: string;
11
+ deviceId: string | undefined;
12
+ stream: MediaStream;
13
+ purpose: SDPStreamMetadataPurpose;
14
+ /**
15
+ * Whether or not the remote SDPStreamMetadata says audio is muted
16
+ */
17
+ audioMuted: boolean;
18
+ /**
19
+ * Whether or not the remote SDPStreamMetadata says video is muted
20
+ */
21
+ videoMuted: boolean;
22
+ /**
23
+ * The MatrixCall which is the source of this CallFeed
24
+ */
25
+ call?: MatrixCall;
26
+ }
27
+ export declare enum CallFeedEvent {
28
+ NewStream = "new_stream",
29
+ MuteStateChanged = "mute_state_changed",
30
+ LocalVolumeChanged = "local_volume_changed",
31
+ VolumeChanged = "volume_changed",
32
+ ConnectedChanged = "connected_changed",
33
+ Speaking = "speaking",
34
+ Disposed = "disposed"
35
+ }
36
+ type EventHandlerMap = {
37
+ [CallFeedEvent.NewStream]: (stream: MediaStream) => void;
38
+ [CallFeedEvent.MuteStateChanged]: (audioMuted: boolean, videoMuted: boolean) => void;
39
+ [CallFeedEvent.LocalVolumeChanged]: (localVolume: number) => void;
40
+ [CallFeedEvent.VolumeChanged]: (volume: number) => void;
41
+ [CallFeedEvent.ConnectedChanged]: (connected: boolean) => void;
42
+ [CallFeedEvent.Speaking]: (speaking: boolean) => void;
43
+ [CallFeedEvent.Disposed]: () => void;
44
+ };
45
+ export declare class CallFeed extends TypedEventEmitter<CallFeedEvent, EventHandlerMap> {
46
+ stream: MediaStream;
47
+ sdpMetadataStreamId: string;
48
+ userId: string;
49
+ readonly deviceId: string | undefined;
50
+ purpose: SDPStreamMetadataPurpose;
51
+ speakingVolumeSamples: number[];
52
+ private client;
53
+ private call?;
54
+ private roomId?;
55
+ private audioMuted;
56
+ private videoMuted;
57
+ private localVolume;
58
+ private measuringVolumeActivity;
59
+ private audioContext?;
60
+ private analyser?;
61
+ private frequencyBinCount?;
62
+ private speakingThreshold;
63
+ private speaking;
64
+ private volumeLooperTimeout?;
65
+ private _disposed;
66
+ private _connected;
67
+ constructor(opts: ICallFeedOpts);
68
+ get connected(): boolean;
69
+ private set connected(value);
70
+ get hasAudioTrack(): boolean;
71
+ private updateStream;
72
+ private initVolumeMeasuring;
73
+ private onAddTrack;
74
+ private onCallState;
75
+ /**
76
+ * Returns callRoom member
77
+ * @returns member of the callRoom
78
+ */
79
+ getMember(): RoomMember | null;
80
+ /**
81
+ * Returns true if CallFeed is local, otherwise returns false
82
+ * @returns is local?
83
+ */
84
+ isLocal(): boolean;
85
+ /**
86
+ * Returns true if audio is muted or if there are no audio
87
+ * tracks, otherwise returns false
88
+ * @returns is audio muted?
89
+ */
90
+ isAudioMuted(): boolean;
91
+ /**
92
+ * Returns true video is muted or if there are no video
93
+ * tracks, otherwise returns false
94
+ * @returns is video muted?
95
+ */
96
+ isVideoMuted(): boolean;
97
+ isSpeaking(): boolean;
98
+ /**
99
+ * Replaces the current MediaStream with a new one.
100
+ * The stream will be different and new stream as remote parties are
101
+ * concerned, but this can be used for convenience locally to set up
102
+ * volume listeners automatically on the new stream etc.
103
+ * @param newStream - new stream with which to replace the current one
104
+ */
105
+ setNewStream(newStream: MediaStream): void;
106
+ /**
107
+ * Set one or both of feed's internal audio and video video mute state
108
+ * Either value may be null to leave it as-is
109
+ * @param audioMuted - is the feed's audio muted?
110
+ * @param videoMuted - is the feed's video muted?
111
+ */
112
+ setAudioVideoMuted(audioMuted: boolean | null, videoMuted: boolean | null): void;
113
+ /**
114
+ * Starts emitting volume_changed events where the emitter value is in decibels
115
+ * @param enabled - emit volume changes
116
+ */
117
+ measureVolumeActivity(enabled: boolean): void;
118
+ setSpeakingThreshold(threshold: number): void;
119
+ private volumeLooper;
120
+ clone(): CallFeed;
121
+ dispose(): void;
122
+ get disposed(): boolean;
123
+ private set disposed(value);
124
+ getLocalVolume(): number;
125
+ setLocalVolume(localVolume: number): void;
126
+ }
127
+ export {};
128
+ //# sourceMappingURL=callFeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callFeed.d.ts","sourceRoot":"","sources":["../../src/webrtc/callFeed.ts"],"names":[],"mappings":"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"}