@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,1209 @@
1
+ import type { IEventDecryptionResult, IMegolmSessionData } from "../@types/crypto.ts";
2
+ import { ToDeviceMessageId } from "../@types/event.ts";
3
+ import { IExportedDevice, OlmDevice } from "./OlmDevice.ts";
4
+ import { IOlmDevice } from "./algorithms/megolm.ts";
5
+ import * as olmlib from "./olmlib.ts";
6
+ import { DeviceInfoMap, DeviceList } from "./DeviceList.ts";
7
+ import { DeviceInfo } from "./deviceinfo.ts";
8
+ import type { DecryptionAlgorithm } from "./algorithms/index.ts";
9
+ import { CrossSigningInfo, DeviceTrustLevel, UserTrustLevel } from "./CrossSigning.ts";
10
+ import { SecretStorage as LegacySecretStorage } from "./SecretStorage.ts";
11
+ import { CrossSigningKey, ICreateSecretStorageOpts, IEncryptedEventInfo, IRecoveryKey } from "./api.ts";
12
+ import { VerificationBase } from "./verification/Base.ts";
13
+ import { VerificationRequest } from "./verification/request/VerificationRequest.ts";
14
+ import { InRoomRequests } from "./verification/request/InRoomChannel.ts";
15
+ import { DehydrationManager } from "./dehydration.ts";
16
+ import { BackupManager } from "./backup.ts";
17
+ import { IStore } from "../store/index.ts";
18
+ import { Room, RoomEvent } from "../models/room.ts";
19
+ import { RoomMemberEvent } from "../models/room-member.ts";
20
+ import { MatrixEvent, MatrixEventEvent } from "../models/event.ts";
21
+ import { ToDeviceBatch, ToDevicePayload } from "../models/ToDeviceMessage.ts";
22
+ import { ClientEvent, IKeysUploadResponse, IUploadKeySignaturesResponse, MatrixClient } from "../client.ts";
23
+ import { IRoomEncryption } from "./RoomList.ts";
24
+ import { ISyncStateData } from "../sync.ts";
25
+ import { CryptoStore } from "./store/base.ts";
26
+ import { IVerificationChannel } from "./verification/request/Channel.ts";
27
+ import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
28
+ import { IDeviceLists, IToDeviceEvent } from "../sync-accumulator.ts";
29
+ import { ISignatures } from "../@types/signed.ts";
30
+ import { IMessage } from "./algorithms/olm.ts";
31
+ import { BackupDecryptor, CryptoBackend, OnSyncCompletedData } from "../common-crypto/CryptoBackend.ts";
32
+ import { AddSecretStorageKeyOpts, SecretStorageKeyDescription, SecretStorageKeyObject, SecretStorageKeyTuple } from "../secret-storage.ts";
33
+ import { ISecretRequest } from "./SecretSharing.ts";
34
+ import { BackupTrustInfo, BootstrapCrossSigningOpts, CrossSigningKeyInfo, CrossSigningStatus, DeviceIsolationMode, DeviceVerificationStatus, EventEncryptionInfo, ImportRoomKeysOpts, KeyBackupCheck, KeyBackupInfo, OwnDeviceKeys, CryptoEventHandlerMap as CryptoApiCryptoEventHandlerMap, KeyBackupRestoreResult, KeyBackupRestoreOpts } from "../crypto-api/index.ts";
35
+ import { DeviceMap } from "../models/device.ts";
36
+ export type { BootstrapCrossSigningOpts as IBootstrapCrossSigningOpts, CryptoCallbacks as ICryptoCallbacks, } from "../crypto-api/index.ts";
37
+ /**
38
+ * verification method names
39
+ */
40
+ export declare const verificationMethods: {
41
+ readonly RECIPROCATE_QR_CODE: string;
42
+ readonly SAS: string;
43
+ };
44
+ export type VerificationMethod = keyof typeof verificationMethods | string;
45
+ interface IInitOpts {
46
+ exportedOlmDevice?: IExportedDevice;
47
+ pickleKey?: string;
48
+ }
49
+ interface IRoomKey {
50
+ room_id: string;
51
+ algorithm: string;
52
+ }
53
+ /**
54
+ * The parameters of a room key request. The details of the request may
55
+ * vary with the crypto algorithm, but the management and storage layers for
56
+ * outgoing requests expect it to have 'room_id' and 'session_id' properties.
57
+ */
58
+ export interface IRoomKeyRequestBody extends IRoomKey {
59
+ session_id: string;
60
+ sender_key: string;
61
+ }
62
+ export interface ICheckOwnCrossSigningTrustOpts {
63
+ allowPrivateKeyRequests?: boolean;
64
+ }
65
+ interface IUserOlmSession {
66
+ deviceIdKey: string;
67
+ sessions: {
68
+ sessionId: string;
69
+ hasReceivedMessage: boolean;
70
+ }[];
71
+ }
72
+ export interface IRoomKeyRequestRecipient {
73
+ userId: string;
74
+ deviceId: string;
75
+ }
76
+ interface ISignableObject {
77
+ signatures?: ISignatures;
78
+ unsigned?: object;
79
+ }
80
+ export interface IRequestsMap {
81
+ getRequest(event: MatrixEvent): VerificationRequest | undefined;
82
+ getRequestByChannel(channel: IVerificationChannel): VerificationRequest | undefined;
83
+ setRequest(event: MatrixEvent, request: VerificationRequest): void;
84
+ setRequestByChannel(channel: IVerificationChannel, request: VerificationRequest): void;
85
+ }
86
+ export interface IOlmEncryptedContent {
87
+ algorithm: typeof olmlib.OLM_ALGORITHM;
88
+ sender_key: string;
89
+ ciphertext: Record<string, IMessage>;
90
+ [ToDeviceMessageId]?: string;
91
+ }
92
+ export interface IMegolmEncryptedContent {
93
+ algorithm: typeof olmlib.MEGOLM_ALGORITHM;
94
+ sender_key: string;
95
+ session_id: string;
96
+ device_id: string;
97
+ ciphertext: string;
98
+ [ToDeviceMessageId]?: string;
99
+ }
100
+ export type IEncryptedContent = IOlmEncryptedContent | IMegolmEncryptedContent;
101
+ export declare enum CryptoEvent {
102
+ /** @deprecated Event not fired by the rust crypto */
103
+ DeviceVerificationChanged = "deviceVerificationChanged",
104
+ UserTrustStatusChanged = "userTrustStatusChanged",
105
+ /** @deprecated Event not fired by the rust crypto */
106
+ UserCrossSigningUpdated = "userCrossSigningUpdated",
107
+ /** @deprecated Event not fired by the rust crypto */
108
+ RoomKeyRequest = "crypto.roomKeyRequest",
109
+ /** @deprecated Event not fired by the rust crypto */
110
+ RoomKeyRequestCancellation = "crypto.roomKeyRequestCancellation",
111
+ KeyBackupStatus = "crypto.keyBackupStatus",
112
+ KeyBackupFailed = "crypto.keyBackupFailed",
113
+ KeyBackupSessionsRemaining = "crypto.keyBackupSessionsRemaining",
114
+ /**
115
+ * Fires when a new valid backup decryption key is in cache.
116
+ * This will happen when a secret is received from another session, from secret storage,
117
+ * or when a new backup is created from this session.
118
+ *
119
+ * The payload is the version of the backup for which we have the key for.
120
+ *
121
+ * This event is only fired by the rust crypto backend.
122
+ */
123
+ KeyBackupDecryptionKeyCached = "crypto.keyBackupDecryptionKeyCached",
124
+ /** @deprecated Event not fired by the rust crypto */
125
+ KeySignatureUploadFailure = "crypto.keySignatureUploadFailure",
126
+ /** @deprecated Use `VerificationRequestReceived`. */
127
+ VerificationRequest = "crypto.verification.request",
128
+ /**
129
+ * Fires when a key verification request is received.
130
+ *
131
+ * The payload is a {@link Crypto.VerificationRequest}.
132
+ */
133
+ VerificationRequestReceived = "crypto.verificationRequestReceived",
134
+ /** @deprecated Event not fired by the rust crypto */
135
+ Warning = "crypto.warning",
136
+ /** @deprecated Use {@link DevicesUpdated} instead when using rust crypto */
137
+ WillUpdateDevices = "crypto.willUpdateDevices",
138
+ DevicesUpdated = "crypto.devicesUpdated",
139
+ KeysChanged = "crossSigning.keysChanged",
140
+ /**
141
+ * Fires when data is being migrated from legacy crypto to rust crypto.
142
+ *
143
+ * The payload is a pair `(progress, total)`, where `progress` is the number of steps completed so far, and
144
+ * `total` is the total number of steps. When migration is complete, a final instance of the event is emitted, with
145
+ * `progress === total === -1`.
146
+ */
147
+ LegacyCryptoStoreMigrationProgress = "crypto.legacyCryptoStoreMigrationProgress"
148
+ }
149
+ export type CryptoEventHandlerMap = CryptoApiCryptoEventHandlerMap & {
150
+ /**
151
+ * Fires when a device is marked as verified/unverified/blocked/unblocked by
152
+ * {@link MatrixClient#setDeviceVerified | MatrixClient.setDeviceVerified} or
153
+ * {@link MatrixClient#setDeviceBlocked | MatrixClient.setDeviceBlocked}.
154
+ *
155
+ * @param userId - the owner of the verified device
156
+ * @param deviceId - the id of the verified device
157
+ * @param deviceInfo - updated device information
158
+ */
159
+ [CryptoEvent.DeviceVerificationChanged]: (userId: string, deviceId: string, deviceInfo: DeviceInfo) => void;
160
+ /**
161
+ * Fires when we receive a room key request
162
+ *
163
+ * @param request - request details
164
+ */
165
+ [CryptoEvent.RoomKeyRequest]: (request: IncomingRoomKeyRequest) => void;
166
+ /**
167
+ * Fires when we receive a room key request cancellation
168
+ */
169
+ [CryptoEvent.RoomKeyRequestCancellation]: (request: IncomingRoomKeyRequestCancellation) => void;
170
+ [CryptoEvent.KeySignatureUploadFailure]: (failures: IUploadKeySignaturesResponse["failures"], source: "checkOwnCrossSigningTrust" | "afterCrossSigningLocalKeyChange" | "setDeviceVerification", upload: (opts: {
171
+ shouldEmit: boolean;
172
+ }) => Promise<void>) => void;
173
+ /**
174
+ * Fires when a key verification is requested.
175
+ *
176
+ * Deprecated: use `CryptoEvent.VerificationRequestReceived`.
177
+ */
178
+ [CryptoEvent.VerificationRequest]: (request: VerificationRequest<any>) => void;
179
+ /**
180
+ * Fires when the app may wish to warn the user about something related
181
+ * the end-to-end crypto.
182
+ *
183
+ * @param type - One of the strings listed above
184
+ */
185
+ [CryptoEvent.Warning]: (type: string) => void;
186
+ [CryptoEvent.UserCrossSigningUpdated]: (userId: string) => void;
187
+ [CryptoEvent.LegacyCryptoStoreMigrationProgress]: (progress: number, total: number) => void;
188
+ };
189
+ export declare class Crypto extends TypedEventEmitter<CryptoEvent, CryptoEventHandlerMap> implements CryptoBackend {
190
+ readonly baseApis: MatrixClient;
191
+ readonly userId: string;
192
+ private readonly deviceId;
193
+ private readonly clientStore;
194
+ readonly cryptoStore: CryptoStore;
195
+ /**
196
+ * @returns The version of Olm.
197
+ */
198
+ static getOlmVersion(): [number, number, number];
199
+ readonly backupManager: BackupManager;
200
+ readonly crossSigningInfo: CrossSigningInfo;
201
+ readonly olmDevice: OlmDevice;
202
+ readonly deviceList: DeviceList;
203
+ readonly dehydrationManager: DehydrationManager;
204
+ readonly secretStorage: LegacySecretStorage;
205
+ private readonly roomList;
206
+ private readonly reEmitter;
207
+ private readonly verificationMethods;
208
+ readonly supportedAlgorithms: string[];
209
+ private readonly outgoingRoomKeyRequestManager;
210
+ private readonly toDeviceVerificationRequests;
211
+ readonly inRoomVerificationRequests: InRoomRequests;
212
+ private trustCrossSignedDevices;
213
+ private lastOneTimeKeyCheck;
214
+ private oneTimeKeyCheckInProgress;
215
+ private roomEncryptors;
216
+ private roomDecryptors;
217
+ private deviceKeys;
218
+ globalBlacklistUnverifiedDevices: boolean;
219
+ globalErrorOnUnknownDevices: boolean;
220
+ private receivedRoomKeyRequests;
221
+ private receivedRoomKeyRequestCancellations;
222
+ private processingRoomKeyRequests;
223
+ private lazyLoadMembers;
224
+ private roomDeviceTrackingState;
225
+ private forceNewSessionRetryTime;
226
+ private sendKeyRequestsImmediately;
227
+ private oneTimeKeyCount?;
228
+ private needsNewFallback?;
229
+ private fallbackCleanup?;
230
+ /**
231
+ * Cryptography bits
232
+ *
233
+ * This module is internal to the js-sdk; the public API is via MatrixClient.
234
+ *
235
+ * @internal
236
+ *
237
+ * @param baseApis - base matrix api interface
238
+ *
239
+ * @param userId - The user ID for the local user
240
+ *
241
+ * @param deviceId - The identifier for this device.
242
+ *
243
+ * @param clientStore - the MatrixClient data store.
244
+ *
245
+ * @param cryptoStore - storage for the crypto layer.
246
+ *
247
+ * @param verificationMethods - Array of verification methods to use.
248
+ * Each element can either be a string from MatrixClient.verificationMethods
249
+ * or a class that implements a verification method.
250
+ */
251
+ constructor(baseApis: MatrixClient, userId: string, deviceId: string, clientStore: IStore, cryptoStore: CryptoStore, verificationMethods: Array<VerificationMethod | (typeof VerificationBase & {
252
+ NAME: string;
253
+ })>);
254
+ /**
255
+ * Initialise the crypto module so that it is ready for use
256
+ *
257
+ * Returns a promise which resolves once the crypto module is ready for use.
258
+ *
259
+ * @param exportedOlmDevice - (Optional) data from exported device
260
+ * that must be re-created.
261
+ */
262
+ init({ exportedOlmDevice, pickleKey }?: IInitOpts): Promise<void>;
263
+ /**
264
+ * Implementation of {@link Crypto.CryptoApi#setDeviceIsolationMode}.
265
+ */
266
+ setDeviceIsolationMode(isolationMode: DeviceIsolationMode): void;
267
+ /**
268
+ * Implementation of {@link Crypto.CryptoApi#getVersion}.
269
+ */
270
+ getVersion(): string;
271
+ /**
272
+ * Whether to trust a others users signatures of their devices.
273
+ * If false, devices will only be considered 'verified' if we have
274
+ * verified that device individually (effectively disabling cross-signing).
275
+ *
276
+ * Default: true
277
+ *
278
+ * @returns True if trusting cross-signed devices
279
+ */
280
+ getTrustCrossSignedDevices(): boolean;
281
+ /**
282
+ * @deprecated Use {@link Crypto.CryptoApi#getTrustCrossSignedDevices}.
283
+ */
284
+ getCryptoTrustCrossSignedDevices(): boolean;
285
+ /**
286
+ * See getCryptoTrustCrossSignedDevices
287
+ *
288
+ * @param val - True to trust cross-signed devices
289
+ */
290
+ setTrustCrossSignedDevices(val: boolean): void;
291
+ /**
292
+ * @deprecated Use {@link Crypto.CryptoApi#setTrustCrossSignedDevices}.
293
+ */
294
+ setCryptoTrustCrossSignedDevices(val: boolean): void;
295
+ /**
296
+ * Create a recovery key from a user-supplied passphrase.
297
+ *
298
+ * @param password - Passphrase string that can be entered by the user
299
+ * when restoring the backup as an alternative to entering the recovery key.
300
+ * Optional.
301
+ * @returns Object with public key metadata, encoded private
302
+ * recovery key which should be disposed of after displaying to the user,
303
+ * and raw private key to avoid round tripping if needed.
304
+ */
305
+ createRecoveryKeyFromPassphrase(password?: string): Promise<IRecoveryKey>;
306
+ /**
307
+ * Checks if the user has previously published cross-signing keys
308
+ *
309
+ * This means downloading the devicelist for the user and checking if the list includes
310
+ * the cross-signing pseudo-device.
311
+ *
312
+ * @internal
313
+ */
314
+ userHasCrossSigningKeys(userId?: string): Promise<boolean>;
315
+ /**
316
+ * Checks whether cross signing:
317
+ * - is enabled on this account and trusted by this device
318
+ * - has private keys either cached locally or stored in secret storage
319
+ *
320
+ * If this function returns false, bootstrapCrossSigning() can be used
321
+ * to fix things such that it returns true. That is to say, after
322
+ * bootstrapCrossSigning() completes successfully, this function should
323
+ * return true.
324
+ *
325
+ * The cross-signing API is currently UNSTABLE and may change without notice.
326
+ *
327
+ * @returns True if cross-signing is ready to be used on this device
328
+ */
329
+ isCrossSigningReady(): Promise<boolean>;
330
+ /**
331
+ * Checks whether secret storage:
332
+ * - is enabled on this account
333
+ * - is storing cross-signing private keys
334
+ * - is storing session backup key (if enabled)
335
+ *
336
+ * If this function returns false, bootstrapSecretStorage() can be used
337
+ * to fix things such that it returns true. That is to say, after
338
+ * bootstrapSecretStorage() completes successfully, this function should
339
+ * return true.
340
+ *
341
+ * The Secure Secret Storage API is currently UNSTABLE and may change without notice.
342
+ *
343
+ * @returns True if secret storage is ready to be used on this device
344
+ */
345
+ isSecretStorageReady(): Promise<boolean>;
346
+ /**
347
+ * Implementation of {@link Crypto.CryptoApi#getCrossSigningStatus}
348
+ */
349
+ getCrossSigningStatus(): Promise<CrossSigningStatus>;
350
+ /**
351
+ * Bootstrap cross-signing by creating keys if needed. If everything is already
352
+ * set up, then no changes are made, so this is safe to run to ensure
353
+ * cross-signing is ready for use.
354
+ *
355
+ * This function:
356
+ * - creates new cross-signing keys if they are not found locally cached nor in
357
+ * secret storage (if it has been setup)
358
+ *
359
+ * The cross-signing API is currently UNSTABLE and may change without notice.
360
+ */
361
+ bootstrapCrossSigning({ authUploadDeviceSigningKeys, setupNewCrossSigning, }?: BootstrapCrossSigningOpts): Promise<void>;
362
+ /**
363
+ * Bootstrap Secure Secret Storage if needed by creating a default key. If everything is
364
+ * already set up, then no changes are made, so this is safe to run to ensure secret
365
+ * storage is ready for use.
366
+ *
367
+ * This function
368
+ * - creates a new Secure Secret Storage key if no default key exists
369
+ * - if a key backup exists, it is migrated to store the key in the Secret
370
+ * Storage
371
+ * - creates a backup if none exists, and one is requested
372
+ * - migrates Secure Secret Storage to use the latest algorithm, if an outdated
373
+ * algorithm is found
374
+ *
375
+ * The Secure Secret Storage API is currently UNSTABLE and may change without notice.
376
+ *
377
+ * Returns:
378
+ * A promise which resolves to key creation data for
379
+ * SecretStorage#addKey: an object with `passphrase` etc fields.
380
+ */
381
+ bootstrapSecretStorage({ createSecretStorageKey, keyBackupInfo, setupNewKeyBackup, setupNewSecretStorage, getKeyBackupPassphrase, }?: ICreateSecretStorageOpts): Promise<void>;
382
+ /**
383
+ * Implementation of {@link Crypto.CryptoApi#resetKeyBackup}.
384
+ */
385
+ resetKeyBackup(): Promise<void>;
386
+ /**
387
+ * Implementation of {@link Crypto.CryptoApi#deleteKeyBackupVersion}.
388
+ */
389
+ deleteKeyBackupVersion(version: string): Promise<void>;
390
+ /**
391
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#addKey}.
392
+ */
393
+ addSecretStorageKey(algorithm: string, opts: AddSecretStorageKeyOpts, keyID?: string): Promise<SecretStorageKeyObject>;
394
+ /**
395
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#hasKey}.
396
+ */
397
+ hasSecretStorageKey(keyID?: string): Promise<boolean>;
398
+ /**
399
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#getKey}.
400
+ */
401
+ getSecretStorageKey(keyID?: string): Promise<SecretStorageKeyTuple | null>;
402
+ /**
403
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#store}.
404
+ */
405
+ storeSecret(name: string, secret: string, keys?: string[]): Promise<void>;
406
+ /**
407
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#get}.
408
+ */
409
+ getSecret(name: string): Promise<string | undefined>;
410
+ /**
411
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#isStored}.
412
+ */
413
+ isSecretStored(name: string): Promise<Record<string, SecretStorageKeyDescription> | null>;
414
+ requestSecret(name: string, devices: string[]): ISecretRequest;
415
+ /**
416
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#getDefaultKeyId}.
417
+ */
418
+ getDefaultSecretStorageKeyId(): Promise<string | null>;
419
+ /**
420
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#setDefaultKeyId}.
421
+ */
422
+ setDefaultSecretStorageKeyId(k: string): Promise<void>;
423
+ /**
424
+ * @deprecated Use {@link MatrixClient#secretStorage} and {@link SecretStorage.ServerSideSecretStorage#checkKey}.
425
+ */
426
+ checkSecretStorageKey(key: Uint8Array, info: SecretStorageKeyDescription): Promise<boolean>;
427
+ /**
428
+ * Checks that a given secret storage private key matches a given public key.
429
+ * This can be used by the getSecretStorageKey callback to verify that the
430
+ * private key it is about to supply is the one that was requested.
431
+ *
432
+ * @param privateKey - The private key
433
+ * @param expectedPublicKey - The public key
434
+ * @returns true if the key matches, otherwise false
435
+ */
436
+ checkSecretStoragePrivateKey(privateKey: Uint8Array, expectedPublicKey: string): boolean;
437
+ /**
438
+ * Fetches the backup private key, if cached
439
+ * @returns the key, if any, or null
440
+ */
441
+ getSessionBackupPrivateKey(): Promise<Uint8Array | null>;
442
+ /**
443
+ * Stores the session backup key to the cache
444
+ * @param key - the private key
445
+ * @returns a promise so you can catch failures
446
+ */
447
+ storeSessionBackupPrivateKey(key: ArrayLike<number>, version?: string): Promise<void>;
448
+ /**
449
+ * Implementation of {@link Crypto.loadSessionBackupPrivateKeyFromSecretStorage}.
450
+ */
451
+ loadSessionBackupPrivateKeyFromSecretStorage(): Promise<void>;
452
+ /**
453
+ * Get the current status of key backup.
454
+ *
455
+ * Implementation of {@link Crypto.CryptoApi.getActiveSessionBackupVersion}.
456
+ */
457
+ getActiveSessionBackupVersion(): Promise<string | null>;
458
+ /**
459
+ * Implementation of {@link Crypto.CryptoApi#getKeyBackupInfo}.
460
+ */
461
+ getKeyBackupInfo(): Promise<KeyBackupInfo | null>;
462
+ /**
463
+ * Determine if a key backup can be trusted.
464
+ *
465
+ * Implementation of {@link Crypto.CryptoApi.isKeyBackupTrusted}.
466
+ */
467
+ isKeyBackupTrusted(info: KeyBackupInfo): Promise<BackupTrustInfo>;
468
+ /**
469
+ * Force a re-check of the key backup and enable/disable it as appropriate.
470
+ *
471
+ * Implementation of {@link Crypto.CryptoApi.checkKeyBackupAndEnable}.
472
+ */
473
+ checkKeyBackupAndEnable(): Promise<KeyBackupCheck | null>;
474
+ /**
475
+ * Checks that a given cross-signing private key matches a given public key.
476
+ * This can be used by the getCrossSigningKey callback to verify that the
477
+ * private key it is about to supply is the one that was requested.
478
+ *
479
+ * @param privateKey - The private key
480
+ * @param expectedPublicKey - The public key
481
+ * @returns true if the key matches, otherwise false
482
+ */
483
+ checkCrossSigningPrivateKey(privateKey: Uint8Array, expectedPublicKey: string): boolean;
484
+ /**
485
+ * Run various follow-up actions after cross-signing keys have changed locally
486
+ * (either by resetting the keys for the account or by getting them from secret
487
+ * storage), such as signing the current device, upgrading device
488
+ * verifications, etc.
489
+ */
490
+ private afterCrossSigningLocalKeyChange;
491
+ /**
492
+ * Check if a user's cross-signing key is a candidate for upgrading from device
493
+ * verification.
494
+ *
495
+ * @param userId - the user whose cross-signing information is to be checked
496
+ * @param crossSigningInfo - the cross-signing information to check
497
+ */
498
+ private checkForDeviceVerificationUpgrade;
499
+ /**
500
+ * Check if the cross-signing key is signed by a verified device.
501
+ *
502
+ * @param userId - the user ID whose key is being checked
503
+ * @param key - the key that is being checked
504
+ * @param devices - the user's devices. Should be a map from device ID
505
+ * to device info
506
+ */
507
+ private checkForValidDeviceSignature;
508
+ /**
509
+ * Get the user's cross-signing key ID.
510
+ *
511
+ * @param type - The type of key to get the ID of. One of
512
+ * "master", "self_signing", or "user_signing". Defaults to "master".
513
+ *
514
+ * @returns the key ID
515
+ */
516
+ getCrossSigningKeyId(type?: CrossSigningKey): Promise<string | null>;
517
+ getCrossSigningId(type: string): string | null;
518
+ /**
519
+ * Get the cross signing information for a given user.
520
+ *
521
+ * @param userId - the user ID to get the cross-signing info for.
522
+ *
523
+ * @returns the cross signing information for the user.
524
+ */
525
+ getStoredCrossSigningForUser(userId: string): CrossSigningInfo | null;
526
+ /**
527
+ * Check whether a given user is trusted.
528
+ *
529
+ * @param userId - The ID of the user to check.
530
+ *
531
+ * @returns
532
+ */
533
+ checkUserTrust(userId: string): UserTrustLevel;
534
+ /**
535
+ * Implementation of {@link Crypto.CryptoApi.getUserVerificationStatus}.
536
+ */
537
+ getUserVerificationStatus(userId: string): Promise<UserTrustLevel>;
538
+ /**
539
+ * Implementation of {@link Crypto.CryptoApi.pinCurrentUserIdentity}.
540
+ */
541
+ pinCurrentUserIdentity(userId: string): Promise<void>;
542
+ /**
543
+ * Check whether a given device is trusted.
544
+ *
545
+ * @param userId - The ID of the user whose device is to be checked.
546
+ * @param deviceId - The ID of the device to check
547
+ */
548
+ getDeviceVerificationStatus(userId: string, deviceId: string): Promise<DeviceVerificationStatus | null>;
549
+ /**
550
+ * @deprecated Use {@link Crypto.CryptoApi.getDeviceVerificationStatus}.
551
+ */
552
+ checkDeviceTrust(userId: string, deviceId: string): DeviceTrustLevel;
553
+ /**
554
+ * Check whether a given deviceinfo is trusted.
555
+ *
556
+ * @param userId - The ID of the user whose devices is to be checked.
557
+ * @param device - The device info object to check
558
+ *
559
+ * @deprecated Use {@link Crypto.CryptoApi.getDeviceVerificationStatus}.
560
+ */
561
+ checkDeviceInfoTrust(userId: string, device?: DeviceInfo): DeviceTrustLevel;
562
+ /**
563
+ * Check whether one of our own devices is cross-signed by our
564
+ * user's stored keys, regardless of whether we trust those keys yet.
565
+ *
566
+ * @param deviceId - The ID of the device to check
567
+ *
568
+ * @returns true if the device is cross-signed
569
+ */
570
+ checkIfOwnDeviceCrossSigned(deviceId: string): boolean;
571
+ private onDeviceListUserCrossSigningUpdated;
572
+ /**
573
+ * Check the copy of our cross-signing key that we have in the device list and
574
+ * see if we can get the private key. If so, mark it as trusted.
575
+ */
576
+ checkOwnCrossSigningTrust({ allowPrivateKeyRequests, }?: ICheckOwnCrossSigningTrustOpts): Promise<void>;
577
+ /**
578
+ * Implementation of {@link CryptoBackend#getBackupDecryptor}.
579
+ */
580
+ getBackupDecryptor(backupInfo: KeyBackupInfo, privKey: ArrayLike<number>): Promise<BackupDecryptor>;
581
+ /**
582
+ * Implementation of {@link CryptoBackend#importBackedUpRoomKeys}.
583
+ */
584
+ importBackedUpRoomKeys(keys: IMegolmSessionData[], backupVersion: string, opts?: ImportRoomKeysOpts): Promise<void>;
585
+ /**
586
+ * Store a set of keys as our own, trusted, cross-signing keys.
587
+ *
588
+ * @param keys - The new trusted set of keys
589
+ */
590
+ private storeTrustedSelfKeys;
591
+ /**
592
+ * Check if the master key is signed by a verified device, and if so, prompt
593
+ * the application to mark it as verified.
594
+ *
595
+ * @param userId - the user ID whose key should be checked
596
+ */
597
+ private checkDeviceVerifications;
598
+ /**
599
+ */
600
+ enableLazyLoading(): void;
601
+ /**
602
+ * Tell the crypto module to register for MatrixClient events which it needs to
603
+ * listen for
604
+ *
605
+ * @param eventEmitter - event source where we can register
606
+ * for event notifications
607
+ */
608
+ registerEventHandlers(eventEmitter: TypedEventEmitter<RoomMemberEvent.Membership | ClientEvent.ToDeviceEvent | RoomEvent.Timeline | MatrixEventEvent.Decrypted, any>): void;
609
+ /**
610
+ * @deprecated this does nothing and will be removed in a future version
611
+ */
612
+ start(): void;
613
+ /** Stop background processes related to crypto */
614
+ stop(): void;
615
+ /**
616
+ * Get the Ed25519 key for this device
617
+ *
618
+ * @returns base64-encoded ed25519 key.
619
+ *
620
+ * @deprecated Use {@link Crypto.CryptoApi#getOwnDeviceKeys}.
621
+ */
622
+ getDeviceEd25519Key(): string | null;
623
+ /**
624
+ * Get the Curve25519 key for this device
625
+ *
626
+ * @returns base64-encoded curve25519 key.
627
+ *
628
+ * @deprecated Use {@link Crypto.CryptoApi#getOwnDeviceKeys}
629
+ */
630
+ getDeviceCurve25519Key(): string | null;
631
+ /**
632
+ * Implementation of {@link Crypto.CryptoApi#getOwnDeviceKeys}.
633
+ */
634
+ getOwnDeviceKeys(): Promise<OwnDeviceKeys>;
635
+ /**
636
+ * Set the global override for whether the client should ever send encrypted
637
+ * messages to unverified devices. This provides the default for rooms which
638
+ * do not specify a value.
639
+ *
640
+ * @param value - whether to blacklist all unverified devices by default
641
+ *
642
+ * @deprecated Set {@link Crypto.CryptoApi#globalBlacklistUnverifiedDevices | CryptoApi.globalBlacklistUnverifiedDevices} directly.
643
+ */
644
+ setGlobalBlacklistUnverifiedDevices(value: boolean): void;
645
+ /**
646
+ * @returns whether to blacklist all unverified devices by default
647
+ *
648
+ * @deprecated Reference {@link Crypto.CryptoApi#globalBlacklistUnverifiedDevices | CryptoApi.globalBlacklistUnverifiedDevices} directly.
649
+ */
650
+ getGlobalBlacklistUnverifiedDevices(): boolean;
651
+ /**
652
+ * Upload the device keys to the homeserver.
653
+ * @returns A promise that will resolve when the keys are uploaded.
654
+ */
655
+ uploadDeviceKeys(): Promise<IKeysUploadResponse>;
656
+ getNeedsNewFallback(): boolean;
657
+ private maybeUploadOneTimeKeys;
658
+ private uploadOneTimeKeys;
659
+ /**
660
+ * Download the keys for a list of users and stores the keys in the session
661
+ * store.
662
+ * @param userIds - The users to fetch.
663
+ * @param forceDownload - Always download the keys even if cached.
664
+ *
665
+ * @returns A promise which resolves to a map `userId->deviceId->{@link DeviceInfo}`.
666
+ */
667
+ downloadKeys(userIds: string[], forceDownload?: boolean): Promise<DeviceInfoMap>;
668
+ /**
669
+ * Get the stored device keys for a user id
670
+ *
671
+ * @param userId - the user to list keys for.
672
+ *
673
+ * @returns list of devices, or null if we haven't
674
+ * managed to get a list of devices for this user yet.
675
+ */
676
+ getStoredDevicesForUser(userId: string): Array<DeviceInfo> | null;
677
+ /**
678
+ * Get the device information for the given list of users.
679
+ *
680
+ * @param userIds - The users to fetch.
681
+ * @param downloadUncached - If true, download the device list for users whose device list we are not
682
+ * currently tracking. Defaults to false, in which case such users will not appear at all in the result map.
683
+ *
684
+ * @returns A map `{@link DeviceMap}`.
685
+ */
686
+ getUserDeviceInfo(userIds: string[], downloadUncached?: boolean): Promise<DeviceMap>;
687
+ /**
688
+ * Get the stored keys for a single device
689
+ *
690
+ *
691
+ * @returns device, or undefined
692
+ * if we don't know about this device
693
+ */
694
+ getStoredDevice(userId: string, deviceId: string): DeviceInfo | undefined;
695
+ /**
696
+ * Save the device list, if necessary
697
+ *
698
+ * @param delay - Time in ms before which the save actually happens.
699
+ * By default, the save is delayed for a short period in order to batch
700
+ * multiple writes, but this behaviour can be disabled by passing 0.
701
+ *
702
+ * @returns true if the data was saved, false if
703
+ * it was not (eg. because no changes were pending). The promise
704
+ * will only resolve once the data is saved, so may take some time
705
+ * to resolve.
706
+ */
707
+ saveDeviceList(delay: number): Promise<boolean>;
708
+ /**
709
+ * Mark the given device as locally verified.
710
+ *
711
+ * Implementation of {@link Crypto.CryptoApi#setDeviceVerified}.
712
+ */
713
+ setDeviceVerified(userId: string, deviceId: string, verified?: boolean): Promise<void>;
714
+ /**
715
+ * Blindly cross-sign one of our other devices.
716
+ *
717
+ * Implementation of {@link Crypto.CryptoApi#crossSignDevice}.
718
+ */
719
+ crossSignDevice(deviceId: string): Promise<void>;
720
+ /**
721
+ * Update the blocked/verified state of the given device
722
+ *
723
+ * @param userId - owner of the device
724
+ * @param deviceId - unique identifier for the device or user's
725
+ * cross-signing public key ID.
726
+ *
727
+ * @param verified - whether to mark the device as verified. Null to
728
+ * leave unchanged.
729
+ *
730
+ * @param blocked - whether to mark the device as blocked. Null to
731
+ * leave unchanged.
732
+ *
733
+ * @param known - whether to mark that the user has been made aware of
734
+ * the existence of this device. Null to leave unchanged
735
+ *
736
+ * @param keys - The list of keys that was present
737
+ * during the device verification. This will be double checked with the list
738
+ * of keys the given device has currently.
739
+ *
740
+ * @returns updated DeviceInfo
741
+ */
742
+ setDeviceVerification(userId: string, deviceId: string, verified?: boolean | null, blocked?: boolean | null, known?: boolean | null, keys?: Record<string, string>): Promise<DeviceInfo | CrossSigningInfo | CrossSigningKeyInfo | undefined>;
743
+ findVerificationRequestDMInProgress(roomId: string, userId?: string): VerificationRequest | undefined;
744
+ getVerificationRequestsToDeviceInProgress(userId: string): VerificationRequest[];
745
+ requestVerificationDM(userId: string, roomId: string): Promise<VerificationRequest>;
746
+ /** @deprecated Use `requestOwnUserVerificationToDevice` or `requestDeviceVerification` */
747
+ requestVerification(userId: string, devices?: string[]): Promise<VerificationRequest>;
748
+ requestOwnUserVerification(): Promise<VerificationRequest>;
749
+ requestDeviceVerification(userId: string, deviceId: string): Promise<VerificationRequest>;
750
+ private requestVerificationWithChannel;
751
+ beginKeyVerification(method: string, userId: string, deviceId: string, transactionId?: string | null): VerificationBase<any, any>;
752
+ legacyDeviceVerification(userId: string, deviceId: string, method: VerificationMethod): Promise<VerificationRequest>;
753
+ /**
754
+ * Get information on the active olm sessions with a user
755
+ * <p>
756
+ * Returns a map from device id to an object with keys 'deviceIdKey' (the
757
+ * device's curve25519 identity key) and 'sessions' (an array of objects in the
758
+ * same format as that returned by
759
+ * {@link OlmDevice#getSessionInfoForDevice}).
760
+ * <p>
761
+ * This method is provided for debugging purposes.
762
+ *
763
+ * @param userId - id of user to inspect
764
+ */
765
+ getOlmSessionsForUser(userId: string): Promise<Record<string, IUserOlmSession>>;
766
+ /**
767
+ * Get the device which sent an event
768
+ *
769
+ * @param event - event to be checked
770
+ */
771
+ getEventSenderDeviceInfo(event: MatrixEvent): DeviceInfo | null;
772
+ /**
773
+ * Get information about the encryption of an event
774
+ *
775
+ * @param event - event to be checked
776
+ *
777
+ * @returns An object with the fields:
778
+ * - encrypted: whether the event is encrypted (if not encrypted, some of the
779
+ * other properties may not be set)
780
+ * - senderKey: the sender's key
781
+ * - algorithm: the algorithm used to encrypt the event
782
+ * - authenticated: whether we can be sure that the owner of the senderKey
783
+ * sent the event
784
+ * - sender: the sender's device information, if available
785
+ * - mismatchedSender: if the event's ed25519 and curve25519 keys don't match
786
+ * (only meaningful if `sender` is set)
787
+ */
788
+ getEventEncryptionInfo(event: MatrixEvent): IEncryptedEventInfo;
789
+ /**
790
+ * Implementation of {@link Crypto.CryptoApi.getEncryptionInfoForEvent}.
791
+ */
792
+ getEncryptionInfoForEvent(event: MatrixEvent): Promise<EventEncryptionInfo | null>;
793
+ /**
794
+ * Forces the current outbound group session to be discarded such
795
+ * that another one will be created next time an event is sent.
796
+ *
797
+ * @param roomId - The ID of the room to discard the session for
798
+ *
799
+ * This should not normally be necessary.
800
+ */
801
+ forceDiscardSession(roomId: string): Promise<void>;
802
+ /**
803
+ * Configure a room to use encryption (ie, save a flag in the cryptoStore).
804
+ *
805
+ * @param roomId - The room ID to enable encryption in.
806
+ *
807
+ * @param config - The encryption config for the room.
808
+ *
809
+ * @param inhibitDeviceQuery - true to suppress device list query for
810
+ * users in the room (for now). In case lazy loading is enabled,
811
+ * the device query is always inhibited as the members are not tracked.
812
+ *
813
+ * @deprecated It is normally incorrect to call this method directly. Encryption
814
+ * is enabled by receiving an `m.room.encryption` event (which we may have sent
815
+ * previously).
816
+ */
817
+ setRoomEncryption(roomId: string, config: IRoomEncryption, inhibitDeviceQuery?: boolean): Promise<void>;
818
+ /**
819
+ * Set up encryption for a room.
820
+ *
821
+ * This is called when an <tt>m.room.encryption</tt> event is received. It saves a flag
822
+ * for the room in the cryptoStore (if it wasn't already set), sets up an "encryptor" for
823
+ * the room, and enables device-list tracking for the room.
824
+ *
825
+ * It does <em>not</em> initiate a device list query for the room. That is normally
826
+ * done once we finish processing the sync, in onSyncCompleted.
827
+ *
828
+ * @param room - The room to enable encryption in.
829
+ * @param config - The encryption config for the room.
830
+ */
831
+ private setRoomEncryptionImpl;
832
+ /**
833
+ * Make sure we are tracking the device lists for all users in this room.
834
+ *
835
+ * @param roomId - The room ID to start tracking devices in.
836
+ * @returns when all devices for the room have been fetched and marked to track
837
+ * @deprecated there's normally no need to call this function: device list tracking
838
+ * will be enabled as soon as we have the full membership list.
839
+ */
840
+ trackRoomDevices(roomId: string): Promise<void>;
841
+ /**
842
+ * Make sure we are tracking the device lists for all users in this room.
843
+ *
844
+ * This is normally called when we are about to send an encrypted event, to make sure
845
+ * we have all the devices in the room; but it is also called when processing an
846
+ * m.room.encryption state event (if lazy-loading is disabled), or when members are
847
+ * loaded (if lazy-loading is enabled), to prepare the device list.
848
+ *
849
+ * @param room - Room to enable device-list tracking in
850
+ */
851
+ private trackRoomDevicesImpl;
852
+ /**
853
+ * Try to make sure we have established olm sessions for all known devices for
854
+ * the given users.
855
+ *
856
+ * @param users - list of user ids
857
+ * @param force - If true, force a new Olm session to be created. Default false.
858
+ *
859
+ * @returns resolves once the sessions are complete, to
860
+ * an Object mapping from userId to deviceId to
861
+ * `IOlmSessionResult`
862
+ */
863
+ ensureOlmSessionsForUsers(users: string[], force?: boolean): Promise<Map<string, Map<string, olmlib.IOlmSessionResult>>>;
864
+ /**
865
+ * Get a list containing all of the room keys
866
+ *
867
+ * @returns a list of session export objects
868
+ */
869
+ exportRoomKeys(): Promise<IMegolmSessionData[]>;
870
+ /**
871
+ * Get a JSON list containing all of the room keys
872
+ *
873
+ * @returns a JSON string encoding a list of session
874
+ * export objects, each of which is an IMegolmSessionData
875
+ */
876
+ exportRoomKeysAsJson(): Promise<string>;
877
+ /**
878
+ * Import a list of room keys previously exported by exportRoomKeys
879
+ *
880
+ * @param keys - a list of session export objects
881
+ * @returns a promise which resolves once the keys have been imported
882
+ */
883
+ importRoomKeys(keys: IMegolmSessionData[], opts?: ImportRoomKeysOpts): Promise<void>;
884
+ /**
885
+ * Import a JSON string encoding a list of room keys previously
886
+ * exported by exportRoomKeysAsJson
887
+ *
888
+ * @param keys - a JSON string encoding a list of session export
889
+ * objects, each of which is an IMegolmSessionData
890
+ * @param opts - options object
891
+ * @returns a promise which resolves once the keys have been imported
892
+ */
893
+ importRoomKeysAsJson(keys: string, opts?: ImportRoomKeysOpts): Promise<void>;
894
+ /**
895
+ * Counts the number of end to end session keys that are waiting to be backed up
896
+ * @returns Promise which resolves to the number of sessions requiring backup
897
+ */
898
+ countSessionsNeedingBackup(): Promise<number>;
899
+ /**
900
+ * Perform any background tasks that can be done before a message is ready to
901
+ * send, in order to speed up sending of the message.
902
+ *
903
+ * @param room - the room the event is in
904
+ */
905
+ prepareToEncrypt(room: Room): void;
906
+ /**
907
+ * Encrypt an event according to the configuration of the room.
908
+ *
909
+ * @param event - event to be sent
910
+ *
911
+ * @param room - destination room.
912
+ *
913
+ * @returns Promise which resolves when the event has been
914
+ * encrypted, or null if nothing was needed
915
+ */
916
+ encryptEvent(event: MatrixEvent, room: Room): Promise<void>;
917
+ /**
918
+ * Decrypt a received event
919
+ *
920
+ *
921
+ * @returns resolves once we have
922
+ * finished decrypting. Rejects with an `algorithms.DecryptionError` if there
923
+ * is a problem decrypting the event.
924
+ */
925
+ decryptEvent(event: MatrixEvent): Promise<IEventDecryptionResult>;
926
+ /**
927
+ * Handle the notification from /sync that device lists have
928
+ * been changed.
929
+ *
930
+ * @param deviceLists - device_lists field from /sync
931
+ */
932
+ processDeviceLists(deviceLists: IDeviceLists): Promise<void>;
933
+ /**
934
+ * Send a request for some room keys, if we have not already done so
935
+ *
936
+ * @param resend - whether to resend the key request if there is
937
+ * already one
938
+ *
939
+ * @returns a promise that resolves when the key request is queued
940
+ */
941
+ requestRoomKey(requestBody: IRoomKeyRequestBody, recipients: IRoomKeyRequestRecipient[], resend?: boolean): Promise<void>;
942
+ /**
943
+ * Cancel any earlier room key request
944
+ *
945
+ * @param requestBody - parameters to match for cancellation
946
+ */
947
+ cancelRoomKeyRequest(requestBody: IRoomKeyRequestBody): void;
948
+ /**
949
+ * Re-send any outgoing key requests, eg after verification
950
+ * @returns
951
+ */
952
+ cancelAndResendAllOutgoingKeyRequests(): Promise<void>;
953
+ /**
954
+ * handle an m.room.encryption event
955
+ *
956
+ * @param room - in which the event was received
957
+ * @param event - encryption event to be processed
958
+ */
959
+ onCryptoEvent(room: Room, event: MatrixEvent): Promise<void>;
960
+ /**
961
+ * Called before the result of a sync is processed
962
+ *
963
+ * @param syncData - the data from the 'MatrixClient.sync' event
964
+ */
965
+ onSyncWillProcess(syncData: ISyncStateData): Promise<void>;
966
+ /**
967
+ * handle the completion of a /sync
968
+ *
969
+ * This is called after the processing of each successful /sync response.
970
+ * It is an opportunity to do a batch process on the information received.
971
+ *
972
+ * @param syncData - the data from the 'MatrixClient.sync' event
973
+ */
974
+ onSyncCompleted(syncData: OnSyncCompletedData): Promise<void>;
975
+ /**
976
+ * Trigger the appropriate invalidations and removes for a given
977
+ * device list
978
+ *
979
+ * @param deviceLists - device_lists field from /sync, or response from
980
+ * /keys/changes
981
+ */
982
+ private evalDeviceListChanges;
983
+ /**
984
+ * Get a list of all the IDs of users we share an e2e room with
985
+ * for which we are tracking devices already
986
+ *
987
+ * @returns List of user IDs
988
+ */
989
+ private getTrackedE2eUsers;
990
+ /**
991
+ * Get a list of the e2e-enabled rooms we are members of,
992
+ * and for which we are already tracking the devices
993
+ *
994
+ * @returns
995
+ */
996
+ private getTrackedE2eRooms;
997
+ /**
998
+ * Encrypts and sends a given object via Olm to-device messages to a given
999
+ * set of devices.
1000
+ * @param userDeviceInfoArr - the devices to send to
1001
+ * @param payload - fields to include in the encrypted payload
1002
+ * @returns Promise which
1003
+ * resolves once the message has been encrypted and sent to the given
1004
+ * userDeviceMap, and returns the `{ contentMap, deviceInfoByDeviceId }`
1005
+ * of the successfully sent messages.
1006
+ *
1007
+ * @deprecated Instead use {@link encryptToDeviceMessages} followed by {@link MatrixClient.queueToDevice}.
1008
+ */
1009
+ encryptAndSendToDevices(userDeviceInfoArr: IOlmDevice<DeviceInfo>[], payload: object): Promise<void>;
1010
+ private prepareToDeviceBatch;
1011
+ /**
1012
+ * Implementation of {@link Crypto.CryptoApi#encryptToDeviceMessages}.
1013
+ */
1014
+ encryptToDeviceMessages(eventType: string, devices: {
1015
+ userId: string;
1016
+ deviceId: string;
1017
+ }[], payload: ToDevicePayload): Promise<ToDeviceBatch>;
1018
+ private onMembership;
1019
+ preprocessToDeviceMessages(events: IToDeviceEvent[]): Promise<IToDeviceEvent[]>;
1020
+ /**
1021
+ * Stores the current one_time_key count which will be handled later (in a call of
1022
+ * onSyncCompleted).
1023
+ *
1024
+ * @param currentCount - The current count of one_time_keys to be stored
1025
+ */
1026
+ private updateOneTimeKeyCount;
1027
+ processKeyCounts(oneTimeKeysCounts?: Record<string, number>, unusedFallbackKeys?: string[]): Promise<void>;
1028
+ private onToDeviceEvent;
1029
+ /**
1030
+ * Handle a key event
1031
+ *
1032
+ * @internal
1033
+ * @param event - key event
1034
+ */
1035
+ private onRoomKeyEvent;
1036
+ /**
1037
+ * Handle a key withheld event
1038
+ *
1039
+ * @internal
1040
+ * @param event - key withheld event
1041
+ */
1042
+ private onRoomKeyWithheldEvent;
1043
+ /**
1044
+ * Handle a general key verification event.
1045
+ *
1046
+ * @internal
1047
+ * @param event - verification start event
1048
+ */
1049
+ private onKeyVerificationMessage;
1050
+ /**
1051
+ * Handle key verification requests sent as timeline events
1052
+ *
1053
+ * @internal
1054
+ * @param event - the timeline event
1055
+ * @param room - not used
1056
+ * @param atStart - not used
1057
+ * @param removed - not used
1058
+ * @param whether - this is a live event
1059
+ */
1060
+ private onTimelineEvent;
1061
+ private handleVerificationEvent;
1062
+ /**
1063
+ * Handle a toDevice event that couldn't be decrypted
1064
+ *
1065
+ * @internal
1066
+ * @param event - undecryptable event
1067
+ */
1068
+ private onToDeviceBadEncrypted;
1069
+ /**
1070
+ * Handle a change in the membership state of a member of a room
1071
+ *
1072
+ * @internal
1073
+ * @param event - event causing the change
1074
+ * @param member - user whose membership changed
1075
+ * @param oldMembership - previous membership
1076
+ */
1077
+ private onRoomMembership;
1078
+ /**
1079
+ * Called when we get an m.room_key_request event.
1080
+ *
1081
+ * @internal
1082
+ * @param event - key request event
1083
+ */
1084
+ private onRoomKeyRequestEvent;
1085
+ /**
1086
+ * Process any m.room_key_request events which were queued up during the
1087
+ * current sync.
1088
+ *
1089
+ * @internal
1090
+ */
1091
+ private processReceivedRoomKeyRequests;
1092
+ /**
1093
+ * Helper for processReceivedRoomKeyRequests
1094
+ *
1095
+ */
1096
+ private processReceivedRoomKeyRequest;
1097
+ /**
1098
+ * Helper for processReceivedRoomKeyRequests
1099
+ *
1100
+ */
1101
+ private processReceivedRoomKeyRequestCancellation;
1102
+ /**
1103
+ * Get a decryptor for a given room and algorithm.
1104
+ *
1105
+ * If we already have a decryptor for the given room and algorithm, return
1106
+ * it. Otherwise try to instantiate it.
1107
+ *
1108
+ * @internal
1109
+ *
1110
+ * @param roomId - room id for decryptor. If undefined, a temporary
1111
+ * decryptor is instantiated.
1112
+ *
1113
+ * @param algorithm - crypto algorithm
1114
+ *
1115
+ * @throws `DecryptionError` if the algorithm is unknown
1116
+ */
1117
+ getRoomDecryptor(roomId: string | null, algorithm: string): DecryptionAlgorithm;
1118
+ /**
1119
+ * Get all the room decryptors for a given encryption algorithm.
1120
+ *
1121
+ * @param algorithm - The encryption algorithm
1122
+ *
1123
+ * @returns An array of room decryptors
1124
+ */
1125
+ private getRoomDecryptors;
1126
+ /**
1127
+ * sign the given object with our ed25519 key
1128
+ *
1129
+ * @param obj - Object to which we will add a 'signatures' property
1130
+ */
1131
+ signObject<T extends ISignableObject & object>(obj: T): Promise<void>;
1132
+ /**
1133
+ * @returns true if the room with the supplied ID is encrypted. False if the
1134
+ * room is not encrypted, or is unknown to us.
1135
+ */
1136
+ isRoomEncrypted(roomId: string): boolean;
1137
+ /**
1138
+ * Implementation of {@link Crypto.CryptoApi#isEncryptionEnabledInRoom}.
1139
+ */
1140
+ isEncryptionEnabledInRoom(roomId: string): Promise<boolean>;
1141
+ /**
1142
+ * @returns information about the encryption on the room with the supplied
1143
+ * ID, or null if the room is not encrypted or unknown to us.
1144
+ */
1145
+ getRoomEncryption(roomId: string): IRoomEncryption | null;
1146
+ /**
1147
+ * Returns whether dehydrated devices are supported by the crypto backend
1148
+ * and by the server.
1149
+ */
1150
+ isDehydrationSupported(): Promise<boolean>;
1151
+ /**
1152
+ * Stub function -- dehydration is not implemented here, so throw error
1153
+ */
1154
+ startDehydration(createNewKey?: boolean): Promise<void>;
1155
+ /**
1156
+ * Stub function -- restoreKeyBackup is not implemented here, so throw error
1157
+ */
1158
+ restoreKeyBackup(opts: KeyBackupRestoreOpts): Promise<KeyBackupRestoreResult>;
1159
+ /**
1160
+ * Stub function -- restoreKeyBackupWithPassphrase is not implemented here, so throw error
1161
+ */
1162
+ restoreKeyBackupWithPassphrase(passphrase: string, opts: KeyBackupRestoreOpts): Promise<KeyBackupRestoreResult>;
1163
+ }
1164
+ /**
1165
+ * Fix up the backup key, that may be in the wrong format due to a bug in a
1166
+ * migration step. Some backup keys were stored as a comma-separated list of
1167
+ * integers, rather than a base64-encoded byte array. If this function is
1168
+ * passed a string that looks like a list of integers rather than a base64
1169
+ * string, it will attempt to convert it to the right format.
1170
+ *
1171
+ * @param key - the key to check
1172
+ * @returns If the key is in the wrong format, then the fixed
1173
+ * key will be returned. Otherwise null will be returned.
1174
+ *
1175
+ */
1176
+ export declare function fixBackupKey(key?: string): string | null;
1177
+ /**
1178
+ * Represents a received m.room_key_request event
1179
+ */
1180
+ export declare class IncomingRoomKeyRequest {
1181
+ /** user requesting the key */
1182
+ readonly userId: string;
1183
+ /** device requesting the key */
1184
+ readonly deviceId: string;
1185
+ /** unique id for the request */
1186
+ readonly requestId: string;
1187
+ readonly requestBody: IRoomKeyRequestBody;
1188
+ /**
1189
+ * callback which, when called, will ask
1190
+ * the relevant crypto algorithm implementation to share the keys for
1191
+ * this request.
1192
+ */
1193
+ share: () => void;
1194
+ constructor(event: MatrixEvent);
1195
+ }
1196
+ /**
1197
+ * Represents a received m.room_key_request cancellation
1198
+ */
1199
+ declare class IncomingRoomKeyRequestCancellation {
1200
+ /** user requesting the cancellation */
1201
+ readonly userId: string;
1202
+ /** device requesting the cancellation */
1203
+ readonly deviceId: string;
1204
+ /** unique id for the request to be cancelled */
1205
+ readonly requestId: string;
1206
+ constructor(event: MatrixEvent);
1207
+ }
1208
+ export type { IEventDecryptionResult, IMegolmSessionData } from "../@types/crypto.ts";
1209
+ //# sourceMappingURL=index.d.ts.map