@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,1203 @@
1
+ import { EventTimelineSet, IAddLiveEventOptions, EventTimelineSetHandlerMap } from "./event-timeline-set.ts";
2
+ import { EventTimeline } from "./event-timeline.ts";
3
+ import { MatrixEvent, MatrixEventEvent, MatrixEventHandlerMap } from "./event.ts";
4
+ import { EventStatus } from "./event-status.ts";
5
+ import { RoomMember } from "./room-member.ts";
6
+ import { IRoomSummary, RoomSummary } from "./room-summary.ts";
7
+ import { TypedReEmitter } from "../ReEmitter.ts";
8
+ import { EventType, RoomType } from "../@types/event.ts";
9
+ import { MatrixClient, PendingEventOrdering } from "../client.ts";
10
+ import { GuestAccess, HistoryVisibility, JoinRule, ResizeMethod } from "../@types/partials.ts";
11
+ import { Filter } from "../filter.ts";
12
+ import { RoomState, RoomStateEvent, RoomStateEventHandlerMap } from "./room-state.ts";
13
+ import { BeaconEvent, BeaconEventHandlerMap } from "./beacon.ts";
14
+ import { Thread, ThreadEvent, ThreadEventHandlerMap as ThreadHandlerMap } from "./thread.ts";
15
+ import { CachedReceiptStructure, Receipt } from "../@types/read_receipts.ts";
16
+ import { RelationsContainer } from "./relations-container.ts";
17
+ import { ReadReceipt } from "./read-receipt.ts";
18
+ import { Poll, PollEvent } from "./poll.ts";
19
+ import { Membership } from "../@types/membership.ts";
20
+ export declare const KNOWN_SAFE_ROOM_VERSION = "10";
21
+ interface IOpts {
22
+ /**
23
+ * Controls where pending messages appear in a room's timeline.
24
+ * If "<b>chronological</b>", messages will appear in the timeline when the call to `sendEvent` was made.
25
+ * If "<b>detached</b>", pending messages will appear in a separate list,
26
+ * accessible via {@link Room#getPendingEvents}.
27
+ * Default: "chronological".
28
+ */
29
+ pendingEventOrdering?: PendingEventOrdering;
30
+ /**
31
+ * Set to true to enable improved timeline support.
32
+ */
33
+ timelineSupport?: boolean;
34
+ lazyLoadMembers?: boolean;
35
+ }
36
+ export interface IRecommendedVersion {
37
+ version: string;
38
+ needsUpgrade: boolean;
39
+ urgent: boolean;
40
+ }
41
+ export type NotificationCount = Partial<Record<NotificationCountType, number>>;
42
+ export declare enum NotificationCountType {
43
+ Highlight = "highlight",
44
+ Total = "total"
45
+ }
46
+ export interface ICreateFilterOpts {
47
+ prepopulateTimeline?: boolean;
48
+ useSyncEvents?: boolean;
49
+ pendingEvents?: boolean;
50
+ }
51
+ export declare enum RoomEvent {
52
+ MyMembership = "Room.myMembership",
53
+ Tags = "Room.tags",
54
+ AccountData = "Room.accountData",
55
+ Receipt = "Room.receipt",
56
+ Name = "Room.name",
57
+ Redaction = "Room.redaction",
58
+ RedactionCancelled = "Room.redactionCancelled",
59
+ LocalEchoUpdated = "Room.localEchoUpdated",
60
+ Timeline = "Room.timeline",
61
+ TimelineReset = "Room.timelineReset",
62
+ TimelineRefresh = "Room.TimelineRefresh",
63
+ OldStateUpdated = "Room.OldStateUpdated",
64
+ CurrentStateUpdated = "Room.CurrentStateUpdated",
65
+ HistoryImportedWithinTimeline = "Room.historyImportedWithinTimeline",
66
+ UnreadNotifications = "Room.UnreadNotifications",
67
+ Summary = "Room.Summary"
68
+ }
69
+ export type RoomEmittedEvents = RoomEvent | RoomStateEvent.Events | RoomStateEvent.Members | RoomStateEvent.NewMember | RoomStateEvent.Update | RoomStateEvent.Marker | ThreadEvent.New | ThreadEvent.Update | ThreadEvent.NewReply | ThreadEvent.Delete | MatrixEventEvent.BeforeRedaction | BeaconEvent.New | BeaconEvent.Update | BeaconEvent.Destroy | BeaconEvent.LivenessChange | PollEvent.New;
70
+ export type RoomEventHandlerMap = {
71
+ /**
72
+ * Fires when the logged in user's membership in the room is updated.
73
+ *
74
+ * @param room - The room in which the membership has been updated
75
+ * @param membership - The new membership value
76
+ * @param prevMembership - The previous membership value
77
+ */
78
+ [RoomEvent.MyMembership]: (room: Room, membership: Membership, prevMembership?: Membership) => void;
79
+ /**
80
+ * Fires whenever a room's tags are updated.
81
+ * @param event - The tags event
82
+ * @param room - The room whose Room.tags was updated.
83
+ * @example
84
+ * ```
85
+ * matrixClient.on("Room.tags", function(event, room){
86
+ * var newTags = event.getContent().tags;
87
+ * if (newTags["favourite"]) showStar(room);
88
+ * });
89
+ * ```
90
+ */
91
+ [RoomEvent.Tags]: (event: MatrixEvent, room: Room) => void;
92
+ /**
93
+ * Fires whenever a room's account_data is updated.
94
+ * @param event - The account_data event
95
+ * @param room - The room whose account_data was updated.
96
+ * @param prevEvent - The event being replaced by
97
+ * the new account data, if known.
98
+ * @example
99
+ * ```
100
+ * matrixClient.on("Room.accountData", function(event, room, oldEvent){
101
+ * if (event.getType() === "m.room.colorscheme") {
102
+ * applyColorScheme(event.getContents());
103
+ * }
104
+ * });
105
+ * ```
106
+ */
107
+ [RoomEvent.AccountData]: (event: MatrixEvent, room: Room, prevEvent?: MatrixEvent) => void;
108
+ /**
109
+ * Fires whenever a receipt is received for a room
110
+ * @param event - The receipt event
111
+ * @param room - The room whose receipts was updated.
112
+ * @example
113
+ * ```
114
+ * matrixClient.on("Room.receipt", function(event, room){
115
+ * var receiptContent = event.getContent();
116
+ * });
117
+ * ```
118
+ */
119
+ [RoomEvent.Receipt]: (event: MatrixEvent, room: Room) => void;
120
+ /**
121
+ * Fires whenever the name of a room is updated.
122
+ * @param room - The room whose Room.name was updated.
123
+ * @example
124
+ * ```
125
+ * matrixClient.on("Room.name", function(room){
126
+ * var newName = room.name;
127
+ * });
128
+ * ```
129
+ */
130
+ [RoomEvent.Name]: (room: Room) => void;
131
+ /**
132
+ * Fires when an event we had previously received is redacted.
133
+ *
134
+ * (Note this is *not* fired when the redaction happens before we receive the
135
+ * event).
136
+ *
137
+ * @param event - The matrix redaction event
138
+ * @param room - The room containing the redacted event
139
+ * @param threadId - The thread containing the redacted event (before it was redacted)
140
+ */
141
+ [RoomEvent.Redaction]: (event: MatrixEvent, room: Room, threadId?: string) => void;
142
+ /**
143
+ * Fires when an event that was previously redacted isn't anymore.
144
+ * This happens when the redaction couldn't be sent and
145
+ * was subsequently cancelled by the user. Redactions have a local echo
146
+ * which is undone in this scenario.
147
+ *
148
+ * @param event - The matrix redaction event that was cancelled.
149
+ * @param room - The room containing the unredacted event
150
+ */
151
+ [RoomEvent.RedactionCancelled]: (event: MatrixEvent, room: Room) => void;
152
+ /**
153
+ * Fires when the status of a transmitted event is updated.
154
+ *
155
+ * <p>When an event is first transmitted, a temporary copy of the event is
156
+ * inserted into the timeline, with a temporary event id, and a status of
157
+ * 'SENDING'.
158
+ *
159
+ * <p>Once the echo comes back from the server, the content of the event
160
+ * (MatrixEvent.event) is replaced by the complete event from the homeserver,
161
+ * thus updating its event id, as well as server-generated fields such as the
162
+ * timestamp. Its status is set to null.
163
+ *
164
+ * <p>Once the /send request completes, if the remote echo has not already
165
+ * arrived, the event is updated with a new event id and the status is set to
166
+ * 'SENT'. The server-generated fields are of course not updated yet.
167
+ *
168
+ * <p>If the /send fails, In this case, the event's status is set to
169
+ * 'NOT_SENT'. If it is later resent, the process starts again, setting the
170
+ * status to 'SENDING'. Alternatively, the message may be cancelled, which
171
+ * removes the event from the room, and sets the status to 'CANCELLED'.
172
+ *
173
+ * <p>This event is raised to reflect each of the transitions above.
174
+ *
175
+ * @param event - The matrix event which has been updated
176
+ *
177
+ * @param room - The room containing the redacted event
178
+ *
179
+ * @param oldEventId - The previous event id (the temporary event id,
180
+ * except when updating a successfully-sent event when its echo arrives)
181
+ *
182
+ * @param oldStatus - The previous event status.
183
+ */
184
+ [RoomEvent.LocalEchoUpdated]: (event: MatrixEvent, room: Room, oldEventId?: string, oldStatus?: EventStatus | null) => void;
185
+ [RoomEvent.OldStateUpdated]: (room: Room, previousRoomState: RoomState, roomState: RoomState) => void;
186
+ [RoomEvent.CurrentStateUpdated]: (room: Room, previousRoomState: RoomState, roomState: RoomState) => void;
187
+ [RoomEvent.HistoryImportedWithinTimeline]: (markerEvent: MatrixEvent, room: Room) => void;
188
+ [RoomEvent.UnreadNotifications]: (unreadNotifications?: NotificationCount, threadId?: string) => void;
189
+ [RoomEvent.TimelineRefresh]: (room: Room, eventTimelineSet: EventTimelineSet) => void;
190
+ /**
191
+ * Fires when a new room summary is returned by `/sync`.
192
+ *
193
+ * See https://spec.matrix.org/v1.8/client-server-api/#_matrixclientv3sync_roomsummary
194
+ * for full details
195
+ * @param summary - the room summary object
196
+ */
197
+ [RoomEvent.Summary]: (summary: IRoomSummary) => void;
198
+ [ThreadEvent.New]: (thread: Thread, toStartOfTimeline: boolean) => void;
199
+ /**
200
+ * Fires when a new poll instance is added to the room state
201
+ * @param poll - the new poll
202
+ */
203
+ [PollEvent.New]: (poll: Poll) => void;
204
+ } & Pick<ThreadHandlerMap, ThreadEvent.Update | ThreadEvent.NewReply | ThreadEvent.Delete> & EventTimelineSetHandlerMap & Pick<MatrixEventHandlerMap, MatrixEventEvent.BeforeRedaction> & Pick<RoomStateEventHandlerMap, RoomStateEvent.Events | RoomStateEvent.Members | RoomStateEvent.NewMember | RoomStateEvent.Update | RoomStateEvent.Marker | BeaconEvent.New> & Pick<BeaconEventHandlerMap, BeaconEvent.Update | BeaconEvent.Destroy | BeaconEvent.LivenessChange>;
205
+ export declare class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
206
+ readonly roomId: string;
207
+ readonly client: MatrixClient;
208
+ readonly myUserId: string;
209
+ private readonly opts;
210
+ readonly reEmitter: TypedReEmitter<RoomEmittedEvents, RoomEventHandlerMap>;
211
+ private txnToEvent;
212
+ private notificationCounts;
213
+ private readonly threadNotifications;
214
+ readonly cachedThreadReadReceipts: Map<string, CachedReceiptStructure[]>;
215
+ private oldestThreadedReceiptTs;
216
+ /**
217
+ * A record of the latest unthread receipts per user
218
+ * This is useful in determining whether a user has read a thread or not
219
+ */
220
+ private unthreadedReceipts;
221
+ private readonly timelineSets;
222
+ readonly polls: Map<string, Poll>;
223
+ /**
224
+ * Empty array if the timeline sets have not been initialised. After initialisation:
225
+ * 0: All threads
226
+ * 1: Threads the current user has participated in
227
+ */
228
+ readonly threadsTimelineSets: [] | [EventTimelineSet, EventTimelineSet];
229
+ private readonly filteredTimelineSets;
230
+ private timelineNeedsRefresh;
231
+ private readonly pendingEventList?;
232
+ private blacklistUnverifiedDevices?;
233
+ private selfMembership?;
234
+ private summaryHeroes;
235
+ private getTypeWarning;
236
+ private getVersionWarning;
237
+ private membersPromise?;
238
+ /**
239
+ * The human-readable display name for this room.
240
+ */
241
+ name: string;
242
+ /**
243
+ * The un-homoglyphed name for this room.
244
+ */
245
+ normalizedName: string;
246
+ /**
247
+ * Dict of room tags; the keys are the tag name and the values
248
+ * are any metadata associated with the tag - e.g. `{ "fav" : { order: 1 } }`
249
+ */
250
+ tags: Record<string, Record<string, any>>;
251
+ /**
252
+ * accountData Dict of per-room account_data events; the keys are the
253
+ * event type and the values are the events.
254
+ */
255
+ accountData: Map<string, MatrixEvent>;
256
+ /**
257
+ * The room summary.
258
+ */
259
+ summary: RoomSummary | null;
260
+ /**
261
+ * oldState The state of the room at the time of the oldest event in the live timeline.
262
+ *
263
+ * @deprecated Present for backwards compatibility.
264
+ * Use getLiveTimeline().getState(EventTimeline.BACKWARDS) instead
265
+ */
266
+ oldState: RoomState;
267
+ /**
268
+ * currentState The state of the room at the time of the newest event in the timeline.
269
+ *
270
+ * @deprecated Present for backwards compatibility.
271
+ * Use getLiveTimeline().getState(EventTimeline.FORWARDS) instead.
272
+ */
273
+ currentState: RoomState;
274
+ readonly relations: RelationsContainer;
275
+ /**
276
+ * A collection of events known by the client
277
+ * This is not a comprehensive list of the threads that exist in this room
278
+ */
279
+ private threads;
280
+ /**
281
+ * A mapping of eventId to all visibility changes to apply
282
+ * to the event, by chronological order, as per
283
+ * https://github.com/matrix-org/matrix-doc/pull/3531
284
+ *
285
+ * # Invariants
286
+ *
287
+ * - within each list, all events are classed by
288
+ * chronological order;
289
+ * - all events are events such that
290
+ * `asVisibilityEvent()` returns a non-null `IVisibilityChange`;
291
+ * - within each list with key `eventId`, all events
292
+ * are in relation to `eventId`.
293
+ *
294
+ * @experimental
295
+ */
296
+ private visibilityEvents;
297
+ /**
298
+ * The latest receipts (synthetic and real) for each user in each thread
299
+ * (and unthreaded).
300
+ */
301
+ private roomReceipts;
302
+ /**
303
+ * Construct a new Room.
304
+ *
305
+ * <p>For a room, we store an ordered sequence of timelines, which may or may not
306
+ * be continuous. Each timeline lists a series of events, as well as tracking
307
+ * the room state at the start and the end of the timeline. It also tracks
308
+ * forward and backward pagination tokens, as well as containing links to the
309
+ * next timeline in the sequence.
310
+ *
311
+ * <p>There is one special timeline - the 'live' timeline, which represents the
312
+ * timeline to which events are being added in real-time as they are received
313
+ * from the /sync API. Note that you should not retain references to this
314
+ * timeline - even if it is the current timeline right now, it may not remain
315
+ * so if the server gives us a timeline gap in /sync.
316
+ *
317
+ * <p>In order that we can find events from their ids later, we also maintain a
318
+ * map from event_id to timeline and index.
319
+ *
320
+ * @param roomId - Required. The ID of this room.
321
+ * @param client - Required. The client, used to lazy load members.
322
+ * @param myUserId - Required. The ID of the syncing user.
323
+ * @param opts - Configuration options
324
+ */
325
+ constructor(roomId: string, client: MatrixClient, myUserId: string, opts?: IOpts);
326
+ private threadTimelineSetsPromise;
327
+ createThreadsTimelineSets(): Promise<[EventTimelineSet, EventTimelineSet] | null>;
328
+ /**
329
+ * Bulk decrypt critical events in a room
330
+ *
331
+ * Critical events represents the minimal set of events to decrypt
332
+ * for a typical UI to function properly
333
+ *
334
+ * - Last event of every room (to generate likely message preview)
335
+ * - All events up to the read receipt (to calculate an accurate notification count)
336
+ *
337
+ * @returns Signals when all events have been decrypted
338
+ */
339
+ decryptCriticalEvents(): Promise<void>;
340
+ /**
341
+ * Bulk decrypt events in a room
342
+ *
343
+ * @returns Signals when all events have been decrypted
344
+ */
345
+ decryptAllEvents(): Promise<void>;
346
+ /**
347
+ * Gets the creator of the room
348
+ * @returns The creator of the room, or null if it could not be determined
349
+ */
350
+ getCreator(): string | null;
351
+ /**
352
+ * Gets the version of the room
353
+ * @returns The version of the room, or null if it could not be determined
354
+ */
355
+ getVersion(): string;
356
+ /**
357
+ * Determines the recommended room version for the room. This returns an
358
+ * object with 3 properties: `version` as the new version the
359
+ * room should be upgraded to (may be the same as the current version);
360
+ * `needsUpgrade` to indicate if the room actually can be
361
+ * upgraded (ie: does the current version not match?); and `urgent`
362
+ * to indicate if the new version patches a vulnerability in a previous
363
+ * version.
364
+ * @returns
365
+ * Resolves to the version the room should be upgraded to.
366
+ */
367
+ getRecommendedVersion(): Promise<IRecommendedVersion>;
368
+ private checkVersionAgainstCapability;
369
+ /**
370
+ * Determines whether the given user is permitted to perform a room upgrade
371
+ * @param userId - The ID of the user to test against
372
+ * @returns True if the given user is permitted to upgrade the room
373
+ */
374
+ userMayUpgradeRoom(userId: string): boolean;
375
+ /**
376
+ * Get the list of pending sent events for this room
377
+ *
378
+ * @returns A list of the sent events
379
+ * waiting for remote echo.
380
+ *
381
+ * @throws If `opts.pendingEventOrdering` was not 'detached'
382
+ */
383
+ getPendingEvents(): MatrixEvent[];
384
+ /**
385
+ * Removes a pending event for this room
386
+ *
387
+ * @returns True if an element was removed.
388
+ */
389
+ removePendingEvent(eventId: string): boolean;
390
+ /**
391
+ * Check whether the pending event list contains a given event by ID.
392
+ * If pending event ordering is not "detached" then this returns false.
393
+ *
394
+ * @param eventId - The event ID to check for.
395
+ */
396
+ hasPendingEvent(eventId: string): boolean;
397
+ /**
398
+ * Get a specific event from the pending event list, if configured, null otherwise.
399
+ *
400
+ * @param eventId - The event ID to check for.
401
+ */
402
+ getPendingEvent(eventId: string): MatrixEvent | null;
403
+ /**
404
+ * Get the live unfiltered timeline for this room.
405
+ *
406
+ * @returns live timeline
407
+ */
408
+ getLiveTimeline(): EventTimeline;
409
+ /**
410
+ * The live event timeline for this room, with the oldest event at index 0.
411
+ *
412
+ * @deprecated Present for backwards compatibility.
413
+ * Use getLiveTimeline().getEvents() instead
414
+ */
415
+ get timeline(): MatrixEvent[];
416
+ /**
417
+ * Get the timestamp of the last message in the room
418
+ *
419
+ * @returns the timestamp of the last message in the room
420
+ */
421
+ getLastActiveTimestamp(): number;
422
+ /**
423
+ * Returns the last live event of this room.
424
+ * "last" means latest timestamp.
425
+ * Instead of using timestamps, it would be better to do the comparison based on the order of the homeserver DAG.
426
+ * Unfortunately, this information is currently not available in the client.
427
+ * See {@link https://github.com/matrix-org/matrix-js-sdk/issues/3325}.
428
+ * "live of this room" means from all live timelines: the room and the threads.
429
+ *
430
+ * @returns MatrixEvent if there is a last event; else undefined.
431
+ */
432
+ getLastLiveEvent(): MatrixEvent | undefined;
433
+ /**
434
+ * Returns the last thread of this room.
435
+ * "last" means latest timestamp of the last thread event.
436
+ * Instead of using timestamps, it would be better to do the comparison based on the order of the homeserver DAG.
437
+ * Unfortunately, this information is currently not available in the client.
438
+ * See {@link https://github.com/matrix-org/matrix-js-sdk/issues/3325}.
439
+ *
440
+ * @returns the thread with the most recent event in its live time line. undefined if there is no thread.
441
+ */
442
+ getLastThread(): Thread | undefined;
443
+ /**
444
+ * @returns the membership type (join | leave | invite | knock) for the logged in user
445
+ */
446
+ getMyMembership(): Membership;
447
+ /**
448
+ * If this room is a DM we're invited to,
449
+ * try to find out who invited us
450
+ * @returns user id of the inviter
451
+ */
452
+ getDMInviter(): string | undefined;
453
+ /**
454
+ * Assuming this room is a DM room, tries to guess with which user.
455
+ * @returns user id of the other member (could be syncing user)
456
+ */
457
+ guessDMUserId(): string;
458
+ /**
459
+ * Gets the "functional members" in this room.
460
+ *
461
+ * Returns the list of userIDs from the `io.element.functional_members` event. Does not consider the
462
+ * current membership states of those users.
463
+ *
464
+ * @see https://github.com/element-hq/element-meta/blob/develop/spec/functional_members.md.
465
+ */
466
+ private getFunctionalMembers;
467
+ getAvatarFallbackMember(): RoomMember | undefined;
468
+ /**
469
+ * Sets the membership this room was received as during sync
470
+ * @param membership - join | leave | invite
471
+ */
472
+ updateMyMembership(membership: Membership): void;
473
+ private loadMembersFromServer;
474
+ private loadMembers;
475
+ /**
476
+ * Check if loading of out-of-band-members has completed
477
+ *
478
+ * @returns true if the full membership list of this room has been loaded (including if lazy-loading is disabled).
479
+ * False if the load is not started or is in progress.
480
+ */
481
+ membersLoaded(): boolean;
482
+ /**
483
+ * Preloads the member list in case lazy loading
484
+ * of memberships is in use. Can be called multiple times,
485
+ * it will only preload once.
486
+ * @returns when preloading is done and
487
+ * accessing the members on the room will take
488
+ * all members in the room into account
489
+ */
490
+ loadMembersIfNeeded(): Promise<boolean>;
491
+ /**
492
+ * Removes the lazily loaded members from storage if needed
493
+ */
494
+ clearLoadedMembersIfNeeded(): Promise<void>;
495
+ /**
496
+ * called when sync receives this room in the leave section
497
+ * to do cleanup after leaving a room. Possibly called multiple times.
498
+ */
499
+ private cleanupAfterLeaving;
500
+ /**
501
+ * Empty out the current live timeline and re-request it. This is used when
502
+ * historical messages are imported into the room via MSC2716 `/batch_send`
503
+ * because the client may already have that section of the timeline loaded.
504
+ * We need to force the client to throw away their current timeline so that
505
+ * when they back paginate over the area again with the historical messages
506
+ * in between, it grabs the newly imported messages. We can listen for
507
+ * `UNSTABLE_MSC2716_MARKER`, in order to tell when historical messages are ready
508
+ * to be discovered in the room and the timeline needs a refresh. The SDK
509
+ * emits a `RoomEvent.HistoryImportedWithinTimeline` event when we detect a
510
+ * valid marker and can check the needs refresh status via
511
+ * `room.getTimelineNeedsRefresh()`.
512
+ */
513
+ refreshLiveTimeline(): Promise<void>;
514
+ /**
515
+ * Reset the live timeline of all timelineSets, and start new ones.
516
+ *
517
+ * <p>This is used when /sync returns a 'limited' timeline.
518
+ *
519
+ * @param backPaginationToken - token for back-paginating the new timeline
520
+ * @param forwardPaginationToken - token for forward-paginating the old live timeline,
521
+ * if absent or null, all timelines are reset, removing old ones (including the previous live
522
+ * timeline which would otherwise be unable to paginate forwards without this token).
523
+ * Removing just the old live timeline whilst preserving previous ones is not supported.
524
+ */
525
+ resetLiveTimeline(backPaginationToken?: string | null, forwardPaginationToken?: string | null): void;
526
+ /**
527
+ * Fix up this.timeline, this.oldState and this.currentState
528
+ *
529
+ * @internal
530
+ */
531
+ private fixUpLegacyTimelineFields;
532
+ private onReceipt;
533
+ private clearNotificationsOnReceipt;
534
+ /**
535
+ * Return the timeline sets for this room.
536
+ * @returns array of timeline sets for this room
537
+ */
538
+ getTimelineSets(): EventTimelineSet[];
539
+ /**
540
+ * Helper to return the main unfiltered timeline set for this room
541
+ * @returns room's unfiltered timeline set
542
+ */
543
+ getUnfilteredTimelineSet(): EventTimelineSet;
544
+ /**
545
+ * Get the timeline which contains the given event from the unfiltered set, if any
546
+ *
547
+ * @param eventId - event ID to look for
548
+ * @returns timeline containing
549
+ * the given event, or null if unknown
550
+ */
551
+ getTimelineForEvent(eventId: string): EventTimeline | null;
552
+ /**
553
+ * Add a new timeline to this room's unfiltered timeline set
554
+ *
555
+ * @returns newly-created timeline
556
+ */
557
+ addTimeline(): EventTimeline;
558
+ /**
559
+ * Whether the timeline needs to be refreshed in order to pull in new
560
+ * historical messages that were imported.
561
+ * @param value - The value to set
562
+ */
563
+ setTimelineNeedsRefresh(value: boolean): void;
564
+ /**
565
+ * Whether the timeline needs to be refreshed in order to pull in new
566
+ * historical messages that were imported.
567
+ * @returns .
568
+ */
569
+ getTimelineNeedsRefresh(): boolean;
570
+ /**
571
+ * Get an event which is stored in our unfiltered timeline set, or in a thread
572
+ *
573
+ * @param eventId - event ID to look for
574
+ * @returns the given event, or undefined if unknown
575
+ */
576
+ findEventById(eventId: string): MatrixEvent | undefined;
577
+ /**
578
+ * Get one of the notification counts for this room
579
+ * @param type - The type of notification count to get. default: 'total'
580
+ * @returns The notification count, or undefined if there is no count
581
+ * for this type.
582
+ */
583
+ getUnreadNotificationCount(type?: NotificationCountType): number;
584
+ /**
585
+ * Get the notification for the event context (room or thread timeline)
586
+ */
587
+ getUnreadCountForEventContext(type: NotificationCountType | undefined, event: MatrixEvent): number;
588
+ /**
589
+ * Get one of the notification counts for this room
590
+ * @param type - The type of notification count to get. default: 'total'
591
+ * @returns The notification count, or undefined if there is no count
592
+ * for this type.
593
+ */
594
+ getRoomUnreadNotificationCount(type?: NotificationCountType): number;
595
+ /**
596
+ * Get one of the notification counts for a thread
597
+ * @param threadId - the root event ID
598
+ * @param type - The type of notification count to get. default: 'total'
599
+ * @returns The notification count, or undefined if there is no count
600
+ * for this type.
601
+ */
602
+ getThreadUnreadNotificationCount(threadId: string, type?: NotificationCountType): number;
603
+ /**
604
+ * Checks if the current room has unread thread notifications
605
+ * @returns
606
+ */
607
+ hasThreadUnreadNotification(): boolean;
608
+ /**
609
+ * Swet one of the notification count for a thread
610
+ * @param threadId - the root event ID
611
+ * @param type - The type of notification count to get. default: 'total'
612
+ * @returns
613
+ */
614
+ setThreadUnreadNotificationCount(threadId: string, type: NotificationCountType, count: number): void;
615
+ /**
616
+ * @returns the notification count type for all the threads in the room
617
+ */
618
+ get threadsAggregateNotificationType(): NotificationCountType | null;
619
+ /**
620
+ * Resets the total thread notifications for all threads in this room to zero,
621
+ * excluding any threads whose IDs are given in `exceptThreadIds`.
622
+ *
623
+ * If the room is not encrypted, also resets the highlight notification count to zero
624
+ * for the same set of threads.
625
+ *
626
+ * This is intended for use from the sync code since we calculate highlight notification
627
+ * counts locally from decrypted messages. We want to partially trust the total from the
628
+ * server such that we clear notifications when read receipts arrive. The weird name is
629
+ * intended to reflect this. You probably do not want to use this.
630
+ *
631
+ * @param exceptThreadIds - The thread IDs to exclude from the reset.
632
+ */
633
+ resetThreadUnreadNotificationCountFromSync(exceptThreadIds?: string[]): void;
634
+ /**
635
+ * Set one of the notification counts for this room
636
+ * @param type - The type of notification count to set.
637
+ * @param count - The new count
638
+ */
639
+ setUnreadNotificationCount(type: NotificationCountType, count: number): void;
640
+ setUnread(type: NotificationCountType, count: number): void;
641
+ setSummary(summary: IRoomSummary): void;
642
+ /**
643
+ * Whether to send encrypted messages to devices within this room.
644
+ * @param value - true to blacklist unverified devices, null
645
+ * to use the global value for this room.
646
+ */
647
+ setBlacklistUnverifiedDevices(value: boolean): void;
648
+ /**
649
+ * Whether to send encrypted messages to devices within this room.
650
+ * @returns true if blacklisting unverified devices, null
651
+ * if the global value should be used for this room.
652
+ */
653
+ getBlacklistUnverifiedDevices(): boolean | null;
654
+ /**
655
+ * Get the avatar URL for a room if one was set.
656
+ * @param baseUrl - The homeserver base URL. See
657
+ * {@link MatrixClient#getHomeserverUrl}.
658
+ * @param width - The desired width of the thumbnail.
659
+ * @param height - The desired height of the thumbnail.
660
+ * @param resizeMethod - The thumbnail resize method to use, either
661
+ * "crop" or "scale".
662
+ * @param allowDefault - True to allow an identicon for this room if an
663
+ * avatar URL wasn't explicitly set. Default: true. (Deprecated)
664
+ * @returns the avatar URL or null.
665
+ */
666
+ getAvatarUrl(baseUrl: string, width: number, height: number, resizeMethod: ResizeMethod, allowDefault?: boolean): string | null;
667
+ /**
668
+ * Get the mxc avatar url for the room, if one was set.
669
+ * @returns the mxc avatar url or falsy
670
+ */
671
+ getMxcAvatarUrl(): string | null;
672
+ /**
673
+ * Get this room's canonical alias
674
+ * The alias returned by this function may not necessarily
675
+ * still point to this room.
676
+ * @returns The room's canonical alias, or null if there is none
677
+ */
678
+ getCanonicalAlias(): string | null;
679
+ /**
680
+ * Get this room's alternative aliases
681
+ * @returns The room's alternative aliases, or an empty array
682
+ */
683
+ getAltAliases(): string[];
684
+ /**
685
+ * Add events to a timeline
686
+ *
687
+ * <p>Will fire "Room.timeline" for each event added.
688
+ *
689
+ * @param events - A list of events to add.
690
+ *
691
+ * @param toStartOfTimeline - True to add these events to the start
692
+ * (oldest) instead of the end (newest) of the timeline. If true, the oldest
693
+ * event will be the <b>last</b> element of 'events'.
694
+ *
695
+ * @param timeline - timeline to
696
+ * add events to.
697
+ *
698
+ * @param paginationToken - token for the next batch of events
699
+ *
700
+ * @remarks
701
+ * Fires {@link RoomEvent.Timeline}
702
+ */
703
+ addEventsToTimeline(events: MatrixEvent[], toStartOfTimeline: boolean, timeline: EventTimeline, paginationToken?: string): void;
704
+ /**
705
+ * Get the instance of the thread associated with the current event
706
+ * @param eventId - the ID of the current event
707
+ * @returns a thread instance if known
708
+ */
709
+ getThread(eventId: string): Thread | null;
710
+ /**
711
+ * Get all the known threads in the room
712
+ */
713
+ getThreads(): Thread[];
714
+ /**
715
+ * Get a member from the current room state.
716
+ * @param userId - The user ID of the member.
717
+ * @returns The member or `null`.
718
+ */
719
+ getMember(userId: string): RoomMember | null;
720
+ /**
721
+ * Get all currently loaded members from the current
722
+ * room state.
723
+ * @returns Room members
724
+ */
725
+ getMembers(): RoomMember[];
726
+ /**
727
+ * Get a list of members whose membership state is "join".
728
+ * @returns A list of currently joined members.
729
+ */
730
+ getJoinedMembers(): RoomMember[];
731
+ /**
732
+ * Returns the number of joined members in this room
733
+ * This method caches the result.
734
+ * This is a wrapper around the method of the same name in roomState, returning
735
+ * its result for the room's current state.
736
+ * @returns The number of members in this room whose membership is 'join'
737
+ */
738
+ getJoinedMemberCount(): number;
739
+ /**
740
+ * Returns the number of invited members in this room
741
+ * @returns The number of members in this room whose membership is 'invite'
742
+ */
743
+ getInvitedMemberCount(): number;
744
+ /**
745
+ * Returns the number of invited + joined members in this room
746
+ * @returns The number of members in this room whose membership is 'invite' or 'join'
747
+ */
748
+ getInvitedAndJoinedMemberCount(): number;
749
+ /**
750
+ * Get a list of members with given membership state.
751
+ * @param membership - The membership state.
752
+ * @returns A list of members with the given membership state.
753
+ */
754
+ getMembersWithMembership(membership: Membership): RoomMember[];
755
+ /**
756
+ * Get a list of members we should be encrypting for in this room
757
+ * @returns A list of members who
758
+ * we should encrypt messages for in this room.
759
+ */
760
+ getEncryptionTargetMembers(): Promise<RoomMember[]>;
761
+ /**
762
+ * Determine whether we should encrypt messages for invited users in this room
763
+ * @returns if we should encrypt messages for invited users
764
+ */
765
+ shouldEncryptForInvitedMembers(): boolean;
766
+ /**
767
+ * Get the default room name (i.e. what a given user would see if the
768
+ * room had no m.room.name)
769
+ * @param userId - The userId from whose perspective we want
770
+ * to calculate the default name
771
+ * @returns The default room name
772
+ */
773
+ getDefaultRoomName(userId: string): string;
774
+ /**
775
+ * Check if the given user_id has the given membership state.
776
+ * @param userId - The user ID to check.
777
+ * @param membership - The membership e.g. `'join'`
778
+ * @returns True if this user_id has the given membership state.
779
+ */
780
+ hasMembershipState(userId: string, membership: Membership): boolean;
781
+ /**
782
+ * Add a timelineSet for this room with the given filter
783
+ * @param filter - The filter to be applied to this timelineSet
784
+ * @param opts - Configuration options
785
+ * @returns The timelineSet
786
+ */
787
+ getOrCreateFilteredTimelineSet(filter: Filter, { prepopulateTimeline, useSyncEvents, pendingEvents }?: ICreateFilterOpts): EventTimelineSet;
788
+ private getThreadListFilter;
789
+ private createThreadTimelineSet;
790
+ private threadsReady;
791
+ /**
792
+ * Takes the given thread root events and creates threads for them.
793
+ */
794
+ processThreadRoots(events: MatrixEvent[], toStartOfTimeline: boolean): void;
795
+ /**
796
+ * Fetch the bare minimum of room threads required for the thread list to work reliably.
797
+ * With server support that means fetching one page.
798
+ * Without server support that means fetching as much at once as the server allows us to.
799
+ */
800
+ fetchRoomThreads(): Promise<void>;
801
+ /**
802
+ * Process a list of poll events.
803
+ *
804
+ * @param events - List of events
805
+ */
806
+ processPollEvents(events: MatrixEvent[]): Promise<void>;
807
+ /**
808
+ * Processes poll events:
809
+ * If the event has a decryption failure, it will listen for decryption and tries again.
810
+ * If it is a poll start event (`m.poll.start`),
811
+ * it creates and stores a Poll model and emits a PollEvent.New event.
812
+ * If the event is related to a poll, it will add it to the poll.
813
+ * Noop for other cases.
814
+ *
815
+ * @param event - Event that could be a poll event
816
+ */
817
+ private processPollEvent;
818
+ /**
819
+ * Fetch a single page of threadlist messages for the specific thread filter
820
+ * @internal
821
+ */
822
+ private fetchRoomThreadList;
823
+ private onThreadUpdate;
824
+ private onThreadReply;
825
+ private onThreadDelete;
826
+ /**
827
+ * Forget the timelineSet for this room with the given filter
828
+ *
829
+ * @param filter - the filter whose timelineSet is to be forgotten
830
+ */
831
+ removeFilteredTimelineSet(filter: Filter): void;
832
+ /**
833
+ * Determine which timeline(s) a given event should live in
834
+ * Thread roots live in both the main timeline and their corresponding thread timeline
835
+ * Relations, redactions, replies to thread relation events live only in the thread timeline
836
+ * Relations (other than m.thread), redactions, replies to a thread root live only in the main timeline
837
+ * Relations, redactions, replies where the parent cannot be found live in no timelines but should be aggregated regardless.
838
+ * Otherwise, the event lives in the main timeline only.
839
+ *
840
+ * Note: when a redaction is applied, the redacted event, events relating
841
+ * to it, and the redaction event itself, will all move to the main thread.
842
+ * This method classifies them as inside the thread of the redacted event.
843
+ * They are moved later as part of makeRedacted.
844
+ * This will change if MSC3389 is merged.
845
+ */
846
+ eventShouldLiveIn(event: MatrixEvent, events?: MatrixEvent[], roots?: Set<string>): {
847
+ shouldLiveInRoom: boolean;
848
+ shouldLiveInThread: boolean;
849
+ threadId?: string;
850
+ };
851
+ findThreadForEvent(event?: MatrixEvent): Thread | null;
852
+ private addThreadedEvents;
853
+ /**
854
+ * Adds events to a thread's timeline. Will fire "Thread.update"
855
+ */
856
+ processThreadedEvents(events: MatrixEvent[], toStartOfTimeline: boolean): void;
857
+ private updateThreadRootEvents;
858
+ private updateThreadRootEvent;
859
+ createThread(threadId: string, rootEvent: MatrixEvent | undefined, events: MatrixEvent[] | undefined, toStartOfTimeline: boolean): Thread;
860
+ private applyRedaction;
861
+ private processLiveEvent;
862
+ /**
863
+ * Add an event to the end of this room's live timelines. Will fire
864
+ * "Room.timeline".
865
+ *
866
+ * @param event - Event to be added
867
+ * @param addLiveEventOptions - addLiveEvent options
868
+ * @internal
869
+ *
870
+ * @remarks
871
+ * Fires {@link RoomEvent.Timeline}
872
+ */
873
+ private addLiveEvent;
874
+ /**
875
+ * Add a pending outgoing event to this room.
876
+ *
877
+ * <p>The event is added to either the pendingEventList, or the live timeline,
878
+ * depending on the setting of opts.pendingEventOrdering.
879
+ *
880
+ * <p>This is an internal method, intended for use by MatrixClient.
881
+ *
882
+ * @param event - The event to add.
883
+ *
884
+ * @param txnId - Transaction id for this outgoing event
885
+ *
886
+ * @throws if the event doesn't have status SENDING, or we aren't given a
887
+ * unique transaction id.
888
+ *
889
+ * @remarks
890
+ * Fires {@link RoomEvent.LocalEchoUpdated}
891
+ */
892
+ addPendingEvent(event: MatrixEvent, txnId: string): void;
893
+ /**
894
+ * Persists all pending events to local storage
895
+ *
896
+ * If the current room is encrypted only encrypted events will be persisted
897
+ * all messages that are not yet encrypted will be discarded
898
+ *
899
+ * This is because the flow of EVENT_STATUS transition is
900
+ * `queued => sending => encrypting => sending => sent`
901
+ *
902
+ * Steps 3 and 4 are skipped for unencrypted room.
903
+ * It is better to discard an unencrypted message rather than persisting
904
+ * it locally for everyone to read
905
+ */
906
+ private savePendingEvents;
907
+ /**
908
+ * Used to aggregate the local echo for a relation, and also
909
+ * for re-applying a relation after it's redaction has been cancelled,
910
+ * as the local echo for the redaction of the relation would have
911
+ * un-aggregated the relation. Note that this is different from regular messages,
912
+ * which are just kept detached for their local echo.
913
+ *
914
+ * Also note that live events are aggregated in the live EventTimelineSet.
915
+ * @param event - the relation event that needs to be aggregated.
916
+ */
917
+ private aggregateNonLiveRelation;
918
+ getEventForTxnId(txnId: string): MatrixEvent | undefined;
919
+ /**
920
+ * Deal with the echo of a message we sent.
921
+ *
922
+ * <p>We move the event to the live timeline if it isn't there already, and
923
+ * update it.
924
+ *
925
+ * @param remoteEvent - The event received from
926
+ * /sync
927
+ * @param localEvent - The local echo, which
928
+ * should be either in the pendingEventList or the timeline.
929
+ *
930
+ * @internal
931
+ *
932
+ * @remarks
933
+ * Fires {@link RoomEvent.LocalEchoUpdated}
934
+ */
935
+ handleRemoteEcho(remoteEvent: MatrixEvent, localEvent: MatrixEvent): void;
936
+ /**
937
+ * Update the status / event id on a pending event, to reflect its transmission
938
+ * progress.
939
+ *
940
+ * <p>This is an internal method.
941
+ *
942
+ * @param event - local echo event
943
+ * @param newStatus - status to assign
944
+ * @param newEventId - new event id to assign. Ignored unless newStatus == EventStatus.SENT.
945
+ *
946
+ * @remarks
947
+ * Fires {@link RoomEvent.LocalEchoUpdated}
948
+ */
949
+ updatePendingEvent(event: MatrixEvent, newStatus: EventStatus, newEventId?: string): void;
950
+ private revertRedactionLocalEcho;
951
+ private assertTimelineSetsAreLive;
952
+ /**
953
+ * Add some events to this room. This can include state events, message
954
+ * events and typing notifications. These events are treated as "live" so
955
+ * they will go to the end of the timeline.
956
+ *
957
+ * @param events - A list of events to add.
958
+ * @param addLiveEventOptions - addLiveEvent options
959
+ * @throws If `duplicateStrategy` is not falsey, 'replace' or 'ignore'.
960
+ */
961
+ addLiveEvents(events: MatrixEvent[], addLiveEventOptions?: IAddLiveEventOptions): Promise<void>;
962
+ partitionThreadedEvents(events: MatrixEvent[]): [timelineEvents: MatrixEvent[], threadedEvents: MatrixEvent[], unknownRelations: MatrixEvent[]];
963
+ /**
964
+ * Given some events, find the IDs of all the thread roots that are referred to by them.
965
+ */
966
+ private findThreadRoots;
967
+ /**
968
+ * Add a receipt event to the room.
969
+ * @param event - The m.receipt event.
970
+ * @param synthetic - True if this event is implicit.
971
+ */
972
+ addReceipt(event: MatrixEvent, synthetic?: boolean): void;
973
+ /**
974
+ * Adds/handles ephemeral events such as typing notifications and read receipts.
975
+ * @param events - A list of events to process
976
+ */
977
+ addEphemeralEvents(events: MatrixEvent[]): void;
978
+ /**
979
+ * Removes events from this room.
980
+ * @param eventIds - A list of eventIds to remove.
981
+ */
982
+ removeEvents(eventIds: string[]): void;
983
+ /**
984
+ * Removes a single event from this room.
985
+ *
986
+ * @param eventId - The id of the event to remove
987
+ *
988
+ * @returns true if the event was removed from any of the room's timeline sets
989
+ */
990
+ removeEvent(eventId: string): boolean;
991
+ /**
992
+ * Recalculate various aspects of the room, including the room name and
993
+ * room summary. Call this any time the room's current state is modified.
994
+ * May fire "Room.name" if the room name is updated.
995
+ *
996
+ * @remarks
997
+ * Fires {@link RoomEvent.Name}
998
+ */
999
+ recalculate(): void;
1000
+ /**
1001
+ * Update the room-tag event for the room. The previous one is overwritten.
1002
+ * @param event - the m.tag event
1003
+ */
1004
+ addTags(event: MatrixEvent): void;
1005
+ /**
1006
+ * Update the account_data events for this room, overwriting events of the same type.
1007
+ * @param events - an array of account_data events to add
1008
+ */
1009
+ addAccountData(events: MatrixEvent[]): void;
1010
+ /**
1011
+ * Access account_data event of given event type for this room
1012
+ * @param type - the type of account_data event to be accessed
1013
+ * @returns the account_data event in question
1014
+ */
1015
+ getAccountData(type: EventType | string): MatrixEvent | undefined;
1016
+ /**
1017
+ * Returns whether the syncing user has permission to send a message in the room
1018
+ * @returns true if the user should be permitted to send
1019
+ * message events into the room.
1020
+ */
1021
+ maySendMessage(): boolean;
1022
+ /**
1023
+ * Returns whether the given user has permissions to issue an invite for this room.
1024
+ * @param userId - the ID of the Matrix user to check permissions for
1025
+ * @returns true if the user should be permitted to issue invites for this room.
1026
+ */
1027
+ canInvite(userId: string): boolean;
1028
+ /**
1029
+ * Returns the join rule based on the m.room.join_rule state event, defaulting to `invite`.
1030
+ * @returns the join_rule applied to this room
1031
+ */
1032
+ getJoinRule(): JoinRule;
1033
+ /**
1034
+ * Returns the history visibility based on the m.room.history_visibility state event, defaulting to `shared`.
1035
+ * @returns the history_visibility applied to this room
1036
+ */
1037
+ getHistoryVisibility(): HistoryVisibility;
1038
+ /**
1039
+ * Returns the history visibility based on the m.room.history_visibility state event, defaulting to `shared`.
1040
+ * @returns the history_visibility applied to this room
1041
+ */
1042
+ getGuestAccess(): GuestAccess;
1043
+ /**
1044
+ * Returns the type of the room from the `m.room.create` event content or undefined if none is set
1045
+ * @returns the type of the room.
1046
+ */
1047
+ getType(): RoomType | string | undefined;
1048
+ /**
1049
+ * Returns whether the room is a space-room as defined by MSC1772.
1050
+ * @returns true if the room's type is RoomType.Space
1051
+ */
1052
+ isSpaceRoom(): boolean;
1053
+ /**
1054
+ * Returns whether the room is a call-room as defined by MSC3417.
1055
+ * @returns true if the room's type is RoomType.UnstableCall
1056
+ */
1057
+ isCallRoom(): boolean;
1058
+ /**
1059
+ * Returns whether the room is a video room.
1060
+ * @returns true if the room's type is RoomType.ElementVideo
1061
+ */
1062
+ isElementVideoRoom(): boolean;
1063
+ /**
1064
+ * Find the predecessor of this room.
1065
+ *
1066
+ * @param msc3946ProcessDynamicPredecessor - if true, look for an
1067
+ * m.room.predecessor state event and use it if found (MSC3946).
1068
+ * @returns null if this room has no predecessor. Otherwise, returns
1069
+ * the roomId, last eventId and viaServers of the predecessor room.
1070
+ *
1071
+ * If msc3946ProcessDynamicPredecessor is true, use m.predecessor events
1072
+ * as well as m.room.create events to find predecessors.
1073
+ *
1074
+ * Note: if an m.predecessor event is used, eventId may be undefined
1075
+ * since last_known_event_id is optional.
1076
+ *
1077
+ * Note: viaServers may be undefined, and will definitely be undefined if
1078
+ * this predecessor comes from a RoomCreate event (rather than a
1079
+ * RoomPredecessor, which has the optional via_servers property).
1080
+ */
1081
+ findPredecessor(msc3946ProcessDynamicPredecessor?: boolean): {
1082
+ roomId: string;
1083
+ eventId?: string;
1084
+ viaServers?: string[];
1085
+ } | null;
1086
+ private roomNameGenerator;
1087
+ /**
1088
+ * This is an internal method. Calculates the name of the room from the current
1089
+ * room state.
1090
+ * @param userId - The client's user ID. Used to filter room members
1091
+ * correctly.
1092
+ * @param ignoreRoomNameEvent - Return the implicit room name that we'd see if there
1093
+ * was no m.room.name event.
1094
+ * @returns The calculated room name.
1095
+ */
1096
+ private calculateRoomName;
1097
+ /**
1098
+ * When we receive a new visibility change event:
1099
+ *
1100
+ * - store this visibility change alongside the timeline, in case we
1101
+ * later need to apply it to an event that we haven't received yet;
1102
+ * - if we have already received the event whose visibility has changed,
1103
+ * patch it to reflect the visibility change and inform listeners.
1104
+ */
1105
+ private applyNewVisibilityEvent;
1106
+ private redactVisibilityChangeEvent;
1107
+ /**
1108
+ * When we receive an event whose visibility has been altered by
1109
+ * a (more recent) visibility change event, patch the event in
1110
+ * place so that clients now not to display it.
1111
+ *
1112
+ * @param event - Any matrix event. If this event has at least one a
1113
+ * pending visibility change event, apply the latest visibility
1114
+ * change event.
1115
+ */
1116
+ private applyPendingVisibilityEvents;
1117
+ /**
1118
+ * Find when a client has gained thread capabilities by inspecting the oldest
1119
+ * threaded receipt
1120
+ * @returns the timestamp of the oldest threaded receipt
1121
+ */
1122
+ getOldestThreadedReceiptTs(): number;
1123
+ /**
1124
+ * Determines if the given user has read a particular event ID with the known
1125
+ * history of the room. This is not a definitive check as it relies only on
1126
+ * what is available to the room at the time of execution.
1127
+ *
1128
+ * @param userId - The user ID to check the read state of.
1129
+ * @param eventId - The event ID to check if the user read.
1130
+ * @returns true if the user has read the event, false otherwise.
1131
+ */
1132
+ hasUserReadEvent(userId: string, eventId: string): boolean;
1133
+ /**
1134
+ * Returns the most recent unthreaded receipt for a given user
1135
+ * @param userId - the MxID of the User
1136
+ * @returns an unthreaded Receipt. Can be undefined if receipts have been disabled
1137
+ * or a user chooses to use private read receipts (or we have simply not received
1138
+ * a receipt from this user yet).
1139
+ */
1140
+ getLastUnthreadedReceiptFor(userId: string): Receipt | undefined;
1141
+ /**
1142
+ * This issue should also be addressed on synapse's side and is tracked as part
1143
+ * of https://github.com/matrix-org/synapse/issues/14837
1144
+ *
1145
+ *
1146
+ * We consider a room fully read if the current user has sent
1147
+ * the last event in the live timeline of that context and if the read receipt
1148
+ * we have on record matches.
1149
+ * This also detects all unread threads and applies the same logic to those
1150
+ * contexts
1151
+ */
1152
+ fixupNotifications(userId: string): void;
1153
+ /**
1154
+ * Determine the order of two events in this room.
1155
+ *
1156
+ * In principle this should use the same order as the server, but in practice
1157
+ * this is difficult for events that were not received over the Sync API. See
1158
+ * MSC4033 for details.
1159
+ *
1160
+ * This implementation leans on the order of events within their timelines, and
1161
+ * falls back to comparing event timestamps when they are in different
1162
+ * timelines.
1163
+ *
1164
+ * See https://github.com/matrix-org/matrix-js-sdk/issues/3325 for where we are
1165
+ * tracking the work to fix this.
1166
+ *
1167
+ * @param leftEventId - the id of the first event
1168
+ * @param rightEventId - the id of the second event
1169
+
1170
+ * @returns -1 if left \< right, 1 if left \> right, 0 if left == right, null if
1171
+ * we can't tell (because we can't find the events).
1172
+ */
1173
+ compareEventOrdering(leftEventId: string, rightEventId: string): number | null;
1174
+ /**
1175
+ * Return true if this room has an `m.room.encryption` state event.
1176
+ *
1177
+ * If this returns `true`, events sent to this room should be encrypted (and `MatrixClient.sendEvent` and friends
1178
+ * will encrypt outgoing events).
1179
+ */
1180
+ hasEncryptionStateEvent(): boolean;
1181
+ }
1182
+ export declare enum RoomNameType {
1183
+ EmptyRoom = 0,
1184
+ Generated = 1,
1185
+ Actual = 2
1186
+ }
1187
+ export interface EmptyRoomNameState {
1188
+ type: RoomNameType.EmptyRoom;
1189
+ oldName?: string;
1190
+ }
1191
+ export interface GeneratedRoomNameState {
1192
+ type: RoomNameType.Generated;
1193
+ subtype?: "Inviting";
1194
+ names: string[];
1195
+ count: number;
1196
+ }
1197
+ export interface ActualRoomNameState {
1198
+ type: RoomNameType.Actual;
1199
+ name: string;
1200
+ }
1201
+ export type RoomNameState = EmptyRoomNameState | GeneratedRoomNameState | ActualRoomNameState;
1202
+ export {};
1203
+ //# sourceMappingURL=room.d.ts.map