@unwanted/matrix-sdk-mini 34.12.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,937 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ /*
4
+ Copyright 2018 - 2021 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 { errorFactory, errorFromEvent, newUnexpectedMessageError, newUnknownMethodError } from "../Error.js";
21
+ import { QRCodeData, SCAN_QR_CODE_METHOD } from "../QRCode.js";
22
+ import { EventType } from "../../../@types/event.js";
23
+ import { TypedEventEmitter } from "../../../models/typed-event-emitter.js";
24
+ import { canAcceptVerificationRequest, VerificationPhase as Phase, VerificationRequestEvent } from "../../../crypto-api/verification.js";
25
+
26
+ // backwards-compatibility exports
27
+ export { VerificationPhase as Phase, VerificationRequestEvent } from "../../../crypto-api/verification.js";
28
+
29
+ // How long after the event's timestamp that the request times out
30
+ var TIMEOUT_FROM_EVENT_TS = 10 * 60 * 1000; // 10 minutes
31
+
32
+ // How long after we receive the event that the request times out
33
+ var TIMEOUT_FROM_EVENT_RECEIPT = 2 * 60 * 1000; // 2 minutes
34
+
35
+ // to avoid almost expired verification notifications
36
+ // from showing a notification and almost immediately
37
+ // disappearing, also ignore verification requests that
38
+ // are this amount of time away from expiring.
39
+ var VERIFICATION_REQUEST_MARGIN = 3 * 1000; // 3 seconds
40
+
41
+ export var EVENT_PREFIX = "m.key.verification.";
42
+ export var REQUEST_TYPE = EVENT_PREFIX + "request";
43
+ export var START_TYPE = EVENT_PREFIX + "start";
44
+ export var CANCEL_TYPE = EVENT_PREFIX + "cancel";
45
+ export var DONE_TYPE = EVENT_PREFIX + "done";
46
+ export var READY_TYPE = EVENT_PREFIX + "ready";
47
+
48
+ // Legacy export fields
49
+ export var PHASE_UNSENT = Phase.Unsent;
50
+ export var PHASE_REQUESTED = Phase.Requested;
51
+ export var PHASE_READY = Phase.Ready;
52
+ export var PHASE_STARTED = Phase.Started;
53
+ export var PHASE_CANCELLED = Phase.Cancelled;
54
+ export var PHASE_DONE = Phase.Done;
55
+ /**
56
+ * State machine for verification requests.
57
+ * Things that differ based on what channel is used to
58
+ * send and receive verification events are put in `InRoomChannel` or `ToDeviceChannel`.
59
+ *
60
+ * @deprecated Avoid direct references: instead prefer {@link Crypto.VerificationRequest}.
61
+ */
62
+ export class VerificationRequest extends TypedEventEmitter {
63
+ constructor(channel, verificationMethods, client) {
64
+ var _this;
65
+ super();
66
+ _this = this;
67
+ this.channel = channel;
68
+ this.verificationMethods = verificationMethods;
69
+ this.client = client;
70
+ _defineProperty(this, "eventsByUs", new Map());
71
+ _defineProperty(this, "eventsByThem", new Map());
72
+ _defineProperty(this, "_observeOnly", false);
73
+ _defineProperty(this, "timeoutTimer", null);
74
+ _defineProperty(this, "_accepting", false);
75
+ _defineProperty(this, "_declining", false);
76
+ _defineProperty(this, "verifierHasFinished", false);
77
+ _defineProperty(this, "_cancelled", false);
78
+ _defineProperty(this, "_chosenMethod", null);
79
+ // we keep a copy of the QR Code data (including other user master key) around
80
+ // for QR reciprocate verification, to protect against
81
+ // cross-signing identity reset between the .ready and .start event
82
+ // and signing the wrong key after .start
83
+ _defineProperty(this, "_qrCodeData", null);
84
+ // The timestamp when we received the request event from the other side
85
+ _defineProperty(this, "requestReceivedAt", null);
86
+ _defineProperty(this, "commonMethods", []);
87
+ _defineProperty(this, "_phase", void 0);
88
+ _defineProperty(this, "_cancellingUserId", void 0);
89
+ // Used in tests only
90
+ _defineProperty(this, "_verifier", void 0);
91
+ _defineProperty(this, "cancelOnTimeout", /*#__PURE__*/_asyncToGenerator(function* () {
92
+ try {
93
+ if (_this.initiatedByMe) {
94
+ yield _this.cancel({
95
+ reason: "Other party didn't accept in time",
96
+ code: "m.timeout"
97
+ });
98
+ } else {
99
+ yield _this.cancel({
100
+ reason: "User didn't accept in time",
101
+ code: "m.timeout"
102
+ });
103
+ }
104
+ } catch (err) {
105
+ logger.error("Error while cancelling verification request", err);
106
+ }
107
+ }));
108
+ this.channel.request = this;
109
+ this.setPhase(PHASE_UNSENT, false);
110
+ }
111
+
112
+ /**
113
+ * Stateless validation logic not specific to the channel.
114
+ * Invoked by the same static method in either channel.
115
+ * @param type - the "symbolic" event type, as returned by the `getEventType` function on the channel.
116
+ * @param event - the event to validate. Don't call getType() on it but use the `type` parameter instead.
117
+ * @param client - the client to get the current user and device id from
118
+ * @returns whether the event is valid and should be passed to handleEvent
119
+ */
120
+ static validateEvent(type, event, client) {
121
+ var content = event.getContent();
122
+ if (!type || !type.startsWith(EVENT_PREFIX)) {
123
+ return false;
124
+ }
125
+
126
+ // from here on we're fairly sure that this is supposed to be
127
+ // part of a verification request, so be noisy when rejecting something
128
+ if (!content) {
129
+ logger.log("VerificationRequest: validateEvent: no content");
130
+ return false;
131
+ }
132
+ if (type === REQUEST_TYPE || type === READY_TYPE) {
133
+ if (!Array.isArray(content.methods)) {
134
+ logger.log("VerificationRequest: validateEvent: " + "fail because methods");
135
+ return false;
136
+ }
137
+ }
138
+ if (type === REQUEST_TYPE || type === READY_TYPE || type === START_TYPE) {
139
+ if (typeof content.from_device !== "string" || content.from_device.length === 0) {
140
+ logger.log("VerificationRequest: validateEvent: " + "fail because from_device");
141
+ return false;
142
+ }
143
+ }
144
+ return true;
145
+ }
146
+
147
+ /**
148
+ * Unique ID for this verification request.
149
+ *
150
+ * An ID isn't assigned until the first message is sent, so this may be `undefined` in the early phases.
151
+ */
152
+ get transactionId() {
153
+ return this.channel.transactionId;
154
+ }
155
+
156
+ /**
157
+ * For an in-room verification, the ID of the room.
158
+ */
159
+ get roomId() {
160
+ return this.channel.roomId;
161
+ }
162
+ get invalid() {
163
+ return this.phase === PHASE_UNSENT;
164
+ }
165
+
166
+ /** returns whether the phase is PHASE_REQUESTED */
167
+ get requested() {
168
+ return this.phase === PHASE_REQUESTED;
169
+ }
170
+
171
+ /** returns whether the phase is PHASE_CANCELLED */
172
+ get cancelled() {
173
+ return this.phase === PHASE_CANCELLED;
174
+ }
175
+
176
+ /** returns whether the phase is PHASE_READY */
177
+ get ready() {
178
+ return this.phase === PHASE_READY;
179
+ }
180
+
181
+ /** returns whether the phase is PHASE_STARTED */
182
+ get started() {
183
+ return this.phase === PHASE_STARTED;
184
+ }
185
+
186
+ /** returns whether the phase is PHASE_DONE */
187
+ get done() {
188
+ return this.phase === PHASE_DONE;
189
+ }
190
+
191
+ /** once the phase is PHASE_STARTED (and !initiatedByMe) or PHASE_READY: common methods supported by both sides */
192
+ get methods() {
193
+ return this.commonMethods;
194
+ }
195
+
196
+ /** the method picked in the .start event */
197
+ get chosenMethod() {
198
+ return this._chosenMethod;
199
+ }
200
+ calculateEventTimeout(event) {
201
+ var effectiveExpiresAt = this.channel.getTimestamp(event) + TIMEOUT_FROM_EVENT_TS;
202
+ if (this.requestReceivedAt && !this.initiatedByMe && this.phase <= PHASE_REQUESTED) {
203
+ var expiresAtByReceipt = this.requestReceivedAt + TIMEOUT_FROM_EVENT_RECEIPT;
204
+ effectiveExpiresAt = Math.min(effectiveExpiresAt, expiresAtByReceipt);
205
+ }
206
+ return Math.max(0, effectiveExpiresAt - Date.now());
207
+ }
208
+
209
+ /** The current remaining amount of ms before the request should be automatically cancelled */
210
+ get timeout() {
211
+ var requestEvent = this.getEventByEither(REQUEST_TYPE);
212
+ if (requestEvent) {
213
+ return this.calculateEventTimeout(requestEvent);
214
+ }
215
+ return 0;
216
+ }
217
+
218
+ /**
219
+ * The key verification request event.
220
+ * @returns The request event, or falsey if not found.
221
+ */
222
+ get requestEvent() {
223
+ return this.getEventByEither(REQUEST_TYPE);
224
+ }
225
+
226
+ /** current phase of the request. Some properties might only be defined in a current phase. */
227
+ get phase() {
228
+ return this._phase;
229
+ }
230
+
231
+ /** The verifier to do the actual verification, once the method has been established. Only defined when the `phase` is PHASE_STARTED. */
232
+ get verifier() {
233
+ return this._verifier;
234
+ }
235
+ get canAccept() {
236
+ return canAcceptVerificationRequest(this);
237
+ }
238
+ get accepting() {
239
+ return this._accepting;
240
+ }
241
+ get declining() {
242
+ return this._declining;
243
+ }
244
+
245
+ /** whether this request has sent it's initial event and needs more events to complete */
246
+ get pending() {
247
+ return !this.observeOnly && this._phase !== PHASE_DONE && this._phase !== PHASE_CANCELLED;
248
+ }
249
+
250
+ /** Only set after a .ready if the other party can scan a QR code
251
+ *
252
+ * @deprecated Prefer `generateQRCode`.
253
+ */
254
+ get qrCodeData() {
255
+ return this._qrCodeData;
256
+ }
257
+
258
+ /**
259
+ * Get the data for a QR code allowing the other device to verify this one, if it supports it.
260
+ *
261
+ * Only set after a .ready if the other party can scan a QR code, otherwise undefined.
262
+ *
263
+ * @deprecated Prefer `generateQRCode`.
264
+ */
265
+ getQRCodeBytes() {
266
+ var _this$_qrCodeData;
267
+ return (_this$_qrCodeData = this._qrCodeData) === null || _this$_qrCodeData === void 0 ? void 0 : _this$_qrCodeData.getBuffer();
268
+ }
269
+
270
+ /**
271
+ * Generate the data for a QR code allowing the other device to verify this one, if it supports it.
272
+ *
273
+ * Only returns data once `phase` is `Ready` and the other party can scan a QR code;
274
+ * otherwise returns `undefined`.
275
+ */
276
+ generateQRCode() {
277
+ var _this2 = this;
278
+ return _asyncToGenerator(function* () {
279
+ return _this2.getQRCodeBytes();
280
+ })();
281
+ }
282
+
283
+ /** Checks whether the other party supports a given verification method.
284
+ * This is useful when setting up the QR code UI, as it is somewhat asymmetrical:
285
+ * if the other party supports SCAN_QR, we should show a QR code in the UI, and vice versa.
286
+ * For methods that need to be supported by both ends, use the `methods` property.
287
+ * @param method - the method to check
288
+ * @param force - to check even if the phase is not ready or started yet, internal usage
289
+ * @returns whether or not the other party said the supported the method */
290
+ otherPartySupportsMethod(method) {
291
+ var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
292
+ if (!force && !this.ready && !this.started) {
293
+ return false;
294
+ }
295
+ var theirMethodEvent = this.eventsByThem.get(REQUEST_TYPE) || this.eventsByThem.get(READY_TYPE);
296
+ if (!theirMethodEvent) {
297
+ // if we started straight away with .start event,
298
+ // we are assuming that the other side will support the
299
+ // chosen method, so return true for that.
300
+ if (this.started && this.initiatedByMe) {
301
+ var myStartEvent = this.eventsByUs.get(START_TYPE);
302
+ var _content = myStartEvent && myStartEvent.getContent();
303
+ var myStartMethod = _content && _content.method;
304
+ return method == myStartMethod;
305
+ }
306
+ return false;
307
+ }
308
+ var content = theirMethodEvent.getContent();
309
+ if (!content) {
310
+ return false;
311
+ }
312
+ var {
313
+ methods
314
+ } = content;
315
+ if (!Array.isArray(methods)) {
316
+ return false;
317
+ }
318
+ return methods.includes(method);
319
+ }
320
+
321
+ /** Whether this request was initiated by the syncing user.
322
+ * For InRoomChannel, this is who sent the .request event.
323
+ * For ToDeviceChannel, this is who sent the .start event
324
+ */
325
+ get initiatedByMe() {
326
+ // event created by us but no remote echo has been received yet
327
+ var noEventsYet = this.eventsByUs.size + this.eventsByThem.size === 0;
328
+ if (this._phase === PHASE_UNSENT && noEventsYet) {
329
+ return true;
330
+ }
331
+ var hasMyRequest = this.eventsByUs.has(REQUEST_TYPE);
332
+ var hasTheirRequest = this.eventsByThem.has(REQUEST_TYPE);
333
+ if (hasMyRequest && !hasTheirRequest) {
334
+ return true;
335
+ }
336
+ if (!hasMyRequest && hasTheirRequest) {
337
+ return false;
338
+ }
339
+ var hasMyStart = this.eventsByUs.has(START_TYPE);
340
+ var hasTheirStart = this.eventsByThem.has(START_TYPE);
341
+ if (hasMyStart && !hasTheirStart) {
342
+ return true;
343
+ }
344
+ return false;
345
+ }
346
+
347
+ /** The id of the user that initiated the request */
348
+ get requestingUserId() {
349
+ if (this.initiatedByMe) {
350
+ return this.client.getUserId();
351
+ } else {
352
+ return this.otherUserId;
353
+ }
354
+ }
355
+
356
+ /** The id of the user that (will) receive(d) the request */
357
+ get receivingUserId() {
358
+ if (this.initiatedByMe) {
359
+ return this.otherUserId;
360
+ } else {
361
+ return this.client.getUserId();
362
+ }
363
+ }
364
+
365
+ /** The user id of the other party in this request */
366
+ get otherUserId() {
367
+ return this.channel.userId;
368
+ }
369
+
370
+ /** The device id of the other party in this request, for requests happening over to-device messages only. */
371
+ get otherDeviceId() {
372
+ return this.channel.deviceId;
373
+ }
374
+ get isSelfVerification() {
375
+ return this.client.getUserId() === this.otherUserId;
376
+ }
377
+
378
+ /**
379
+ * The id of the user that cancelled the request,
380
+ * only defined when phase is PHASE_CANCELLED
381
+ */
382
+ get cancellingUserId() {
383
+ var myCancel = this.eventsByUs.get(CANCEL_TYPE);
384
+ var theirCancel = this.eventsByThem.get(CANCEL_TYPE);
385
+ if (myCancel && (!theirCancel || myCancel.getId() < theirCancel.getId())) {
386
+ return myCancel.getSender();
387
+ }
388
+ if (theirCancel) {
389
+ return theirCancel.getSender();
390
+ }
391
+ return undefined;
392
+ }
393
+
394
+ /**
395
+ * The cancellation code e.g m.user which is responsible for cancelling this verification
396
+ */
397
+ get cancellationCode() {
398
+ var ev = this.getEventByEither(CANCEL_TYPE);
399
+ return ev ? ev.getContent().code : null;
400
+ }
401
+ get observeOnly() {
402
+ return this._observeOnly;
403
+ }
404
+
405
+ /**
406
+ * Gets which device the verification should be started with
407
+ * given the events sent so far in the verification. This is the
408
+ * same algorithm used to determine which device to send the
409
+ * verification to when no specific device is specified.
410
+ * @returns The device information
411
+ */
412
+ get targetDevice() {
413
+ var theirFirstEvent = this.eventsByThem.get(REQUEST_TYPE) || this.eventsByThem.get(READY_TYPE) || this.eventsByThem.get(START_TYPE);
414
+ var theirFirstContent = theirFirstEvent === null || theirFirstEvent === void 0 ? void 0 : theirFirstEvent.getContent();
415
+ var fromDevice = theirFirstContent === null || theirFirstContent === void 0 ? void 0 : theirFirstContent.from_device;
416
+ return {
417
+ userId: this.otherUserId,
418
+ deviceId: fromDevice
419
+ };
420
+ }
421
+
422
+ /* Start the key verification, creating a verifier and sending a .start event.
423
+ * If no previous events have been sent, pass in `targetDevice` to set who to direct this request to.
424
+ * @param method - the name of the verification method to use.
425
+ * @param targetDevice.userId the id of the user to direct this request to
426
+ * @param targetDevice.deviceId the id of the device to direct this request to
427
+ * @returns the verifier of the given method
428
+ */
429
+ beginKeyVerification(method) {
430
+ var targetDevice = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
431
+ // need to allow also when unsent in case of to_device
432
+ if (!this.observeOnly && !this._verifier) {
433
+ var validStartPhase = this.phase === PHASE_REQUESTED || this.phase === PHASE_READY || this.phase === PHASE_UNSENT && this.channel.canCreateRequest(START_TYPE);
434
+ if (validStartPhase) {
435
+ // when called on a request that was initiated with .request event
436
+ // check the method is supported by both sides
437
+ if (this.commonMethods.length && !this.commonMethods.includes(method)) {
438
+ throw newUnknownMethodError();
439
+ }
440
+ this._verifier = this.createVerifier(method, null, targetDevice);
441
+ if (!this._verifier) {
442
+ throw newUnknownMethodError();
443
+ }
444
+ this._chosenMethod = method;
445
+ }
446
+ }
447
+ return this._verifier;
448
+ }
449
+ startVerification(method) {
450
+ var _this3 = this;
451
+ return _asyncToGenerator(function* () {
452
+ var verifier = _this3.beginKeyVerification(method);
453
+ // kick off the verification in the background, but *don't* wait for to complete: we need to return the `Verifier`.
454
+ verifier.verify();
455
+ return verifier;
456
+ })();
457
+ }
458
+ scanQRCode(qrCodeData) {
459
+ throw new Error("QR code scanning not supported by legacy crypto");
460
+ }
461
+
462
+ /**
463
+ * sends the initial .request event.
464
+ * @returns resolves when the event has been sent.
465
+ */
466
+ sendRequest() {
467
+ var _this4 = this;
468
+ return _asyncToGenerator(function* () {
469
+ if (!_this4.observeOnly && _this4._phase === PHASE_UNSENT) {
470
+ var methods = [..._this4.verificationMethods.keys()];
471
+ yield _this4.channel.send(REQUEST_TYPE, {
472
+ methods
473
+ });
474
+ }
475
+ })();
476
+ }
477
+
478
+ /**
479
+ * Cancels the request, sending a cancellation to the other party
480
+ * @param params
481
+ * @param params.reason - the error reason to send the cancellation with
482
+ * @param params.code - the error code to send the cancellation with
483
+ * @returns resolves when the event has been sent.
484
+ */
485
+ cancel() {
486
+ var _arguments = arguments,
487
+ _this5 = this;
488
+ return _asyncToGenerator(function* () {
489
+ var {
490
+ reason = "User declined",
491
+ code = "m.user"
492
+ } = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {};
493
+ if (!_this5.observeOnly && _this5._phase !== PHASE_CANCELLED) {
494
+ _this5._declining = true;
495
+ _this5.emit(VerificationRequestEvent.Change);
496
+ if (_this5._verifier) {
497
+ return _this5._verifier.cancel(errorFactory(code, reason)());
498
+ } else {
499
+ _this5._cancellingUserId = _this5.client.getUserId();
500
+ yield _this5.channel.send(CANCEL_TYPE, {
501
+ code,
502
+ reason
503
+ });
504
+ }
505
+ }
506
+ })();
507
+ }
508
+
509
+ /**
510
+ * Accepts the request, sending a .ready event to the other party
511
+ * @returns resolves when the event has been sent.
512
+ */
513
+ accept() {
514
+ var _this6 = this;
515
+ return _asyncToGenerator(function* () {
516
+ if (!_this6.observeOnly && _this6.phase === PHASE_REQUESTED && !_this6.initiatedByMe) {
517
+ var methods = [..._this6.verificationMethods.keys()];
518
+ _this6._accepting = true;
519
+ _this6.emit(VerificationRequestEvent.Change);
520
+ yield _this6.channel.send(READY_TYPE, {
521
+ methods
522
+ });
523
+ }
524
+ })();
525
+ }
526
+
527
+ /**
528
+ * Can be used to listen for state changes until the callback returns true.
529
+ * @param fn - callback to evaluate whether the request is in the desired state.
530
+ * Takes the request as an argument.
531
+ * @returns that resolves once the callback returns true
532
+ * @throws Error when the request is cancelled
533
+ */
534
+ waitFor(fn) {
535
+ return new Promise((resolve, reject) => {
536
+ var check = () => {
537
+ var handled = false;
538
+ if (fn(this)) {
539
+ resolve(this);
540
+ handled = true;
541
+ } else if (this.cancelled) {
542
+ reject(new Error("cancelled"));
543
+ handled = true;
544
+ }
545
+ if (handled) {
546
+ this.off(VerificationRequestEvent.Change, check);
547
+ }
548
+ return handled;
549
+ };
550
+ if (!check()) {
551
+ this.on(VerificationRequestEvent.Change, check);
552
+ }
553
+ });
554
+ }
555
+ setPhase(phase) {
556
+ var notify = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
557
+ this._phase = phase;
558
+ if (notify) {
559
+ this.emit(VerificationRequestEvent.Change);
560
+ }
561
+ }
562
+ getEventByEither(type) {
563
+ return this.eventsByThem.get(type) || this.eventsByUs.get(type);
564
+ }
565
+ getEventBy(type) {
566
+ var byThem = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
567
+ if (byThem) {
568
+ return this.eventsByThem.get(type);
569
+ } else {
570
+ return this.eventsByUs.get(type);
571
+ }
572
+ }
573
+ calculatePhaseTransitions() {
574
+ var transitions = [{
575
+ phase: PHASE_UNSENT
576
+ }];
577
+ var phase = () => transitions[transitions.length - 1].phase;
578
+
579
+ // always pass by .request first to be sure channel.userId has been set
580
+ var hasRequestByThem = this.eventsByThem.has(REQUEST_TYPE);
581
+ var requestEvent = this.getEventBy(REQUEST_TYPE, hasRequestByThem);
582
+ if (requestEvent) {
583
+ transitions.push({
584
+ phase: PHASE_REQUESTED,
585
+ event: requestEvent
586
+ });
587
+ }
588
+ var readyEvent = requestEvent && this.getEventBy(READY_TYPE, !hasRequestByThem);
589
+ if (readyEvent && phase() === PHASE_REQUESTED) {
590
+ transitions.push({
591
+ phase: PHASE_READY,
592
+ event: readyEvent
593
+ });
594
+ }
595
+ var startEvent;
596
+ if (readyEvent || !requestEvent) {
597
+ var theirStartEvent = this.eventsByThem.get(START_TYPE);
598
+ var ourStartEvent = this.eventsByUs.get(START_TYPE);
599
+ // any party can send .start after a .ready or unsent
600
+ if (theirStartEvent && ourStartEvent) {
601
+ startEvent = theirStartEvent.getSender() < ourStartEvent.getSender() ? theirStartEvent : ourStartEvent;
602
+ } else {
603
+ startEvent = theirStartEvent ? theirStartEvent : ourStartEvent;
604
+ }
605
+ } else {
606
+ startEvent = this.getEventBy(START_TYPE, !hasRequestByThem);
607
+ }
608
+ if (startEvent) {
609
+ var fromRequestPhase = phase() === PHASE_REQUESTED && (requestEvent === null || requestEvent === void 0 ? void 0 : requestEvent.getSender()) !== startEvent.getSender();
610
+ var fromUnsentPhase = phase() === PHASE_UNSENT && this.channel.canCreateRequest(START_TYPE);
611
+ if (fromRequestPhase || phase() === PHASE_READY || fromUnsentPhase) {
612
+ transitions.push({
613
+ phase: PHASE_STARTED,
614
+ event: startEvent
615
+ });
616
+ }
617
+ }
618
+ var ourDoneEvent = this.eventsByUs.get(DONE_TYPE);
619
+ if (this.verifierHasFinished || ourDoneEvent && phase() === PHASE_STARTED) {
620
+ transitions.push({
621
+ phase: PHASE_DONE
622
+ });
623
+ }
624
+ var cancelEvent = this.getEventByEither(CANCEL_TYPE);
625
+ if ((this._cancelled || cancelEvent) && phase() !== PHASE_DONE) {
626
+ transitions.push({
627
+ phase: PHASE_CANCELLED,
628
+ event: cancelEvent
629
+ });
630
+ return transitions;
631
+ }
632
+ return transitions;
633
+ }
634
+ transitionToPhase(transition) {
635
+ var {
636
+ phase,
637
+ event
638
+ } = transition;
639
+ // get common methods
640
+ if (phase === PHASE_REQUESTED || phase === PHASE_READY) {
641
+ if (!this.wasSentByOwnDevice(event)) {
642
+ var content = event.getContent();
643
+ this.commonMethods = content.methods.filter(m => this.verificationMethods.has(m));
644
+ }
645
+ }
646
+ // detect if we're not a party in the request, and we should just observe
647
+ if (!this.observeOnly) {
648
+ // if requested or accepted by one of my other devices
649
+ if (phase === PHASE_REQUESTED || phase === PHASE_STARTED || phase === PHASE_READY) {
650
+ if (this.channel.receiveStartFromOtherDevices && this.wasSentByOwnUser(event) && !this.wasSentByOwnDevice(event)) {
651
+ this._observeOnly = true;
652
+ }
653
+ }
654
+ }
655
+ // create verifier
656
+ if (phase === PHASE_STARTED) {
657
+ var {
658
+ method
659
+ } = event.getContent();
660
+ if (!this._verifier && !this.observeOnly) {
661
+ this._verifier = this.createVerifier(method, event);
662
+ if (!this._verifier) {
663
+ this.cancel({
664
+ code: "m.unknown_method",
665
+ reason: "Unknown method: ".concat(method)
666
+ });
667
+ } else {
668
+ this._chosenMethod = method;
669
+ }
670
+ }
671
+ }
672
+ }
673
+ applyPhaseTransitions() {
674
+ var transitions = this.calculatePhaseTransitions();
675
+ var existingIdx = transitions.findIndex(t => t.phase === this.phase);
676
+ // trim off phases we already went through, if any
677
+ var newTransitions = transitions.slice(existingIdx + 1);
678
+ // transition to all new phases
679
+ for (var transition of newTransitions) {
680
+ this.transitionToPhase(transition);
681
+ }
682
+ return newTransitions;
683
+ }
684
+ isWinningStartRace(newEvent) {
685
+ if (newEvent.getType() !== START_TYPE) {
686
+ return false;
687
+ }
688
+ var oldEvent = this._verifier.startEvent;
689
+ var oldRaceIdentifier;
690
+ if (this.isSelfVerification) {
691
+ // if the verifier does not have a startEvent,
692
+ // it is because it's still sending and we are on the initator side
693
+ // we know we are sending a .start event because we already
694
+ // have a verifier (checked in calling method)
695
+ if (oldEvent) {
696
+ var oldContent = oldEvent.getContent();
697
+ oldRaceIdentifier = oldContent && oldContent.from_device;
698
+ } else {
699
+ oldRaceIdentifier = this.client.getDeviceId();
700
+ }
701
+ } else {
702
+ if (oldEvent) {
703
+ oldRaceIdentifier = oldEvent.getSender();
704
+ } else {
705
+ oldRaceIdentifier = this.client.getUserId();
706
+ }
707
+ }
708
+ var newRaceIdentifier;
709
+ if (this.isSelfVerification) {
710
+ var newContent = newEvent.getContent();
711
+ newRaceIdentifier = newContent && newContent.from_device;
712
+ } else {
713
+ newRaceIdentifier = newEvent.getSender();
714
+ }
715
+ return newRaceIdentifier < oldRaceIdentifier;
716
+ }
717
+ hasEventId(eventId) {
718
+ for (var event of this.eventsByUs.values()) {
719
+ if (event.getId() === eventId) {
720
+ return true;
721
+ }
722
+ }
723
+ for (var _event of this.eventsByThem.values()) {
724
+ if (_event.getId() === eventId) {
725
+ return true;
726
+ }
727
+ }
728
+ return false;
729
+ }
730
+
731
+ /**
732
+ * Changes the state of the request and verifier in response to a key verification event.
733
+ * @param type - the "symbolic" event type, as returned by the `getEventType` function on the channel.
734
+ * @param event - the event to handle. Don't call getType() on it but use the `type` parameter instead.
735
+ * @param isLiveEvent - whether this is an even received through sync or not
736
+ * @param isRemoteEcho - whether this is the remote echo of an event sent by the same device
737
+ * @param isSentByUs - whether this event is sent by a party that can accept and/or observe the request like one of our peers.
738
+ * For InRoomChannel this means any device for the syncing user. For ToDeviceChannel, just the syncing device.
739
+ * @returns a promise that resolves when any requests as an answer to the passed-in event are sent.
740
+ */
741
+ handleEvent(type, event, isLiveEvent, isRemoteEcho, isSentByUs) {
742
+ var _this7 = this;
743
+ return _asyncToGenerator(function* () {
744
+ // if reached phase cancelled or done, ignore anything else that comes
745
+ if (_this7.done || _this7.cancelled) {
746
+ return;
747
+ }
748
+ var wasObserveOnly = _this7._observeOnly;
749
+ _this7.adjustObserveOnly(event, isLiveEvent);
750
+ if (!_this7.observeOnly && !isRemoteEcho) {
751
+ if (yield _this7.cancelOnError(type, event)) {
752
+ return;
753
+ }
754
+ }
755
+
756
+ // This assumes verification won't need to send an event with
757
+ // the same type for the same party twice.
758
+ // This is true for QR and SAS verification, and was
759
+ // added here to prevent verification getting cancelled
760
+ // when the server duplicates an event (https://github.com/matrix-org/synapse/issues/3365)
761
+ var isDuplicateEvent = isSentByUs ? _this7.eventsByUs.has(type) : _this7.eventsByThem.has(type);
762
+ if (isDuplicateEvent) {
763
+ return;
764
+ }
765
+ var oldPhase = _this7.phase;
766
+ _this7.addEvent(type, event, isSentByUs);
767
+
768
+ // this will create if needed the verifier so needs to happen before calling it
769
+ var newTransitions = _this7.applyPhaseTransitions();
770
+ try {
771
+ // only pass events from the other side to the verifier,
772
+ // no remote echos of our own events
773
+ if (_this7._verifier && !_this7.observeOnly) {
774
+ var newEventWinsRace = _this7.isWinningStartRace(event);
775
+ if (_this7._verifier.canSwitchStartEvent(event) && newEventWinsRace) {
776
+ _this7._verifier.switchStartEvent(event);
777
+ } else if (!isRemoteEcho) {
778
+ var _this7$_verifier$even;
779
+ if (type === CANCEL_TYPE || (_this7$_verifier$even = _this7._verifier.events) !== null && _this7$_verifier$even !== void 0 && _this7$_verifier$even.includes(type)) {
780
+ _this7._verifier.handleEvent(event);
781
+ }
782
+ }
783
+ }
784
+ if (newTransitions.length) {
785
+ // create QRCodeData if the other side can scan
786
+ // important this happens before emitting a phase change,
787
+ // so listeners can rely on it being there already
788
+ // We only do this for live events because it is important that
789
+ // we sign the keys that were in the QR code, and not the keys
790
+ // we happen to have at some later point in time.
791
+ if (isLiveEvent && newTransitions.some(t => t.phase === PHASE_READY)) {
792
+ var shouldGenerateQrCode = _this7.otherPartySupportsMethod(SCAN_QR_CODE_METHOD, true);
793
+ if (shouldGenerateQrCode) {
794
+ _this7._qrCodeData = yield QRCodeData.create(_this7, _this7.client);
795
+ }
796
+ }
797
+ var lastTransition = newTransitions[newTransitions.length - 1];
798
+ var {
799
+ phase
800
+ } = lastTransition;
801
+ _this7.setupTimeout(phase);
802
+ // set phase as last thing as this emits the "change" event
803
+ _this7.setPhase(phase);
804
+ } else if (_this7._observeOnly !== wasObserveOnly) {
805
+ _this7.emit(VerificationRequestEvent.Change);
806
+ }
807
+ } finally {
808
+ // log events we processed so we can see from rageshakes what events were added to a request
809
+ logger.log("Verification request ".concat(_this7.channel.transactionId, ": ") + "".concat(type, " event with id:").concat(event.getId(), ", ") + "content:".concat(JSON.stringify(event.getContent()), " ") + "deviceId:".concat(_this7.channel.deviceId, ", ") + "sender:".concat(event.getSender(), ", isSentByUs:").concat(isSentByUs, ", ") + "isLiveEvent:".concat(isLiveEvent, ", isRemoteEcho:").concat(isRemoteEcho, ", ") + "phase:".concat(oldPhase, "=>").concat(_this7.phase, ", ") + "observeOnly:".concat(wasObserveOnly, "=>").concat(_this7._observeOnly));
810
+ }
811
+ })();
812
+ }
813
+ setupTimeout(phase) {
814
+ var shouldTimeout = !this.timeoutTimer && !this.observeOnly && phase === PHASE_REQUESTED;
815
+ if (shouldTimeout) {
816
+ this.timeoutTimer = setTimeout(this.cancelOnTimeout, this.timeout);
817
+ }
818
+ if (this.timeoutTimer) {
819
+ var shouldClear = phase === PHASE_STARTED || phase === PHASE_READY || phase === PHASE_DONE || phase === PHASE_CANCELLED;
820
+ if (shouldClear) {
821
+ clearTimeout(this.timeoutTimer);
822
+ this.timeoutTimer = null;
823
+ }
824
+ }
825
+ }
826
+ cancelOnError(type, event) {
827
+ var _this8 = this;
828
+ return _asyncToGenerator(function* () {
829
+ if (type === START_TYPE) {
830
+ var method = event.getContent().method;
831
+ if (!_this8.verificationMethods.has(method)) {
832
+ yield _this8.cancel(errorFromEvent(newUnknownMethodError()));
833
+ return true;
834
+ }
835
+ }
836
+ var isUnexpectedRequest = type === REQUEST_TYPE && _this8.phase !== PHASE_UNSENT;
837
+ var isUnexpectedReady = type === READY_TYPE && _this8.phase !== PHASE_REQUESTED && _this8.phase !== PHASE_STARTED;
838
+ // only if phase has passed from PHASE_UNSENT should we cancel, because events
839
+ // are allowed to come in in any order (at least with InRoomChannel). So we only know
840
+ // we're dealing with a valid request we should participate in once we've moved to PHASE_REQUESTED.
841
+ // Before that, we could be looking at somebody else's verification request and we just
842
+ // happen to be in the room
843
+ if (_this8.phase !== PHASE_UNSENT && (isUnexpectedRequest || isUnexpectedReady)) {
844
+ logger.warn("Cancelling, unexpected ".concat(type, " verification ") + "event from ".concat(event.getSender()));
845
+ var reason = "Unexpected ".concat(type, " event in phase ").concat(_this8.phase);
846
+ yield _this8.cancel(errorFromEvent(newUnexpectedMessageError({
847
+ reason
848
+ })));
849
+ return true;
850
+ }
851
+ return false;
852
+ })();
853
+ }
854
+ adjustObserveOnly(event) {
855
+ var isLiveEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
856
+ // don't send out events for historical requests
857
+ if (!isLiveEvent) {
858
+ this._observeOnly = true;
859
+ }
860
+ if (this.calculateEventTimeout(event) < VERIFICATION_REQUEST_MARGIN) {
861
+ this._observeOnly = true;
862
+ }
863
+ }
864
+ addEvent(type, event) {
865
+ var isSentByUs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
866
+ if (isSentByUs) {
867
+ this.eventsByUs.set(type, event);
868
+ } else {
869
+ this.eventsByThem.set(type, event);
870
+ }
871
+
872
+ // once we know the userId of the other party (from the .request event)
873
+ // see if any event by anyone else crept into this.eventsByThem
874
+ if (type === REQUEST_TYPE) {
875
+ for (var [_type, _event2] of this.eventsByThem.entries()) {
876
+ if (_event2.getSender() !== this.otherUserId) {
877
+ this.eventsByThem.delete(_type);
878
+ }
879
+ }
880
+ // also remember when we received the request event
881
+ this.requestReceivedAt = Date.now();
882
+ }
883
+ }
884
+ createVerifier(method) {
885
+ var startEvent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
886
+ var targetDevice = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
887
+ if (!targetDevice) {
888
+ targetDevice = this.targetDevice;
889
+ }
890
+ var {
891
+ userId,
892
+ deviceId
893
+ } = targetDevice;
894
+ var VerifierCtor = this.verificationMethods.get(method);
895
+ if (!VerifierCtor) {
896
+ logger.warn("could not find verifier constructor for method", method);
897
+ return;
898
+ }
899
+ return new VerifierCtor(this.channel, this.client, userId, deviceId, startEvent, this);
900
+ }
901
+ wasSentByOwnUser(event) {
902
+ return (event === null || event === void 0 ? void 0 : event.getSender()) === this.client.getUserId();
903
+ }
904
+
905
+ // only for .request, .ready or .start
906
+ wasSentByOwnDevice(event) {
907
+ if (!this.wasSentByOwnUser(event)) {
908
+ return false;
909
+ }
910
+ var content = event.getContent();
911
+ if (!content || content.from_device !== this.client.getDeviceId()) {
912
+ return false;
913
+ }
914
+ return true;
915
+ }
916
+ onVerifierCancelled() {
917
+ this._cancelled = true;
918
+ // move to cancelled phase
919
+ var newTransitions = this.applyPhaseTransitions();
920
+ if (newTransitions.length) {
921
+ this.setPhase(newTransitions[newTransitions.length - 1].phase);
922
+ }
923
+ }
924
+ onVerifierFinished() {
925
+ this.channel.send(EventType.KeyVerificationDone, {});
926
+ this.verifierHasFinished = true;
927
+ // move to .done phase
928
+ var newTransitions = this.applyPhaseTransitions();
929
+ if (newTransitions.length) {
930
+ this.setPhase(newTransitions[newTransitions.length - 1].phase);
931
+ }
932
+ }
933
+ getEventFromOtherParty(type) {
934
+ return this.eventsByThem.get(type);
935
+ }
936
+ }
937
+ //# sourceMappingURL=VerificationRequest.js.map