@unwanted/matrix-sdk-mini 34.12.0-1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1203) hide show
  1. package/CHANGELOG.md +5910 -0
  2. package/LICENSE +177 -0
  3. package/README.md +459 -0
  4. package/git-revision.txt +1 -0
  5. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
  6. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
  7. package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
  8. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
  9. package/lib/@types/IIdentityServerProvider.d.ts +9 -0
  10. package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
  11. package/lib/@types/IIdentityServerProvider.js +1 -0
  12. package/lib/@types/IIdentityServerProvider.js.map +1 -0
  13. package/lib/@types/PushRules.d.ts +140 -0
  14. package/lib/@types/PushRules.d.ts.map +1 -0
  15. package/lib/@types/PushRules.js +94 -0
  16. package/lib/@types/PushRules.js.map +1 -0
  17. package/lib/@types/another-json.d.js +0 -0
  18. package/lib/@types/another-json.d.js.map +1 -0
  19. package/lib/@types/auth.d.ts +208 -0
  20. package/lib/@types/auth.d.ts.map +1 -0
  21. package/lib/@types/auth.js +99 -0
  22. package/lib/@types/auth.js.map +1 -0
  23. package/lib/@types/beacon.d.ts +106 -0
  24. package/lib/@types/beacon.d.ts.map +1 -0
  25. package/lib/@types/beacon.js +119 -0
  26. package/lib/@types/beacon.js.map +1 -0
  27. package/lib/@types/common.d.ts +9 -0
  28. package/lib/@types/common.d.ts.map +1 -0
  29. package/lib/@types/common.js +1 -0
  30. package/lib/@types/common.js.map +1 -0
  31. package/lib/@types/crypto.d.ts +47 -0
  32. package/lib/@types/crypto.d.ts.map +1 -0
  33. package/lib/@types/crypto.js +1 -0
  34. package/lib/@types/crypto.js.map +1 -0
  35. package/lib/@types/event.d.ts +258 -0
  36. package/lib/@types/event.d.ts.map +1 -0
  37. package/lib/@types/event.js +239 -0
  38. package/lib/@types/event.js.map +1 -0
  39. package/lib/@types/events.d.ts +92 -0
  40. package/lib/@types/events.d.ts.map +1 -0
  41. package/lib/@types/events.js +1 -0
  42. package/lib/@types/events.js.map +1 -0
  43. package/lib/@types/extensible_events.d.ts +98 -0
  44. package/lib/@types/extensible_events.d.ts.map +1 -0
  45. package/lib/@types/extensible_events.js +116 -0
  46. package/lib/@types/extensible_events.js.map +1 -0
  47. package/lib/@types/global.d.js +20 -0
  48. package/lib/@types/global.d.js.map +1 -0
  49. package/lib/@types/local_notifications.d.ts +4 -0
  50. package/lib/@types/local_notifications.d.ts.map +1 -0
  51. package/lib/@types/local_notifications.js +1 -0
  52. package/lib/@types/local_notifications.js.map +1 -0
  53. package/lib/@types/location.d.ts +60 -0
  54. package/lib/@types/location.d.ts.map +1 -0
  55. package/lib/@types/location.js +67 -0
  56. package/lib/@types/location.js.map +1 -0
  57. package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
  58. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
  59. package/lib/@types/media.d.ts +220 -0
  60. package/lib/@types/media.d.ts.map +1 -0
  61. package/lib/@types/media.js +1 -0
  62. package/lib/@types/media.js.map +1 -0
  63. package/lib/@types/membership.d.ts +41 -0
  64. package/lib/@types/membership.d.ts.map +1 -0
  65. package/lib/@types/membership.js +37 -0
  66. package/lib/@types/membership.js.map +1 -0
  67. package/lib/@types/oidc-client-ts.d.js +18 -0
  68. package/lib/@types/oidc-client-ts.d.js.map +1 -0
  69. package/lib/@types/partials.d.ts +39 -0
  70. package/lib/@types/partials.d.ts.map +1 -0
  71. package/lib/@types/partials.js +53 -0
  72. package/lib/@types/partials.js.map +1 -0
  73. package/lib/@types/polls.d.ts +88 -0
  74. package/lib/@types/polls.d.ts.map +1 -0
  75. package/lib/@types/polls.js +86 -0
  76. package/lib/@types/polls.js.map +1 -0
  77. package/lib/@types/read_receipts.d.ts +36 -0
  78. package/lib/@types/read_receipts.d.ts.map +1 -0
  79. package/lib/@types/read_receipts.js +27 -0
  80. package/lib/@types/read_receipts.js.map +1 -0
  81. package/lib/@types/registration.d.ts +85 -0
  82. package/lib/@types/registration.d.ts.map +1 -0
  83. package/lib/@types/registration.js +1 -0
  84. package/lib/@types/registration.js.map +1 -0
  85. package/lib/@types/requests.d.ts +241 -0
  86. package/lib/@types/requests.d.ts.map +1 -0
  87. package/lib/@types/requests.js +28 -0
  88. package/lib/@types/requests.js.map +1 -0
  89. package/lib/@types/search.d.ts +90 -0
  90. package/lib/@types/search.d.ts.map +1 -0
  91. package/lib/@types/search.js +30 -0
  92. package/lib/@types/search.js.map +1 -0
  93. package/lib/@types/signed.d.ts +9 -0
  94. package/lib/@types/signed.d.ts.map +1 -0
  95. package/lib/@types/signed.js +1 -0
  96. package/lib/@types/signed.js.map +1 -0
  97. package/lib/@types/spaces.d.ts +16 -0
  98. package/lib/@types/spaces.d.ts.map +1 -0
  99. package/lib/@types/spaces.js +1 -0
  100. package/lib/@types/spaces.js.map +1 -0
  101. package/lib/@types/state_events.d.ts +116 -0
  102. package/lib/@types/state_events.d.ts.map +1 -0
  103. package/lib/@types/state_events.js +1 -0
  104. package/lib/@types/state_events.js.map +1 -0
  105. package/lib/@types/synapse.d.ts +19 -0
  106. package/lib/@types/synapse.d.ts.map +1 -0
  107. package/lib/@types/synapse.js +1 -0
  108. package/lib/@types/synapse.js.map +1 -0
  109. package/lib/@types/sync.d.ts +8 -0
  110. package/lib/@types/sync.d.ts.map +1 -0
  111. package/lib/@types/sync.js +25 -0
  112. package/lib/@types/sync.js.map +1 -0
  113. package/lib/@types/threepids.d.ts +12 -0
  114. package/lib/@types/threepids.d.ts.map +1 -0
  115. package/lib/@types/threepids.js +24 -0
  116. package/lib/@types/threepids.js.map +1 -0
  117. package/lib/@types/topic.d.ts +48 -0
  118. package/lib/@types/topic.d.ts.map +1 -0
  119. package/lib/@types/topic.js +57 -0
  120. package/lib/@types/topic.js.map +1 -0
  121. package/lib/@types/uia.d.ts +12 -0
  122. package/lib/@types/uia.d.ts.map +1 -0
  123. package/lib/@types/uia.js +1 -0
  124. package/lib/@types/uia.js.map +1 -0
  125. package/lib/NamespacedValue.d.ts +33 -0
  126. package/lib/NamespacedValue.d.ts.map +1 -0
  127. package/lib/NamespacedValue.js +113 -0
  128. package/lib/NamespacedValue.js.map +1 -0
  129. package/lib/ReEmitter.d.ts +15 -0
  130. package/lib/ReEmitter.d.ts.map +1 -0
  131. package/lib/ReEmitter.js +87 -0
  132. package/lib/ReEmitter.js.map +1 -0
  133. package/lib/ToDeviceMessageQueue.d.ts +28 -0
  134. package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
  135. package/lib/ToDeviceMessageQueue.js +135 -0
  136. package/lib/ToDeviceMessageQueue.js.map +1 -0
  137. package/lib/autodiscovery.d.ts +136 -0
  138. package/lib/autodiscovery.d.ts.map +1 -0
  139. package/lib/autodiscovery.js +464 -0
  140. package/lib/autodiscovery.js.map +1 -0
  141. package/lib/base64.d.ts +28 -0
  142. package/lib/base64.d.ts.map +1 -0
  143. package/lib/base64.js +88 -0
  144. package/lib/base64.js.map +1 -0
  145. package/lib/browser-index.d.ts +8 -0
  146. package/lib/browser-index.d.ts.map +1 -0
  147. package/lib/browser-index.js +35 -0
  148. package/lib/browser-index.js.map +1 -0
  149. package/lib/client.d.ts +4232 -0
  150. package/lib/client.d.ts.map +1 -0
  151. package/lib/client.js +8622 -0
  152. package/lib/client.js.map +1 -0
  153. package/lib/common-crypto/CryptoBackend.d.ts +240 -0
  154. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
  155. package/lib/common-crypto/CryptoBackend.js +73 -0
  156. package/lib/common-crypto/CryptoBackend.js.map +1 -0
  157. package/lib/common-crypto/key-passphrase.d.ts +14 -0
  158. package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
  159. package/lib/common-crypto/key-passphrase.js +33 -0
  160. package/lib/common-crypto/key-passphrase.js.map +1 -0
  161. package/lib/content-helpers.d.ts +90 -0
  162. package/lib/content-helpers.d.ts.map +1 -0
  163. package/lib/content-helpers.js +250 -0
  164. package/lib/content-helpers.js.map +1 -0
  165. package/lib/content-repo.d.ts +24 -0
  166. package/lib/content-repo.d.ts.map +1 -0
  167. package/lib/content-repo.js +104 -0
  168. package/lib/content-repo.js.map +1 -0
  169. package/lib/crypto/CrossSigning.d.ts +184 -0
  170. package/lib/crypto/CrossSigning.d.ts.map +1 -0
  171. package/lib/crypto/CrossSigning.js +718 -0
  172. package/lib/crypto/CrossSigning.js.map +1 -0
  173. package/lib/crypto/DeviceList.d.ts +216 -0
  174. package/lib/crypto/DeviceList.d.ts.map +1 -0
  175. package/lib/crypto/DeviceList.js +892 -0
  176. package/lib/crypto/DeviceList.js.map +1 -0
  177. package/lib/crypto/EncryptionSetup.d.ts +152 -0
  178. package/lib/crypto/EncryptionSetup.d.ts.map +1 -0
  179. package/lib/crypto/EncryptionSetup.js +356 -0
  180. package/lib/crypto/EncryptionSetup.js.map +1 -0
  181. package/lib/crypto/OlmDevice.d.ts +457 -0
  182. package/lib/crypto/OlmDevice.d.ts.map +1 -0
  183. package/lib/crypto/OlmDevice.js +1241 -0
  184. package/lib/crypto/OlmDevice.js.map +1 -0
  185. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +109 -0
  186. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +1 -0
  187. package/lib/crypto/OutgoingRoomKeyRequestManager.js +415 -0
  188. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +1 -0
  189. package/lib/crypto/RoomList.d.ts +26 -0
  190. package/lib/crypto/RoomList.d.ts.map +1 -0
  191. package/lib/crypto/RoomList.js +71 -0
  192. package/lib/crypto/RoomList.js.map +1 -0
  193. package/lib/crypto/SecretSharing.d.ts +24 -0
  194. package/lib/crypto/SecretSharing.d.ts.map +1 -0
  195. package/lib/crypto/SecretSharing.js +194 -0
  196. package/lib/crypto/SecretSharing.js.map +1 -0
  197. package/lib/crypto/SecretStorage.d.ts +55 -0
  198. package/lib/crypto/SecretStorage.d.ts.map +1 -0
  199. package/lib/crypto/SecretStorage.js +118 -0
  200. package/lib/crypto/SecretStorage.js.map +1 -0
  201. package/lib/crypto/aes.d.ts +6 -0
  202. package/lib/crypto/aes.d.ts.map +1 -0
  203. package/lib/crypto/aes.js +24 -0
  204. package/lib/crypto/aes.js.map +1 -0
  205. package/lib/crypto/algorithms/base.d.ts +156 -0
  206. package/lib/crypto/algorithms/base.d.ts.map +1 -0
  207. package/lib/crypto/algorithms/base.js +187 -0
  208. package/lib/crypto/algorithms/base.js.map +1 -0
  209. package/lib/crypto/algorithms/index.d.ts +4 -0
  210. package/lib/crypto/algorithms/index.d.ts.map +1 -0
  211. package/lib/crypto/algorithms/index.js +20 -0
  212. package/lib/crypto/algorithms/index.js.map +1 -0
  213. package/lib/crypto/algorithms/megolm.d.ts +385 -0
  214. package/lib/crypto/algorithms/megolm.d.ts.map +1 -0
  215. package/lib/crypto/algorithms/megolm.js +1822 -0
  216. package/lib/crypto/algorithms/megolm.js.map +1 -0
  217. package/lib/crypto/algorithms/olm.d.ts +5 -0
  218. package/lib/crypto/algorithms/olm.d.ts.map +1 -0
  219. package/lib/crypto/algorithms/olm.js +299 -0
  220. package/lib/crypto/algorithms/olm.js.map +1 -0
  221. package/lib/crypto/api.d.ts +32 -0
  222. package/lib/crypto/api.d.ts.map +1 -0
  223. package/lib/crypto/api.js +22 -0
  224. package/lib/crypto/api.js.map +1 -0
  225. package/lib/crypto/backup.d.ts +227 -0
  226. package/lib/crypto/backup.d.ts.map +1 -0
  227. package/lib/crypto/backup.js +824 -0
  228. package/lib/crypto/backup.js.map +1 -0
  229. package/lib/crypto/crypto.d.ts +3 -0
  230. package/lib/crypto/crypto.d.ts.map +1 -0
  231. package/lib/crypto/crypto.js +19 -0
  232. package/lib/crypto/crypto.js.map +1 -0
  233. package/lib/crypto/dehydration.d.ts +34 -0
  234. package/lib/crypto/dehydration.d.ts.map +1 -0
  235. package/lib/crypto/dehydration.js +252 -0
  236. package/lib/crypto/dehydration.js.map +1 -0
  237. package/lib/crypto/device-converter.d.ts +9 -0
  238. package/lib/crypto/device-converter.d.ts.map +1 -0
  239. package/lib/crypto/device-converter.js +42 -0
  240. package/lib/crypto/device-converter.js.map +1 -0
  241. package/lib/crypto/deviceinfo.d.ts +99 -0
  242. package/lib/crypto/deviceinfo.d.ts.map +1 -0
  243. package/lib/crypto/deviceinfo.js +148 -0
  244. package/lib/crypto/deviceinfo.js.map +1 -0
  245. package/lib/crypto/index.d.ts +1209 -0
  246. package/lib/crypto/index.d.ts.map +1 -0
  247. package/lib/crypto/index.js +4097 -0
  248. package/lib/crypto/index.js.map +1 -0
  249. package/lib/crypto/key_passphrase.d.ts +14 -0
  250. package/lib/crypto/key_passphrase.d.ts.map +1 -0
  251. package/lib/crypto/key_passphrase.js +44 -0
  252. package/lib/crypto/key_passphrase.js.map +1 -0
  253. package/lib/crypto/keybackup.d.ts +18 -0
  254. package/lib/crypto/keybackup.d.ts.map +1 -0
  255. package/lib/crypto/keybackup.js +1 -0
  256. package/lib/crypto/keybackup.js.map +1 -0
  257. package/lib/crypto/olmlib.d.ts +129 -0
  258. package/lib/crypto/olmlib.d.ts.map +1 -0
  259. package/lib/crypto/olmlib.js +492 -0
  260. package/lib/crypto/olmlib.js.map +1 -0
  261. package/lib/crypto/recoverykey.d.ts +2 -0
  262. package/lib/crypto/recoverykey.d.ts.map +1 -0
  263. package/lib/crypto/recoverykey.js +19 -0
  264. package/lib/crypto/recoverykey.js.map +1 -0
  265. package/lib/crypto/store/base.d.ts +252 -0
  266. package/lib/crypto/store/base.d.ts.map +1 -0
  267. package/lib/crypto/store/base.js +64 -0
  268. package/lib/crypto/store/base.js.map +1 -0
  269. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +187 -0
  270. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
  271. package/lib/crypto/store/indexeddb-crypto-store-backend.js +1145 -0
  272. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
  273. package/lib/crypto/store/indexeddb-crypto-store.d.ts +432 -0
  274. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
  275. package/lib/crypto/store/indexeddb-crypto-store.js +728 -0
  276. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
  277. package/lib/crypto/store/localStorage-crypto-store.d.ts +119 -0
  278. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
  279. package/lib/crypto/store/localStorage-crypto-store.js +531 -0
  280. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
  281. package/lib/crypto/store/memory-crypto-store.d.ts +215 -0
  282. package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
  283. package/lib/crypto/store/memory-crypto-store.js +622 -0
  284. package/lib/crypto/store/memory-crypto-store.js.map +1 -0
  285. package/lib/crypto/verification/Base.d.ts +105 -0
  286. package/lib/crypto/verification/Base.d.ts.map +1 -0
  287. package/lib/crypto/verification/Base.js +372 -0
  288. package/lib/crypto/verification/Base.js.map +1 -0
  289. package/lib/crypto/verification/Error.d.ts +35 -0
  290. package/lib/crypto/verification/Error.d.ts.map +1 -0
  291. package/lib/crypto/verification/Error.js +86 -0
  292. package/lib/crypto/verification/Error.js.map +1 -0
  293. package/lib/crypto/verification/IllegalMethod.d.ts +15 -0
  294. package/lib/crypto/verification/IllegalMethod.d.ts.map +1 -0
  295. package/lib/crypto/verification/IllegalMethod.js +43 -0
  296. package/lib/crypto/verification/IllegalMethod.js.map +1 -0
  297. package/lib/crypto/verification/QRCode.d.ts +51 -0
  298. package/lib/crypto/verification/QRCode.d.ts.map +1 -0
  299. package/lib/crypto/verification/QRCode.js +277 -0
  300. package/lib/crypto/verification/QRCode.js.map +1 -0
  301. package/lib/crypto/verification/SAS.d.ts +27 -0
  302. package/lib/crypto/verification/SAS.d.ts.map +1 -0
  303. package/lib/crypto/verification/SAS.js +485 -0
  304. package/lib/crypto/verification/SAS.js.map +1 -0
  305. package/lib/crypto/verification/SASDecimal.d.ts +8 -0
  306. package/lib/crypto/verification/SASDecimal.d.ts.map +1 -0
  307. package/lib/crypto/verification/SASDecimal.js +34 -0
  308. package/lib/crypto/verification/SASDecimal.js.map +1 -0
  309. package/lib/crypto/verification/request/Channel.d.ts +18 -0
  310. package/lib/crypto/verification/request/Channel.d.ts.map +1 -0
  311. package/lib/crypto/verification/request/Channel.js +1 -0
  312. package/lib/crypto/verification/request/Channel.js.map +1 -0
  313. package/lib/crypto/verification/request/InRoomChannel.d.ts +113 -0
  314. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +1 -0
  315. package/lib/crypto/verification/request/InRoomChannel.js +351 -0
  316. package/lib/crypto/verification/request/InRoomChannel.js.map +1 -0
  317. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +105 -0
  318. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +1 -0
  319. package/lib/crypto/verification/request/ToDeviceChannel.js +328 -0
  320. package/lib/crypto/verification/request/ToDeviceChannel.js.map +1 -0
  321. package/lib/crypto/verification/request/VerificationRequest.d.ts +227 -0
  322. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +1 -0
  323. package/lib/crypto/verification/request/VerificationRequest.js +937 -0
  324. package/lib/crypto/verification/request/VerificationRequest.js.map +1 -0
  325. package/lib/crypto-api/CryptoEvent.d.ts +69 -0
  326. package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
  327. package/lib/crypto-api/CryptoEvent.js +33 -0
  328. package/lib/crypto-api/CryptoEvent.js.map +1 -0
  329. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +16 -0
  330. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
  331. package/lib/crypto-api/CryptoEventHandlerMap.js +22 -0
  332. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
  333. package/lib/crypto-api/index.d.ts +978 -0
  334. package/lib/crypto-api/index.d.ts.map +1 -0
  335. package/lib/crypto-api/index.js +304 -0
  336. package/lib/crypto-api/index.js.map +1 -0
  337. package/lib/crypto-api/key-passphrase.d.ts +11 -0
  338. package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
  339. package/lib/crypto-api/key-passphrase.js +51 -0
  340. package/lib/crypto-api/key-passphrase.js.map +1 -0
  341. package/lib/crypto-api/keybackup.d.ts +88 -0
  342. package/lib/crypto-api/keybackup.d.ts.map +1 -0
  343. package/lib/crypto-api/keybackup.js +1 -0
  344. package/lib/crypto-api/keybackup.js.map +1 -0
  345. package/lib/crypto-api/recovery-key.d.ts +11 -0
  346. package/lib/crypto-api/recovery-key.d.ts.map +1 -0
  347. package/lib/crypto-api/recovery-key.js +65 -0
  348. package/lib/crypto-api/recovery-key.js.map +1 -0
  349. package/lib/crypto-api/verification.d.ts +344 -0
  350. package/lib/crypto-api/verification.d.ts.map +1 -0
  351. package/lib/crypto-api/verification.js +91 -0
  352. package/lib/crypto-api/verification.js.map +1 -0
  353. package/lib/digest.d.ts +10 -0
  354. package/lib/digest.d.ts.map +1 -0
  355. package/lib/digest.js +40 -0
  356. package/lib/digest.js.map +1 -0
  357. package/lib/embedded.d.ts +143 -0
  358. package/lib/embedded.d.ts.map +1 -0
  359. package/lib/embedded.js +567 -0
  360. package/lib/embedded.js.map +1 -0
  361. package/lib/errors.d.ts +24 -0
  362. package/lib/errors.d.ts.map +1 -0
  363. package/lib/errors.js +51 -0
  364. package/lib/errors.js.map +1 -0
  365. package/lib/event-mapper.d.ts +10 -0
  366. package/lib/event-mapper.d.ts.map +1 -0
  367. package/lib/event-mapper.js +81 -0
  368. package/lib/event-mapper.js.map +1 -0
  369. package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
  370. package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
  371. package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
  372. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
  373. package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
  374. package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
  375. package/lib/extensible_events_v1/InvalidEventError.js +25 -0
  376. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
  377. package/lib/extensible_events_v1/MessageEvent.d.ts +45 -0
  378. package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
  379. package/lib/extensible_events_v1/MessageEvent.js +134 -0
  380. package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
  381. package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
  382. package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
  383. package/lib/extensible_events_v1/PollEndEvent.js +88 -0
  384. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
  385. package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
  386. package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
  387. package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
  388. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
  389. package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
  390. package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
  391. package/lib/extensible_events_v1/PollStartEvent.js +185 -0
  392. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
  393. package/lib/extensible_events_v1/utilities.d.ts +14 -0
  394. package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
  395. package/lib/extensible_events_v1/utilities.js +34 -0
  396. package/lib/extensible_events_v1/utilities.js.map +1 -0
  397. package/lib/feature.d.ts +20 -0
  398. package/lib/feature.d.ts.map +1 -0
  399. package/lib/feature.js +85 -0
  400. package/lib/feature.js.map +1 -0
  401. package/lib/filter-component.d.ts +64 -0
  402. package/lib/filter-component.d.ts.map +1 -0
  403. package/lib/filter-component.js +167 -0
  404. package/lib/filter-component.js.map +1 -0
  405. package/lib/filter.d.ts +97 -0
  406. package/lib/filter.d.ts.map +1 -0
  407. package/lib/filter.js +207 -0
  408. package/lib/filter.js.map +1 -0
  409. package/lib/http-api/errors.d.ts +80 -0
  410. package/lib/http-api/errors.d.ts.map +1 -0
  411. package/lib/http-api/errors.js +185 -0
  412. package/lib/http-api/errors.js.map +1 -0
  413. package/lib/http-api/fetch.d.ts +114 -0
  414. package/lib/http-api/fetch.d.ts.map +1 -0
  415. package/lib/http-api/fetch.js +346 -0
  416. package/lib/http-api/fetch.js.map +1 -0
  417. package/lib/http-api/index.d.ts +33 -0
  418. package/lib/http-api/index.d.ts.map +1 -0
  419. package/lib/http-api/index.js +180 -0
  420. package/lib/http-api/index.js.map +1 -0
  421. package/lib/http-api/interface.d.ts +142 -0
  422. package/lib/http-api/interface.d.ts.map +1 -0
  423. package/lib/http-api/interface.js +35 -0
  424. package/lib/http-api/interface.js.map +1 -0
  425. package/lib/http-api/method.d.ts +10 -0
  426. package/lib/http-api/method.d.ts.map +1 -0
  427. package/lib/http-api/method.js +27 -0
  428. package/lib/http-api/method.js.map +1 -0
  429. package/lib/http-api/prefix.d.ts +31 -0
  430. package/lib/http-api/prefix.d.ts.map +1 -0
  431. package/lib/http-api/prefix.js +32 -0
  432. package/lib/http-api/prefix.js.map +1 -0
  433. package/lib/http-api/utils.d.ts +37 -0
  434. package/lib/http-api/utils.d.ts.map +1 -0
  435. package/lib/http-api/utils.js +178 -0
  436. package/lib/http-api/utils.js.map +1 -0
  437. package/lib/index.d.ts +4 -0
  438. package/lib/index.d.ts.map +1 -0
  439. package/lib/index.js +24 -0
  440. package/lib/index.js.map +1 -0
  441. package/lib/indexeddb-helpers.d.ts +10 -0
  442. package/lib/indexeddb-helpers.d.ts.map +1 -0
  443. package/lib/indexeddb-helpers.js +51 -0
  444. package/lib/indexeddb-helpers.js.map +1 -0
  445. package/lib/indexeddb-worker.d.ts +7 -0
  446. package/lib/indexeddb-worker.d.ts.map +1 -0
  447. package/lib/indexeddb-worker.js +25 -0
  448. package/lib/indexeddb-worker.js.map +1 -0
  449. package/lib/interactive-auth.d.ts +337 -0
  450. package/lib/interactive-auth.d.ts.map +1 -0
  451. package/lib/interactive-auth.js +557 -0
  452. package/lib/interactive-auth.js.map +1 -0
  453. package/lib/logger.d.ts +81 -0
  454. package/lib/logger.d.ts.map +1 -0
  455. package/lib/logger.js +139 -0
  456. package/lib/logger.js.map +1 -0
  457. package/lib/matrix.d.ts +118 -0
  458. package/lib/matrix.d.ts.map +1 -0
  459. package/lib/matrix.js +146 -0
  460. package/lib/matrix.js.map +1 -0
  461. package/lib/matrixrtc/CallMembership.d.ts +66 -0
  462. package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
  463. package/lib/matrixrtc/CallMembership.js +197 -0
  464. package/lib/matrixrtc/CallMembership.js.map +1 -0
  465. package/lib/matrixrtc/LivekitFocus.d.ts +16 -0
  466. package/lib/matrixrtc/LivekitFocus.d.ts.map +1 -0
  467. package/lib/matrixrtc/LivekitFocus.js +20 -0
  468. package/lib/matrixrtc/LivekitFocus.js.map +1 -0
  469. package/lib/matrixrtc/MatrixRTCSession.d.ts +295 -0
  470. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
  471. package/lib/matrixrtc/MatrixRTCSession.js +1043 -0
  472. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
  473. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +40 -0
  474. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
  475. package/lib/matrixrtc/MatrixRTCSessionManager.js +146 -0
  476. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
  477. package/lib/matrixrtc/focus.d.ts +10 -0
  478. package/lib/matrixrtc/focus.d.ts.map +1 -0
  479. package/lib/matrixrtc/focus.js +1 -0
  480. package/lib/matrixrtc/focus.js.map +1 -0
  481. package/lib/matrixrtc/index.d.ts +7 -0
  482. package/lib/matrixrtc/index.d.ts.map +1 -0
  483. package/lib/matrixrtc/index.js +21 -0
  484. package/lib/matrixrtc/index.js.map +1 -0
  485. package/lib/matrixrtc/types.d.ts +19 -0
  486. package/lib/matrixrtc/types.d.ts.map +1 -0
  487. package/lib/matrixrtc/types.js +1 -0
  488. package/lib/matrixrtc/types.js.map +1 -0
  489. package/lib/models/MSC3089Branch.d.ts +98 -0
  490. package/lib/models/MSC3089Branch.d.ts.map +1 -0
  491. package/lib/models/MSC3089Branch.js +240 -0
  492. package/lib/models/MSC3089Branch.js.map +1 -0
  493. package/lib/models/MSC3089TreeSpace.d.ts +165 -0
  494. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
  495. package/lib/models/MSC3089TreeSpace.js +520 -0
  496. package/lib/models/MSC3089TreeSpace.js.map +1 -0
  497. package/lib/models/ToDeviceMessage.d.ts +17 -0
  498. package/lib/models/ToDeviceMessage.d.ts.map +1 -0
  499. package/lib/models/ToDeviceMessage.js +1 -0
  500. package/lib/models/ToDeviceMessage.js.map +1 -0
  501. package/lib/models/beacon.d.ts +53 -0
  502. package/lib/models/beacon.d.ts.map +1 -0
  503. package/lib/models/beacon.js +174 -0
  504. package/lib/models/beacon.js.map +1 -0
  505. package/lib/models/compare-event-ordering.d.ts +24 -0
  506. package/lib/models/compare-event-ordering.d.ts.map +1 -0
  507. package/lib/models/compare-event-ordering.js +120 -0
  508. package/lib/models/compare-event-ordering.js.map +1 -0
  509. package/lib/models/device.d.ts +45 -0
  510. package/lib/models/device.d.ts.map +1 -0
  511. package/lib/models/device.js +77 -0
  512. package/lib/models/device.js.map +1 -0
  513. package/lib/models/event-context.d.ts +62 -0
  514. package/lib/models/event-context.d.ts.map +1 -0
  515. package/lib/models/event-context.js +113 -0
  516. package/lib/models/event-context.js.map +1 -0
  517. package/lib/models/event-status.d.ts +19 -0
  518. package/lib/models/event-status.d.ts.map +1 -0
  519. package/lib/models/event-status.js +30 -0
  520. package/lib/models/event-status.js.map +1 -0
  521. package/lib/models/event-timeline-set.d.ts +312 -0
  522. package/lib/models/event-timeline-set.d.ts.map +1 -0
  523. package/lib/models/event-timeline-set.js +813 -0
  524. package/lib/models/event-timeline-set.js.map +1 -0
  525. package/lib/models/event-timeline.d.ts +219 -0
  526. package/lib/models/event-timeline.d.ts.map +1 -0
  527. package/lib/models/event-timeline.js +455 -0
  528. package/lib/models/event-timeline.js.map +1 -0
  529. package/lib/models/event.d.ts +811 -0
  530. package/lib/models/event.d.ts.map +1 -0
  531. package/lib/models/event.js +1520 -0
  532. package/lib/models/event.js.map +1 -0
  533. package/lib/models/invites-ignorer.d.ts +136 -0
  534. package/lib/models/invites-ignorer.d.ts.map +1 -0
  535. package/lib/models/invites-ignorer.js +382 -0
  536. package/lib/models/invites-ignorer.js.map +1 -0
  537. package/lib/models/poll.d.ts +67 -0
  538. package/lib/models/poll.d.ts.map +1 -0
  539. package/lib/models/poll.js +241 -0
  540. package/lib/models/poll.js.map +1 -0
  541. package/lib/models/profile-keys.d.ts +8 -0
  542. package/lib/models/profile-keys.d.ts.map +1 -0
  543. package/lib/models/profile-keys.js +8 -0
  544. package/lib/models/profile-keys.js.map +1 -0
  545. package/lib/models/read-receipt.d.ts +115 -0
  546. package/lib/models/read-receipt.d.ts.map +1 -0
  547. package/lib/models/read-receipt.js +366 -0
  548. package/lib/models/read-receipt.js.map +1 -0
  549. package/lib/models/related-relations.d.ts +11 -0
  550. package/lib/models/related-relations.d.ts.map +1 -0
  551. package/lib/models/related-relations.js +33 -0
  552. package/lib/models/related-relations.js.map +1 -0
  553. package/lib/models/relations-container.d.ts +44 -0
  554. package/lib/models/relations-container.d.ts.map +1 -0
  555. package/lib/models/relations-container.js +132 -0
  556. package/lib/models/relations-container.js.map +1 -0
  557. package/lib/models/relations.d.ts +114 -0
  558. package/lib/models/relations.d.ts.map +1 -0
  559. package/lib/models/relations.js +354 -0
  560. package/lib/models/relations.js.map +1 -0
  561. package/lib/models/room-member.d.ts +204 -0
  562. package/lib/models/room-member.d.ts.map +1 -0
  563. package/lib/models/room-member.js +360 -0
  564. package/lib/models/room-member.js.map +1 -0
  565. package/lib/models/room-receipts.d.ts +39 -0
  566. package/lib/models/room-receipts.d.ts.map +1 -0
  567. package/lib/models/room-receipts.js +392 -0
  568. package/lib/models/room-receipts.js.map +1 -0
  569. package/lib/models/room-state.d.ts +468 -0
  570. package/lib/models/room-state.d.ts.map +1 -0
  571. package/lib/models/room-state.js +984 -0
  572. package/lib/models/room-state.js.map +1 -0
  573. package/lib/models/room-summary.d.ts +29 -0
  574. package/lib/models/room-summary.d.ts.map +1 -0
  575. package/lib/models/room-summary.js +28 -0
  576. package/lib/models/room-summary.js.map +1 -0
  577. package/lib/models/room.d.ts +1203 -0
  578. package/lib/models/room.d.ts.map +1 -0
  579. package/lib/models/room.js +3336 -0
  580. package/lib/models/room.js.map +1 -0
  581. package/lib/models/search-result.d.ts +20 -0
  582. package/lib/models/search-result.d.ts.map +1 -0
  583. package/lib/models/search-result.js +52 -0
  584. package/lib/models/search-result.js.map +1 -0
  585. package/lib/models/thread.d.ts +246 -0
  586. package/lib/models/thread.d.ts.map +1 -0
  587. package/lib/models/thread.js +861 -0
  588. package/lib/models/thread.js.map +1 -0
  589. package/lib/models/typed-event-emitter.d.ts +157 -0
  590. package/lib/models/typed-event-emitter.d.ts.map +1 -0
  591. package/lib/models/typed-event-emitter.js +227 -0
  592. package/lib/models/typed-event-emitter.js.map +1 -0
  593. package/lib/models/user.d.ts +195 -0
  594. package/lib/models/user.d.ts.map +1 -0
  595. package/lib/models/user.js +218 -0
  596. package/lib/models/user.js.map +1 -0
  597. package/lib/oidc/authorize.d.ts +90 -0
  598. package/lib/oidc/authorize.d.ts.map +1 -0
  599. package/lib/oidc/authorize.js +278 -0
  600. package/lib/oidc/authorize.js.map +1 -0
  601. package/lib/oidc/discovery.d.ts +14 -0
  602. package/lib/oidc/discovery.d.ts.map +1 -0
  603. package/lib/oidc/discovery.js +66 -0
  604. package/lib/oidc/discovery.js.map +1 -0
  605. package/lib/oidc/error.d.ts +18 -0
  606. package/lib/oidc/error.d.ts.map +1 -0
  607. package/lib/oidc/error.js +35 -0
  608. package/lib/oidc/error.js.map +1 -0
  609. package/lib/oidc/index.d.ts +17 -0
  610. package/lib/oidc/index.d.ts.map +1 -0
  611. package/lib/oidc/index.js +29 -0
  612. package/lib/oidc/index.js.map +1 -0
  613. package/lib/oidc/register.d.ts +43 -0
  614. package/lib/oidc/register.d.ts.map +1 -0
  615. package/lib/oidc/register.js +96 -0
  616. package/lib/oidc/register.js.map +1 -0
  617. package/lib/oidc/tokenRefresher.d.ts +69 -0
  618. package/lib/oidc/tokenRefresher.d.ts.map +1 -0
  619. package/lib/oidc/tokenRefresher.js +148 -0
  620. package/lib/oidc/tokenRefresher.js.map +1 -0
  621. package/lib/oidc/validate.d.ts +90 -0
  622. package/lib/oidc/validate.d.ts.map +1 -0
  623. package/lib/oidc/validate.js +194 -0
  624. package/lib/oidc/validate.js.map +1 -0
  625. package/lib/pushprocessor.d.ts +128 -0
  626. package/lib/pushprocessor.d.ts.map +1 -0
  627. package/lib/pushprocessor.js +685 -0
  628. package/lib/pushprocessor.js.map +1 -0
  629. package/lib/randomstring.d.ts +5 -0
  630. package/lib/randomstring.d.ts.map +1 -0
  631. package/lib/randomstring.js +43 -0
  632. package/lib/randomstring.js.map +1 -0
  633. package/lib/realtime-callbacks.d.ts +18 -0
  634. package/lib/realtime-callbacks.d.ts.map +1 -0
  635. package/lib/realtime-callbacks.js +177 -0
  636. package/lib/realtime-callbacks.js.map +1 -0
  637. package/lib/receipt-accumulator.d.ts +51 -0
  638. package/lib/receipt-accumulator.d.ts.map +1 -0
  639. package/lib/receipt-accumulator.js +164 -0
  640. package/lib/receipt-accumulator.js.map +1 -0
  641. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
  642. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
  643. package/lib/rendezvous/MSC4108SignInWithQR.js +392 -0
  644. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
  645. package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
  646. package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
  647. package/lib/rendezvous/RendezvousChannel.js +1 -0
  648. package/lib/rendezvous/RendezvousChannel.js.map +1 -0
  649. package/lib/rendezvous/RendezvousCode.d.ts +9 -0
  650. package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
  651. package/lib/rendezvous/RendezvousCode.js +1 -0
  652. package/lib/rendezvous/RendezvousCode.js.map +1 -0
  653. package/lib/rendezvous/RendezvousError.d.ts +6 -0
  654. package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
  655. package/lib/rendezvous/RendezvousError.js +23 -0
  656. package/lib/rendezvous/RendezvousError.js.map +1 -0
  657. package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
  658. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
  659. package/lib/rendezvous/RendezvousFailureReason.js +38 -0
  660. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
  661. package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
  662. package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
  663. package/lib/rendezvous/RendezvousIntent.js +22 -0
  664. package/lib/rendezvous/RendezvousIntent.js.map +1 -0
  665. package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
  666. package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
  667. package/lib/rendezvous/RendezvousTransport.js +1 -0
  668. package/lib/rendezvous/RendezvousTransport.js.map +1 -0
  669. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
  670. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
  671. package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
  672. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
  673. package/lib/rendezvous/channels/index.d.ts +2 -0
  674. package/lib/rendezvous/channels/index.d.ts.map +1 -0
  675. package/lib/rendezvous/channels/index.js +18 -0
  676. package/lib/rendezvous/channels/index.js.map +1 -0
  677. package/lib/rendezvous/index.d.ts +10 -0
  678. package/lib/rendezvous/index.d.ts.map +1 -0
  679. package/lib/rendezvous/index.js +23 -0
  680. package/lib/rendezvous/index.js.map +1 -0
  681. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
  682. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
  683. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +253 -0
  684. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
  685. package/lib/rendezvous/transports/index.d.ts +2 -0
  686. package/lib/rendezvous/transports/index.d.ts.map +1 -0
  687. package/lib/rendezvous/transports/index.js +18 -0
  688. package/lib/rendezvous/transports/index.js.map +1 -0
  689. package/lib/room-hierarchy.d.ts +35 -0
  690. package/lib/room-hierarchy.d.ts.map +1 -0
  691. package/lib/room-hierarchy.js +136 -0
  692. package/lib/room-hierarchy.js.map +1 -0
  693. package/lib/rust-crypto/CrossSigningIdentity.d.ts +33 -0
  694. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
  695. package/lib/rust-crypto/CrossSigningIdentity.js +157 -0
  696. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
  697. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +98 -0
  698. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
  699. package/lib/rust-crypto/DehydratedDeviceManager.js +285 -0
  700. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
  701. package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
  702. package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
  703. package/lib/rust-crypto/KeyClaimManager.js +82 -0
  704. package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
  705. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +43 -0
  706. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
  707. package/lib/rust-crypto/OutgoingRequestProcessor.js +195 -0
  708. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
  709. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
  710. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
  711. package/lib/rust-crypto/OutgoingRequestsManager.js +148 -0
  712. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
  713. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
  714. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
  715. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +467 -0
  716. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
  717. package/lib/rust-crypto/RoomEncryptor.d.ts +98 -0
  718. package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
  719. package/lib/rust-crypto/RoomEncryptor.js +299 -0
  720. package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
  721. package/lib/rust-crypto/backup.d.ts +254 -0
  722. package/lib/rust-crypto/backup.d.ts.map +1 -0
  723. package/lib/rust-crypto/backup.js +837 -0
  724. package/lib/rust-crypto/backup.js.map +1 -0
  725. package/lib/rust-crypto/constants.d.ts +3 -0
  726. package/lib/rust-crypto/constants.d.ts.map +1 -0
  727. package/lib/rust-crypto/constants.js +19 -0
  728. package/lib/rust-crypto/constants.js.map +1 -0
  729. package/lib/rust-crypto/device-converter.d.ts +28 -0
  730. package/lib/rust-crypto/device-converter.d.ts.map +1 -0
  731. package/lib/rust-crypto/device-converter.js +123 -0
  732. package/lib/rust-crypto/device-converter.js.map +1 -0
  733. package/lib/rust-crypto/index.d.ts +61 -0
  734. package/lib/rust-crypto/index.d.ts.map +1 -0
  735. package/lib/rust-crypto/index.js +152 -0
  736. package/lib/rust-crypto/index.js.map +1 -0
  737. package/lib/rust-crypto/libolm_migration.d.ts +81 -0
  738. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
  739. package/lib/rust-crypto/libolm_migration.js +459 -0
  740. package/lib/rust-crypto/libolm_migration.js.map +1 -0
  741. package/lib/rust-crypto/rust-crypto.d.ts +556 -0
  742. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
  743. package/lib/rust-crypto/rust-crypto.js +2016 -0
  744. package/lib/rust-crypto/rust-crypto.js.map +1 -0
  745. package/lib/rust-crypto/secret-storage.d.ts +22 -0
  746. package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
  747. package/lib/rust-crypto/secret-storage.js +63 -0
  748. package/lib/rust-crypto/secret-storage.js.map +1 -0
  749. package/lib/rust-crypto/verification.d.ts +319 -0
  750. package/lib/rust-crypto/verification.d.ts.map +1 -0
  751. package/lib/rust-crypto/verification.js +816 -0
  752. package/lib/rust-crypto/verification.js.map +1 -0
  753. package/lib/scheduler.d.ts +132 -0
  754. package/lib/scheduler.d.ts.map +1 -0
  755. package/lib/scheduler.js +259 -0
  756. package/lib/scheduler.js.map +1 -0
  757. package/lib/secret-storage.d.ts +370 -0
  758. package/lib/secret-storage.d.ts.map +1 -0
  759. package/lib/secret-storage.js +466 -0
  760. package/lib/secret-storage.js.map +1 -0
  761. package/lib/serverCapabilities.d.ts +72 -0
  762. package/lib/serverCapabilities.d.ts.map +1 -0
  763. package/lib/serverCapabilities.js +105 -0
  764. package/lib/serverCapabilities.js.map +1 -0
  765. package/lib/service-types.d.ts +5 -0
  766. package/lib/service-types.d.ts.map +1 -0
  767. package/lib/service-types.js +22 -0
  768. package/lib/service-types.js.map +1 -0
  769. package/lib/sliding-sync-sdk.d.ts +107 -0
  770. package/lib/sliding-sync-sdk.d.ts.map +1 -0
  771. package/lib/sliding-sync-sdk.js +903 -0
  772. package/lib/sliding-sync-sdk.js.map +1 -0
  773. package/lib/sliding-sync.d.ts +343 -0
  774. package/lib/sliding-sync.d.ts.map +1 -0
  775. package/lib/sliding-sync.js +817 -0
  776. package/lib/sliding-sync.js.map +1 -0
  777. package/lib/store/index.d.ts +201 -0
  778. package/lib/store/index.d.ts.map +1 -0
  779. package/lib/store/index.js +1 -0
  780. package/lib/store/index.js.map +1 -0
  781. package/lib/store/indexeddb-backend.d.ts +24 -0
  782. package/lib/store/indexeddb-backend.d.ts.map +1 -0
  783. package/lib/store/indexeddb-backend.js +1 -0
  784. package/lib/store/indexeddb-backend.js.map +1 -0
  785. package/lib/store/indexeddb-local-backend.d.ts +129 -0
  786. package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
  787. package/lib/store/indexeddb-local-backend.js +597 -0
  788. package/lib/store/indexeddb-local-backend.js.map +1 -0
  789. package/lib/store/indexeddb-remote-backend.d.ts +79 -0
  790. package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
  791. package/lib/store/indexeddb-remote-backend.js +210 -0
  792. package/lib/store/indexeddb-remote-backend.js.map +1 -0
  793. package/lib/store/indexeddb-store-worker.d.ts +35 -0
  794. package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
  795. package/lib/store/indexeddb-store-worker.js +146 -0
  796. package/lib/store/indexeddb-store-worker.js.map +1 -0
  797. package/lib/store/indexeddb.d.ts +142 -0
  798. package/lib/store/indexeddb.d.ts.map +1 -0
  799. package/lib/store/indexeddb.js +347 -0
  800. package/lib/store/indexeddb.js.map +1 -0
  801. package/lib/store/local-storage-events-emitter.d.ts +30 -0
  802. package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
  803. package/lib/store/local-storage-events-emitter.js +37 -0
  804. package/lib/store/local-storage-events-emitter.js.map +1 -0
  805. package/lib/store/memory.d.ts +209 -0
  806. package/lib/store/memory.d.ts.map +1 -0
  807. package/lib/store/memory.js +432 -0
  808. package/lib/store/memory.js.map +1 -0
  809. package/lib/store/stub.d.ts +161 -0
  810. package/lib/store/stub.d.ts.map +1 -0
  811. package/lib/store/stub.js +268 -0
  812. package/lib/store/stub.js.map +1 -0
  813. package/lib/sync-accumulator.d.ts +172 -0
  814. package/lib/sync-accumulator.d.ts.map +1 -0
  815. package/lib/sync-accumulator.js +532 -0
  816. package/lib/sync-accumulator.js.map +1 -0
  817. package/lib/sync.d.ts +260 -0
  818. package/lib/sync.d.ts.map +1 -0
  819. package/lib/sync.js +1686 -0
  820. package/lib/sync.js.map +1 -0
  821. package/lib/testing.d.ts +81 -0
  822. package/lib/testing.d.ts.map +1 -0
  823. package/lib/testing.js +162 -0
  824. package/lib/testing.js.map +1 -0
  825. package/lib/thread-utils.d.ts +10 -0
  826. package/lib/thread-utils.d.ts.map +1 -0
  827. package/lib/thread-utils.js +31 -0
  828. package/lib/thread-utils.js.map +1 -0
  829. package/lib/timeline-window.d.ts +168 -0
  830. package/lib/timeline-window.d.ts.map +1 -0
  831. package/lib/timeline-window.js +494 -0
  832. package/lib/timeline-window.js.map +1 -0
  833. package/lib/types.d.ts +33 -0
  834. package/lib/types.d.ts.map +1 -0
  835. package/lib/types.js +33 -0
  836. package/lib/types.js.map +1 -0
  837. package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
  838. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
  839. package/lib/utils/decryptAESSecretStorageItem.js +50 -0
  840. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
  841. package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
  842. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
  843. package/lib/utils/encryptAESSecretStorageItem.js +68 -0
  844. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
  845. package/lib/utils/internal/deriveKeys.d.ts +10 -0
  846. package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
  847. package/lib/utils/internal/deriveKeys.js +60 -0
  848. package/lib/utils/internal/deriveKeys.js.map +1 -0
  849. package/lib/utils.d.ts +267 -0
  850. package/lib/utils.d.ts.map +1 -0
  851. package/lib/utils.js +749 -0
  852. package/lib/utils.js.map +1 -0
  853. package/lib/version-support.d.ts +19 -0
  854. package/lib/version-support.d.ts.map +1 -0
  855. package/lib/version-support.js +37 -0
  856. package/lib/version-support.js.map +1 -0
  857. package/lib/webrtc/audioContext.d.ts +15 -0
  858. package/lib/webrtc/audioContext.d.ts.map +1 -0
  859. package/lib/webrtc/audioContext.js +46 -0
  860. package/lib/webrtc/audioContext.js.map +1 -0
  861. package/lib/webrtc/call.d.ts +560 -0
  862. package/lib/webrtc/call.d.ts.map +1 -0
  863. package/lib/webrtc/call.js +2541 -0
  864. package/lib/webrtc/call.js.map +1 -0
  865. package/lib/webrtc/callEventHandler.d.ts +37 -0
  866. package/lib/webrtc/callEventHandler.d.ts.map +1 -0
  867. package/lib/webrtc/callEventHandler.js +344 -0
  868. package/lib/webrtc/callEventHandler.js.map +1 -0
  869. package/lib/webrtc/callEventTypes.d.ts +73 -0
  870. package/lib/webrtc/callEventTypes.d.ts.map +1 -0
  871. package/lib/webrtc/callEventTypes.js +13 -0
  872. package/lib/webrtc/callEventTypes.js.map +1 -0
  873. package/lib/webrtc/callFeed.d.ts +128 -0
  874. package/lib/webrtc/callFeed.d.ts.map +1 -0
  875. package/lib/webrtc/callFeed.js +289 -0
  876. package/lib/webrtc/callFeed.js.map +1 -0
  877. package/lib/webrtc/groupCall.d.ts +323 -0
  878. package/lib/webrtc/groupCall.d.ts.map +1 -0
  879. package/lib/webrtc/groupCall.js +1337 -0
  880. package/lib/webrtc/groupCall.js.map +1 -0
  881. package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
  882. package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
  883. package/lib/webrtc/groupCallEventHandler.js +178 -0
  884. package/lib/webrtc/groupCallEventHandler.js.map +1 -0
  885. package/lib/webrtc/mediaHandler.d.ts +89 -0
  886. package/lib/webrtc/mediaHandler.d.ts.map +1 -0
  887. package/lib/webrtc/mediaHandler.js +437 -0
  888. package/lib/webrtc/mediaHandler.js.map +1 -0
  889. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
  890. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
  891. package/lib/webrtc/stats/callFeedStatsReporter.js +82 -0
  892. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
  893. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
  894. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
  895. package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
  896. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
  897. package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
  898. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
  899. package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
  900. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
  901. package/lib/webrtc/stats/connectionStats.d.ts +28 -0
  902. package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
  903. package/lib/webrtc/stats/connectionStats.js +26 -0
  904. package/lib/webrtc/stats/connectionStats.js.map +1 -0
  905. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
  906. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
  907. package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
  908. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
  909. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
  910. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
  911. package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
  912. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
  913. package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
  914. package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
  915. package/lib/webrtc/stats/groupCallStats.js +78 -0
  916. package/lib/webrtc/stats/groupCallStats.js.map +1 -0
  917. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
  918. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
  919. package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
  920. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
  921. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
  922. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
  923. package/lib/webrtc/stats/media/mediaTrackHandler.js +62 -0
  924. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
  925. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
  926. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
  927. package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
  928. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
  929. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
  930. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
  931. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
  932. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
  933. package/lib/webrtc/stats/statsReport.d.ts +99 -0
  934. package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
  935. package/lib/webrtc/stats/statsReport.js +32 -0
  936. package/lib/webrtc/stats/statsReport.js.map +1 -0
  937. package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
  938. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
  939. package/lib/webrtc/stats/statsReportEmitter.js +33 -0
  940. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
  941. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
  942. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
  943. package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
  944. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
  945. package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
  946. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
  947. package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
  948. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
  949. package/lib/webrtc/stats/transportStats.d.ts +11 -0
  950. package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
  951. package/lib/webrtc/stats/transportStats.js +1 -0
  952. package/lib/webrtc/stats/transportStats.js.map +1 -0
  953. package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
  954. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
  955. package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
  956. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
  957. package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
  958. package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
  959. package/lib/webrtc/stats/valueFormatter.js +25 -0
  960. package/lib/webrtc/stats/valueFormatter.js.map +1 -0
  961. package/package.json +134 -0
  962. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
  963. package/src/@types/IIdentityServerProvider.ts +24 -0
  964. package/src/@types/PushRules.ts +209 -0
  965. package/src/@types/another-json.d.ts +19 -0
  966. package/src/@types/auth.ts +252 -0
  967. package/src/@types/beacon.ts +140 -0
  968. package/src/@types/common.ts +22 -0
  969. package/src/@types/crypto.ts +73 -0
  970. package/src/@types/event.ts +370 -0
  971. package/src/@types/events.ts +119 -0
  972. package/src/@types/extensible_events.ts +150 -0
  973. package/src/@types/global.d.ts +70 -0
  974. package/src/@types/local_notifications.ts +19 -0
  975. package/src/@types/location.ts +92 -0
  976. package/src/@types/matrix-sdk-crypto-wasm.d.ts +44 -0
  977. package/src/@types/media.ts +245 -0
  978. package/src/@types/membership.ts +57 -0
  979. package/src/@types/oidc-client-ts.d.ts +24 -0
  980. package/src/@types/partials.ts +67 -0
  981. package/src/@types/polls.ts +119 -0
  982. package/src/@types/read_receipts.ts +61 -0
  983. package/src/@types/registration.ts +102 -0
  984. package/src/@types/requests.ts +314 -0
  985. package/src/@types/search.ts +119 -0
  986. package/src/@types/signed.ts +25 -0
  987. package/src/@types/spaces.ts +37 -0
  988. package/src/@types/state_events.ts +147 -0
  989. package/src/@types/synapse.ts +40 -0
  990. package/src/@types/sync.ts +27 -0
  991. package/src/@types/threepids.ts +29 -0
  992. package/src/@types/topic.ts +63 -0
  993. package/src/@types/uia.ts +29 -0
  994. package/src/NamespacedValue.ts +123 -0
  995. package/src/ReEmitter.ts +93 -0
  996. package/src/ToDeviceMessageQueue.ts +153 -0
  997. package/src/autodiscovery.ts +505 -0
  998. package/src/base64.ts +88 -0
  999. package/src/browser-index.ts +44 -0
  1000. package/src/client.ts +10474 -0
  1001. package/src/common-crypto/CryptoBackend.ts +302 -0
  1002. package/src/common-crypto/README.md +4 -0
  1003. package/src/common-crypto/key-passphrase.ts +43 -0
  1004. package/src/content-helpers.ts +288 -0
  1005. package/src/content-repo.ts +117 -0
  1006. package/src/crypto/CrossSigning.ts +773 -0
  1007. package/src/crypto/DeviceList.ts +989 -0
  1008. package/src/crypto/EncryptionSetup.ts +351 -0
  1009. package/src/crypto/OlmDevice.ts +1500 -0
  1010. package/src/crypto/OutgoingRoomKeyRequestManager.ts +485 -0
  1011. package/src/crypto/RoomList.ts +70 -0
  1012. package/src/crypto/SecretSharing.ts +240 -0
  1013. package/src/crypto/SecretStorage.ts +136 -0
  1014. package/src/crypto/aes.ts +23 -0
  1015. package/src/crypto/algorithms/base.ts +236 -0
  1016. package/src/crypto/algorithms/index.ts +20 -0
  1017. package/src/crypto/algorithms/megolm.ts +2216 -0
  1018. package/src/crypto/algorithms/olm.ts +381 -0
  1019. package/src/crypto/api.ts +70 -0
  1020. package/src/crypto/backup.ts +922 -0
  1021. package/src/crypto/crypto.ts +18 -0
  1022. package/src/crypto/dehydration.ts +272 -0
  1023. package/src/crypto/device-converter.ts +45 -0
  1024. package/src/crypto/deviceinfo.ts +158 -0
  1025. package/src/crypto/index.ts +4414 -0
  1026. package/src/crypto/key_passphrase.ts +42 -0
  1027. package/src/crypto/keybackup.ts +47 -0
  1028. package/src/crypto/olmlib.ts +539 -0
  1029. package/src/crypto/recoverykey.ts +18 -0
  1030. package/src/crypto/store/base.ts +348 -0
  1031. package/src/crypto/store/indexeddb-crypto-store-backend.ts +1250 -0
  1032. package/src/crypto/store/indexeddb-crypto-store.ts +845 -0
  1033. package/src/crypto/store/localStorage-crypto-store.ts +579 -0
  1034. package/src/crypto/store/memory-crypto-store.ts +680 -0
  1035. package/src/crypto/verification/Base.ts +409 -0
  1036. package/src/crypto/verification/Error.ts +76 -0
  1037. package/src/crypto/verification/IllegalMethod.ts +50 -0
  1038. package/src/crypto/verification/QRCode.ts +310 -0
  1039. package/src/crypto/verification/SAS.ts +494 -0
  1040. package/src/crypto/verification/SASDecimal.ts +37 -0
  1041. package/src/crypto/verification/request/Channel.ts +34 -0
  1042. package/src/crypto/verification/request/InRoomChannel.ts +371 -0
  1043. package/src/crypto/verification/request/ToDeviceChannel.ts +354 -0
  1044. package/src/crypto/verification/request/VerificationRequest.ts +976 -0
  1045. package/src/crypto-api/CryptoEvent.ts +93 -0
  1046. package/src/crypto-api/CryptoEventHandlerMap.ts +32 -0
  1047. package/src/crypto-api/index.ts +1175 -0
  1048. package/src/crypto-api/key-passphrase.ts +58 -0
  1049. package/src/crypto-api/keybackup.ts +115 -0
  1050. package/src/crypto-api/recovery-key.ts +69 -0
  1051. package/src/crypto-api/verification.ts +408 -0
  1052. package/src/digest.ts +34 -0
  1053. package/src/embedded.ts +631 -0
  1054. package/src/errors.ts +54 -0
  1055. package/src/event-mapper.ts +97 -0
  1056. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
  1057. package/src/extensible_events_v1/InvalidEventError.ts +24 -0
  1058. package/src/extensible_events_v1/MessageEvent.ts +145 -0
  1059. package/src/extensible_events_v1/PollEndEvent.ts +97 -0
  1060. package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
  1061. package/src/extensible_events_v1/PollStartEvent.ts +207 -0
  1062. package/src/extensible_events_v1/utilities.ts +35 -0
  1063. package/src/feature.ts +87 -0
  1064. package/src/filter-component.ts +207 -0
  1065. package/src/filter.ts +245 -0
  1066. package/src/http-api/errors.ts +199 -0
  1067. package/src/http-api/fetch.ts +383 -0
  1068. package/src/http-api/index.ts +191 -0
  1069. package/src/http-api/interface.ts +178 -0
  1070. package/src/http-api/method.ts +25 -0
  1071. package/src/http-api/prefix.ts +48 -0
  1072. package/src/http-api/utils.ts +200 -0
  1073. package/src/index.ts +25 -0
  1074. package/src/indexeddb-helpers.ts +50 -0
  1075. package/src/indexeddb-worker.ts +24 -0
  1076. package/src/interactive-auth.ts +694 -0
  1077. package/src/logger.ts +185 -0
  1078. package/src/matrix.ts +177 -0
  1079. package/src/matrixrtc/CallMembership.ts +247 -0
  1080. package/src/matrixrtc/LivekitFocus.ts +39 -0
  1081. package/src/matrixrtc/MatrixRTCSession.ts +1319 -0
  1082. package/src/matrixrtc/MatrixRTCSessionManager.ts +166 -0
  1083. package/src/matrixrtc/focus.ts +25 -0
  1084. package/src/matrixrtc/index.ts +22 -0
  1085. package/src/matrixrtc/types.ts +36 -0
  1086. package/src/models/MSC3089Branch.ts +272 -0
  1087. package/src/models/MSC3089TreeSpace.ts +565 -0
  1088. package/src/models/ToDeviceMessage.ts +38 -0
  1089. package/src/models/beacon.ts +214 -0
  1090. package/src/models/compare-event-ordering.ts +139 -0
  1091. package/src/models/device.ts +85 -0
  1092. package/src/models/event-context.ts +110 -0
  1093. package/src/models/event-status.ts +39 -0
  1094. package/src/models/event-timeline-set.ts +979 -0
  1095. package/src/models/event-timeline.ts +476 -0
  1096. package/src/models/event.ts +1751 -0
  1097. package/src/models/invites-ignorer.ts +376 -0
  1098. package/src/models/poll.ts +285 -0
  1099. package/src/models/profile-keys.ts +7 -0
  1100. package/src/models/read-receipt.ts +422 -0
  1101. package/src/models/related-relations.ts +39 -0
  1102. package/src/models/relations-container.ts +149 -0
  1103. package/src/models/relations.ts +368 -0
  1104. package/src/models/room-member.ts +457 -0
  1105. package/src/models/room-receipts.ts +439 -0
  1106. package/src/models/room-state.ts +1130 -0
  1107. package/src/models/room-summary.ts +47 -0
  1108. package/src/models/room.ts +3822 -0
  1109. package/src/models/search-result.ts +57 -0
  1110. package/src/models/thread.ts +923 -0
  1111. package/src/models/typed-event-emitter.ts +246 -0
  1112. package/src/models/user.ts +302 -0
  1113. package/src/oidc/authorize.ts +274 -0
  1114. package/src/oidc/discovery.ts +60 -0
  1115. package/src/oidc/error.ts +33 -0
  1116. package/src/oidc/index.ts +34 -0
  1117. package/src/oidc/register.ts +123 -0
  1118. package/src/oidc/tokenRefresher.ts +149 -0
  1119. package/src/oidc/validate.ts +282 -0
  1120. package/src/pushprocessor.ts +837 -0
  1121. package/src/randomstring.ts +51 -0
  1122. package/src/realtime-callbacks.ts +191 -0
  1123. package/src/receipt-accumulator.ts +189 -0
  1124. package/src/rendezvous/MSC4108SignInWithQR.ts +444 -0
  1125. package/src/rendezvous/RendezvousChannel.ts +48 -0
  1126. package/src/rendezvous/RendezvousCode.ts +25 -0
  1127. package/src/rendezvous/RendezvousError.ts +26 -0
  1128. package/src/rendezvous/RendezvousFailureReason.ts +49 -0
  1129. package/src/rendezvous/RendezvousIntent.ts +20 -0
  1130. package/src/rendezvous/RendezvousTransport.ts +58 -0
  1131. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
  1132. package/src/rendezvous/channels/index.ts +17 -0
  1133. package/src/rendezvous/index.ts +25 -0
  1134. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +270 -0
  1135. package/src/rendezvous/transports/index.ts +17 -0
  1136. package/src/room-hierarchy.ts +152 -0
  1137. package/src/rust-crypto/CrossSigningIdentity.ts +183 -0
  1138. package/src/rust-crypto/DehydratedDeviceManager.ts +306 -0
  1139. package/src/rust-crypto/KeyClaimManager.ts +86 -0
  1140. package/src/rust-crypto/OutgoingRequestProcessor.ts +236 -0
  1141. package/src/rust-crypto/OutgoingRequestsManager.ts +143 -0
  1142. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
  1143. package/src/rust-crypto/RoomEncryptor.ts +352 -0
  1144. package/src/rust-crypto/backup.ts +881 -0
  1145. package/src/rust-crypto/constants.ts +18 -0
  1146. package/src/rust-crypto/device-converter.ts +128 -0
  1147. package/src/rust-crypto/index.ts +237 -0
  1148. package/src/rust-crypto/libolm_migration.ts +530 -0
  1149. package/src/rust-crypto/rust-crypto.ts +2205 -0
  1150. package/src/rust-crypto/secret-storage.ts +60 -0
  1151. package/src/rust-crypto/verification.ts +830 -0
  1152. package/src/scheduler.ts +309 -0
  1153. package/src/secret-storage.ts +693 -0
  1154. package/src/serverCapabilities.ts +139 -0
  1155. package/src/service-types.ts +20 -0
  1156. package/src/sliding-sync-sdk.ts +1026 -0
  1157. package/src/sliding-sync.ts +965 -0
  1158. package/src/store/index.ts +261 -0
  1159. package/src/store/indexeddb-backend.ts +41 -0
  1160. package/src/store/indexeddb-local-backend.ts +610 -0
  1161. package/src/store/indexeddb-remote-backend.ts +213 -0
  1162. package/src/store/indexeddb-store-worker.ts +157 -0
  1163. package/src/store/indexeddb.ts +397 -0
  1164. package/src/store/local-storage-events-emitter.ts +46 -0
  1165. package/src/store/memory.ts +448 -0
  1166. package/src/store/stub.ts +280 -0
  1167. package/src/sync-accumulator.ts +689 -0
  1168. package/src/sync.ts +1920 -0
  1169. package/src/testing.ts +191 -0
  1170. package/src/thread-utils.ts +31 -0
  1171. package/src/timeline-window.ts +536 -0
  1172. package/src/types.ts +59 -0
  1173. package/src/utils/decryptAESSecretStorageItem.ts +54 -0
  1174. package/src/utils/encryptAESSecretStorageItem.ts +73 -0
  1175. package/src/utils/internal/deriveKeys.ts +63 -0
  1176. package/src/utils.ts +763 -0
  1177. package/src/version-support.ts +36 -0
  1178. package/src/webrtc/audioContext.ts +44 -0
  1179. package/src/webrtc/call.ts +3074 -0
  1180. package/src/webrtc/callEventHandler.ts +425 -0
  1181. package/src/webrtc/callEventTypes.ts +93 -0
  1182. package/src/webrtc/callFeed.ts +364 -0
  1183. package/src/webrtc/groupCall.ts +1735 -0
  1184. package/src/webrtc/groupCallEventHandler.ts +234 -0
  1185. package/src/webrtc/mediaHandler.ts +484 -0
  1186. package/src/webrtc/stats/callFeedStatsReporter.ts +94 -0
  1187. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
  1188. package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
  1189. package/src/webrtc/stats/connectionStats.ts +47 -0
  1190. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
  1191. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
  1192. package/src/webrtc/stats/groupCallStats.ts +93 -0
  1193. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
  1194. package/src/webrtc/stats/media/mediaTrackHandler.ts +76 -0
  1195. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
  1196. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
  1197. package/src/webrtc/stats/statsReport.ts +133 -0
  1198. package/src/webrtc/stats/statsReportEmitter.ts +49 -0
  1199. package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
  1200. package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
  1201. package/src/webrtc/stats/transportStats.ts +26 -0
  1202. package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
  1203. package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,33 @@
1
+ import { Optional } from "matrix-events-sdk/lib/types";
2
+ /**
3
+ * Represents a simple Matrix namespaced value. This will assume that if a stable prefix
4
+ * is provided that the stable prefix should be used when representing the identifier.
5
+ */
6
+ export declare class NamespacedValue<S extends string, U extends string> {
7
+ readonly stable?: (S | null) | undefined;
8
+ readonly unstable?: U | undefined;
9
+ constructor(stable: S, unstable: U);
10
+ constructor(stable: S, unstable?: U);
11
+ constructor(stable: null | undefined, unstable: U);
12
+ get name(): U | S;
13
+ get altName(): U | S | null | undefined;
14
+ get names(): (U | S)[];
15
+ matches(val: string): boolean;
16
+ findIn<T>(obj: any): Optional<T>;
17
+ includedIn(arr: any[]): boolean;
18
+ }
19
+ export declare class ServerControlledNamespacedValue<S extends string, U extends string> extends NamespacedValue<S, U> {
20
+ private preferUnstable;
21
+ setPreferUnstable(preferUnstable: boolean): void;
22
+ get name(): U | S;
23
+ }
24
+ /**
25
+ * Represents a namespaced value which prioritizes the unstable value over the stable
26
+ * value.
27
+ */
28
+ export declare class UnstableValue<S extends string, U extends string> extends NamespacedValue<S, U> {
29
+ constructor(stable: S, unstable: U);
30
+ get name(): U;
31
+ get altName(): S;
32
+ }
33
+ //# sourceMappingURL=NamespacedValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamespacedValue.d.ts","sourceRoot":"","sources":["../src/NamespacedValue.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM;aAOvC,MAAM,CAAC,GAAE,CAAC,GAAG,IAAI;aACjB,QAAQ,CAAC,EAAE,CAAC;gBALb,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;gBACtB,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACvB,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC;IAUxD,IAAW,IAAI,IAAI,CAAC,GAAG,CAAC,CAKvB;IAED,IAAW,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAK7C;IAED,IAAW,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAK5B;IAEM,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAM7B,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;IAWhC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO;CAUzC;AAED,qBAAa,+BAA+B,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1G,OAAO,CAAC,cAAc,CAAS;IAExB,iBAAiB,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI;IAIvD,IAAW,IAAI,IAAI,CAAC,GAAG,CAAC,CAKvB;CACJ;AAED;;;GAGG;AACH,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;gBAErE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAOzC,IAAW,IAAI,IAAI,CAAC,CAEnB;IAED,IAAW,OAAO,IAAI,CAAC,CAEtB;CACJ"}
@@ -0,0 +1,113 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ /*
3
+ Copyright 2021 - 2022 The Matrix.org Foundation C.I.C.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
16
+ */
17
+
18
+ /**
19
+ * Represents a simple Matrix namespaced value. This will assume that if a stable prefix
20
+ * is provided that the stable prefix should be used when representing the identifier.
21
+ */
22
+ export class NamespacedValue {
23
+ // Stable is optional, but one of the two parameters is required, hence the weird-looking types.
24
+ // Goal is to to have developers explicitly say there is no stable value (if applicable).
25
+
26
+ constructor(stable, unstable) {
27
+ this.stable = stable;
28
+ this.unstable = unstable;
29
+ if (!this.unstable && !this.stable) {
30
+ throw new Error("One of stable or unstable values must be supplied");
31
+ }
32
+ }
33
+ get name() {
34
+ if (this.stable) {
35
+ return this.stable;
36
+ }
37
+ return this.unstable;
38
+ }
39
+ get altName() {
40
+ if (!this.stable) {
41
+ return null;
42
+ }
43
+ return this.unstable;
44
+ }
45
+ get names() {
46
+ var names = [this.name];
47
+ var altName = this.altName;
48
+ if (altName) names.push(altName);
49
+ return names;
50
+ }
51
+ matches(val) {
52
+ return this.name === val || this.altName === val;
53
+ }
54
+
55
+ // this desperately wants https://github.com/microsoft/TypeScript/pull/26349 at the top level of the class
56
+ // so we can instantiate `NamespacedValue<string, _, _>` as a default type for that namespace.
57
+ findIn(obj) {
58
+ var val = undefined;
59
+ if (this.name) {
60
+ val = obj === null || obj === void 0 ? void 0 : obj[this.name];
61
+ }
62
+ if (!val && this.altName) {
63
+ val = obj === null || obj === void 0 ? void 0 : obj[this.altName];
64
+ }
65
+ return val;
66
+ }
67
+ includedIn(arr) {
68
+ var included = false;
69
+ if (this.name) {
70
+ included = arr.includes(this.name);
71
+ }
72
+ if (!included && this.altName) {
73
+ included = arr.includes(this.altName);
74
+ }
75
+ return included;
76
+ }
77
+ }
78
+ export class ServerControlledNamespacedValue extends NamespacedValue {
79
+ constructor() {
80
+ super(...arguments);
81
+ _defineProperty(this, "preferUnstable", false);
82
+ }
83
+ setPreferUnstable(preferUnstable) {
84
+ this.preferUnstable = preferUnstable;
85
+ }
86
+ get name() {
87
+ if (this.stable && !this.preferUnstable) {
88
+ return this.stable;
89
+ }
90
+ return this.unstable;
91
+ }
92
+ }
93
+
94
+ /**
95
+ * Represents a namespaced value which prioritizes the unstable value over the stable
96
+ * value.
97
+ */
98
+ export class UnstableValue extends NamespacedValue {
99
+ // Note: Constructor difference is that `unstable` is *required*.
100
+ constructor(stable, unstable) {
101
+ super(stable, unstable);
102
+ if (!this.unstable) {
103
+ throw new Error("Unstable value must be supplied");
104
+ }
105
+ }
106
+ get name() {
107
+ return this.unstable;
108
+ }
109
+ get altName() {
110
+ return this.stable;
111
+ }
112
+ }
113
+ //# sourceMappingURL=NamespacedValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NamespacedValue.js","names":["NamespacedValue","constructor","stable","unstable","Error","name","altName","names","push","matches","val","findIn","obj","undefined","includedIn","arr","included","includes","ServerControlledNamespacedValue","arguments","_defineProperty","setPreferUnstable","preferUnstable","UnstableValue"],"sources":["../src/NamespacedValue.ts"],"sourcesContent":["/*\nCopyright 2021 - 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { Optional } from \"matrix-events-sdk/lib/types\";\n\n/**\n * Represents a simple Matrix namespaced value. This will assume that if a stable prefix\n * is provided that the stable prefix should be used when representing the identifier.\n */\nexport class NamespacedValue<S extends string, U extends string> {\n // Stable is optional, but one of the two parameters is required, hence the weird-looking types.\n // Goal is to to have developers explicitly say there is no stable value (if applicable).\n public constructor(stable: S, unstable: U);\n public constructor(stable: S, unstable?: U);\n public constructor(stable: null | undefined, unstable: U);\n public constructor(\n public readonly stable?: S | null,\n public readonly unstable?: U,\n ) {\n if (!this.unstable && !this.stable) {\n throw new Error(\"One of stable or unstable values must be supplied\");\n }\n }\n\n public get name(): U | S {\n if (this.stable) {\n return this.stable;\n }\n return this.unstable!;\n }\n\n public get altName(): U | S | null | undefined {\n if (!this.stable) {\n return null;\n }\n return this.unstable;\n }\n\n public get names(): (U | S)[] {\n const names = [this.name];\n const altName = this.altName;\n if (altName) names.push(altName);\n return names;\n }\n\n public matches(val: string): boolean {\n return this.name === val || this.altName === val;\n }\n\n // this desperately wants https://github.com/microsoft/TypeScript/pull/26349 at the top level of the class\n // so we can instantiate `NamespacedValue<string, _, _>` as a default type for that namespace.\n public findIn<T>(obj: any): Optional<T> {\n let val: T | undefined = undefined;\n if (this.name) {\n val = obj?.[this.name];\n }\n if (!val && this.altName) {\n val = obj?.[this.altName];\n }\n return val;\n }\n\n public includedIn(arr: any[]): boolean {\n let included = false;\n if (this.name) {\n included = arr.includes(this.name);\n }\n if (!included && this.altName) {\n included = arr.includes(this.altName);\n }\n return included;\n }\n}\n\nexport class ServerControlledNamespacedValue<S extends string, U extends string> extends NamespacedValue<S, U> {\n private preferUnstable = false;\n\n public setPreferUnstable(preferUnstable: boolean): void {\n this.preferUnstable = preferUnstable;\n }\n\n public get name(): U | S {\n if (this.stable && !this.preferUnstable) {\n return this.stable;\n }\n return this.unstable!;\n }\n}\n\n/**\n * Represents a namespaced value which prioritizes the unstable value over the stable\n * value.\n */\nexport class UnstableValue<S extends string, U extends string> extends NamespacedValue<S, U> {\n // Note: Constructor difference is that `unstable` is *required*.\n public constructor(stable: S, unstable: U) {\n super(stable, unstable);\n if (!this.unstable) {\n throw new Error(\"Unstable value must be supplied\");\n }\n }\n\n public get name(): U {\n return this.unstable!;\n }\n\n public get altName(): S {\n return this.stable!;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { EventEmitter } from "events";
2
+ import { ListenerMap, TypedEventEmitter } from "./models/typed-event-emitter.ts";
3
+ export declare class ReEmitter {
4
+ private readonly target;
5
+ constructor(target: EventEmitter);
6
+ private reEmitters;
7
+ reEmit(source: EventEmitter, eventNames: string[]): void;
8
+ stopReEmitting(source: EventEmitter, eventNames: string[]): void;
9
+ }
10
+ export declare class TypedReEmitter<Events extends string, Arguments extends ListenerMap<Events>> extends ReEmitter {
11
+ constructor(target: TypedEventEmitter<Events, Arguments>);
12
+ reEmit<ReEmittedEvents extends string, T extends Events & ReEmittedEvents>(source: TypedEventEmitter<ReEmittedEvents, any>, eventNames: T[]): void;
13
+ stopReEmitting<ReEmittedEvents extends string, T extends Events & ReEmittedEvents>(source: TypedEventEmitter<ReEmittedEvents, any>, eventNames: T[]): void;
14
+ }
15
+ //# sourceMappingURL=ReEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReEmitter.d.ts","sourceRoot":"","sources":["../src/ReEmitter.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,qBAAa,SAAS;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAGxD,OAAO,CAAC,UAAU,CAAsE;IAEjF,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAgCxD,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;CAW1E;AAED,qBAAa,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,SAAS,SAAS,WAAW,CAAC,MAAM,CAAC,CAAE,SAAQ,SAAS;gBACpF,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAIxD,MAAM,CAAC,eAAe,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,eAAe,EAC5E,MAAM,EAAE,iBAAiB,CAAC,eAAe,EAAE,GAAG,CAAC,EAC/C,UAAU,EAAE,CAAC,EAAE,GAChB,IAAI;IAIA,cAAc,CAAC,eAAe,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,eAAe,EACpF,MAAM,EAAE,iBAAiB,CAAC,eAAe,EAAE,GAAG,CAAC,EAC/C,UAAU,EAAE,CAAC,EAAE,GAChB,IAAI;CAGV"}
@@ -0,0 +1,87 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ /*
3
+ Copyright 2015, 2016 OpenMarket Ltd
4
+ Copyright 2017 Vector Creations Ltd
5
+ Copyright 2017 New Vector Ltd
6
+
7
+ Licensed under the Apache License, Version 2.0 (the "License");
8
+ you may not use this file except in compliance with the License.
9
+ You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software
14
+ distributed under the License is distributed on an "AS IS" BASIS,
15
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ See the License for the specific language governing permissions and
17
+ limitations under the License.
18
+ */
19
+
20
+ // eslint-disable-next-line no-restricted-imports
21
+
22
+ export class ReEmitter {
23
+ constructor(target) {
24
+ this.target = target;
25
+ // Map from emitter to event name to re-emitter
26
+ _defineProperty(this, "reEmitters", new WeakMap());
27
+ }
28
+ reEmit(source, eventNames) {
29
+ var _this = this;
30
+ var reEmittersByEvent = this.reEmitters.get(source);
31
+ if (!reEmittersByEvent) {
32
+ reEmittersByEvent = new Map();
33
+ this.reEmitters.set(source, reEmittersByEvent);
34
+ }
35
+ var _loop = function _loop(eventName) {
36
+ if (reEmittersByEvent.has(eventName)) return 1; // continue
37
+
38
+ // We include the source as the last argument for event handlers which may need it,
39
+ // such as read receipt listeners on the client class which won't have the context
40
+ // of the room.
41
+ var forSource = function forSource() {
42
+ // EventEmitter special cases 'error' to make the emit function throw if no
43
+ // handler is attached, which sort of makes sense for making sure that something
44
+ // handles an error, but for re-emitting, there could be a listener on the original
45
+ // source object so the test doesn't really work. We *could* try to replicate the
46
+ // same logic and throw if there is no listener on either the source or the target,
47
+ // but this behaviour is fairly undesireable for us anyway: the main place we throw
48
+ // 'error' events is for calls, where error events are usually emitted some time
49
+ // later by a different part of the code where 'emit' throwing because the app hasn't
50
+ // added an error handler isn't terribly helpful. (A better fix in retrospect may
51
+ // have been to just avoid using the event name 'error', but backwards compat...)
52
+ if (eventName === "error" && _this.target.listenerCount("error") === 0) return;
53
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
54
+ args[_key] = arguments[_key];
55
+ }
56
+ _this.target.emit(eventName, ...args, source);
57
+ };
58
+ source.on(eventName, forSource);
59
+ reEmittersByEvent.set(eventName, forSource);
60
+ };
61
+ for (var eventName of eventNames) {
62
+ if (_loop(eventName)) continue;
63
+ }
64
+ }
65
+ stopReEmitting(source, eventNames) {
66
+ var reEmittersByEvent = this.reEmitters.get(source);
67
+ if (!reEmittersByEvent) return; // We were never re-emitting these events in the first place
68
+
69
+ for (var eventName of eventNames) {
70
+ source.off(eventName, reEmittersByEvent.get(eventName));
71
+ reEmittersByEvent.delete(eventName);
72
+ }
73
+ if (reEmittersByEvent.size === 0) this.reEmitters.delete(source);
74
+ }
75
+ }
76
+ export class TypedReEmitter extends ReEmitter {
77
+ constructor(target) {
78
+ super(target);
79
+ }
80
+ reEmit(source, eventNames) {
81
+ super.reEmit(source, eventNames);
82
+ }
83
+ stopReEmitting(source, eventNames) {
84
+ super.stopReEmitting(source, eventNames);
85
+ }
86
+ }
87
+ //# sourceMappingURL=ReEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReEmitter.js","names":["ReEmitter","constructor","target","_defineProperty","WeakMap","reEmit","source","eventNames","_this","reEmittersByEvent","reEmitters","get","Map","set","_loop","eventName","has","forSource","listenerCount","_len","arguments","length","args","Array","_key","emit","on","stopReEmitting","off","delete","size","TypedReEmitter"],"sources":["../src/ReEmitter.ts"],"sourcesContent":["/*\nCopyright 2015, 2016 OpenMarket Ltd\nCopyright 2017 Vector Creations Ltd\nCopyright 2017 New Vector Ltd\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n// eslint-disable-next-line no-restricted-imports\nimport { EventEmitter } from \"events\";\n\nimport { ListenerMap, TypedEventEmitter } from \"./models/typed-event-emitter.ts\";\n\nexport class ReEmitter {\n public constructor(private readonly target: EventEmitter) {}\n\n // Map from emitter to event name to re-emitter\n private reEmitters = new WeakMap<EventEmitter, Map<string, (...args: any[]) => void>>();\n\n public reEmit(source: EventEmitter, eventNames: string[]): void {\n let reEmittersByEvent = this.reEmitters.get(source);\n if (!reEmittersByEvent) {\n reEmittersByEvent = new Map();\n this.reEmitters.set(source, reEmittersByEvent);\n }\n\n for (const eventName of eventNames) {\n if (reEmittersByEvent.has(eventName)) continue;\n\n // We include the source as the last argument for event handlers which may need it,\n // such as read receipt listeners on the client class which won't have the context\n // of the room.\n const forSource = (...args: any[]): void => {\n // EventEmitter special cases 'error' to make the emit function throw if no\n // handler is attached, which sort of makes sense for making sure that something\n // handles an error, but for re-emitting, there could be a listener on the original\n // source object so the test doesn't really work. We *could* try to replicate the\n // same logic and throw if there is no listener on either the source or the target,\n // but this behaviour is fairly undesireable for us anyway: the main place we throw\n // 'error' events is for calls, where error events are usually emitted some time\n // later by a different part of the code where 'emit' throwing because the app hasn't\n // added an error handler isn't terribly helpful. (A better fix in retrospect may\n // have been to just avoid using the event name 'error', but backwards compat...)\n if (eventName === \"error\" && this.target.listenerCount(\"error\") === 0) return;\n this.target.emit(eventName, ...args, source);\n };\n source.on(eventName, forSource);\n reEmittersByEvent.set(eventName, forSource);\n }\n }\n\n public stopReEmitting(source: EventEmitter, eventNames: string[]): void {\n const reEmittersByEvent = this.reEmitters.get(source);\n if (!reEmittersByEvent) return; // We were never re-emitting these events in the first place\n\n for (const eventName of eventNames) {\n source.off(eventName, reEmittersByEvent.get(eventName)!);\n reEmittersByEvent.delete(eventName);\n }\n\n if (reEmittersByEvent.size === 0) this.reEmitters.delete(source);\n }\n}\n\nexport class TypedReEmitter<Events extends string, Arguments extends ListenerMap<Events>> extends ReEmitter {\n public constructor(target: TypedEventEmitter<Events, Arguments>) {\n super(target);\n }\n\n public reEmit<ReEmittedEvents extends string, T extends Events & ReEmittedEvents>(\n source: TypedEventEmitter<ReEmittedEvents, any>,\n eventNames: T[],\n ): void {\n super.reEmit(source, eventNames);\n }\n\n public stopReEmitting<ReEmittedEvents extends string, T extends Events & ReEmittedEvents>(\n source: TypedEventEmitter<ReEmittedEvents, any>,\n eventNames: T[],\n ): void {\n super.stopReEmitting(source, eventNames);\n }\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAKA,OAAO,MAAMA,SAAS,CAAC;EACZC,WAAWA,CAAkBC,MAAoB,EAAE;IAAA,KAAtBA,MAAoB,GAApBA,MAAoB;IAExD;IAAAC,eAAA,qBACqB,IAAIC,OAAO,CAAsD,CAAC;EAH5B;EAKpDC,MAAMA,CAACC,MAAoB,EAAEC,UAAoB,EAAQ;IAAA,IAAAC,KAAA;IAC5D,IAAIC,iBAAiB,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACL,MAAM,CAAC;IACnD,IAAI,CAACG,iBAAiB,EAAE;MACpBA,iBAAiB,GAAG,IAAIG,GAAG,CAAC,CAAC;MAC7B,IAAI,CAACF,UAAU,CAACG,GAAG,CAACP,MAAM,EAAEG,iBAAiB,CAAC;IAClD;IAAC,IAAAK,KAAA,YAAAA,MAAAC,SAAA,EAEmC;MAChC,IAAIN,iBAAiB,CAACO,GAAG,CAACD,SAAS,CAAC;;MAEpC;MACA;MACA;MACA,IAAME,SAAS,GAAG,SAAZA,SAASA,CAAA,EAA6B;QACxC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,IAAIF,SAAS,KAAK,OAAO,IAAIP,KAAI,CAACN,MAAM,CAACgB,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAAO,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAX5DC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;UAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;QAAA;QAYtBhB,KAAI,CAACN,MAAM,CAACuB,IAAI,CAACV,SAAS,EAAE,GAAGO,IAAI,EAAEhB,MAAM,CAAC;MAChD,CAAC;MACDA,MAAM,CAACoB,EAAE,CAACX,SAAS,EAAEE,SAAS,CAAC;MAC/BR,iBAAiB,CAACI,GAAG,CAACE,SAAS,EAAEE,SAAS,CAAC;IAC/C,CAAC;IAtBD,KAAK,IAAMF,SAAS,IAAIR,UAAU;MAAA,IAAAO,KAAA,CAAAC,SAAA,GACQ;IAAS;EAsBvD;EAEOY,cAAcA,CAACrB,MAAoB,EAAEC,UAAoB,EAAQ;IACpE,IAAME,iBAAiB,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACL,MAAM,CAAC;IACrD,IAAI,CAACG,iBAAiB,EAAE,OAAO,CAAC;;IAEhC,KAAK,IAAMM,SAAS,IAAIR,UAAU,EAAE;MAChCD,MAAM,CAACsB,GAAG,CAACb,SAAS,EAAEN,iBAAiB,CAACE,GAAG,CAACI,SAAS,CAAE,CAAC;MACxDN,iBAAiB,CAACoB,MAAM,CAACd,SAAS,CAAC;IACvC;IAEA,IAAIN,iBAAiB,CAACqB,IAAI,KAAK,CAAC,EAAE,IAAI,CAACpB,UAAU,CAACmB,MAAM,CAACvB,MAAM,CAAC;EACpE;AACJ;AAEA,OAAO,MAAMyB,cAAc,SAAuE/B,SAAS,CAAC;EACjGC,WAAWA,CAACC,MAA4C,EAAE;IAC7D,KAAK,CAACA,MAAM,CAAC;EACjB;EAEOG,MAAMA,CACTC,MAA+C,EAC/CC,UAAe,EACX;IACJ,KAAK,CAACF,MAAM,CAACC,MAAM,EAAEC,UAAU,CAAC;EACpC;EAEOoB,cAAcA,CACjBrB,MAA+C,EAC/CC,UAAe,EACX;IACJ,KAAK,CAACoB,cAAc,CAACrB,MAAM,EAAEC,UAAU,CAAC;EAC5C;AACJ","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ import { MatrixClient } from "./client.ts";
2
+ import { ToDeviceBatch } from "./models/ToDeviceMessage.ts";
3
+ /**
4
+ * Maintains a queue of outgoing to-device messages, sending them
5
+ * as soon as the homeserver is reachable.
6
+ */
7
+ export declare class ToDeviceMessageQueue {
8
+ private client;
9
+ private sending;
10
+ private running;
11
+ private retryTimeout;
12
+ private retryAttempts;
13
+ constructor(client: MatrixClient);
14
+ start(): void;
15
+ stop(): void;
16
+ queueBatch(batch: ToDeviceBatch): Promise<void>;
17
+ sendQueue: () => Promise<void>;
18
+ /**
19
+ * Attempts to send a batch of to-device messages.
20
+ */
21
+ private sendBatch;
22
+ /**
23
+ * Listen to sync state changes and automatically resend any pending events
24
+ * once syncing is resumed
25
+ */
26
+ private onResumedSync;
27
+ }
28
+ //# sourceMappingURL=ToDeviceMessageQueue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToDeviceMessageQueue.d.ts","sourceRoot":"","sources":["../src/ToDeviceMessageQueue.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAC;AAExD,OAAO,EAEH,aAAa,EAGhB,MAAM,6BAA6B,CAAC;AAOrC;;;GAGG;AACH,qBAAa,oBAAoB;IAMV,OAAO,CAAC,MAAM;IALjC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,aAAa,CAAK;gBAEC,MAAM,EAAE,YAAY;IAExC,KAAK,IAAI,IAAI;IAMb,IAAI,IAAI,IAAI;IAON,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD,SAAS,QAAa,OAAO,CAAC,IAAI,CAAC,CA6CxC;IAEF;;OAEG;YACW,SAAS;IAavB;;;OAGG;IACH,OAAO,CAAC,aAAa,CAKnB;CACL"}
@@ -0,0 +1,135 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ /*
4
+ Copyright 2022 The Matrix.org Foundation C.I.C.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ */
18
+
19
+ import { ToDeviceMessageId } from "./@types/event.js";
20
+ import { logger } from "./logger.js";
21
+ import { ClientEvent } from "./client.js";
22
+ import { MatrixScheduler } from "./scheduler.js";
23
+ import { SyncState } from "./sync.js";
24
+ import { MapWithDefault } from "./utils.js";
25
+ var MAX_BATCH_SIZE = 20;
26
+
27
+ /**
28
+ * Maintains a queue of outgoing to-device messages, sending them
29
+ * as soon as the homeserver is reachable.
30
+ */
31
+ export class ToDeviceMessageQueue {
32
+ constructor(client) {
33
+ var _this = this;
34
+ this.client = client;
35
+ _defineProperty(this, "sending", false);
36
+ _defineProperty(this, "running", true);
37
+ _defineProperty(this, "retryTimeout", null);
38
+ _defineProperty(this, "retryAttempts", 0);
39
+ _defineProperty(this, "sendQueue", /*#__PURE__*/_asyncToGenerator(function* () {
40
+ if (_this.retryTimeout !== null) clearTimeout(_this.retryTimeout);
41
+ _this.retryTimeout = null;
42
+ if (_this.sending || !_this.running) return;
43
+ logger.debug("Attempting to send queued to-device messages");
44
+ _this.sending = true;
45
+ var headBatch;
46
+ try {
47
+ while (_this.running) {
48
+ headBatch = yield _this.client.store.getOldestToDeviceBatch();
49
+ if (headBatch === null) break;
50
+ yield _this.sendBatch(headBatch);
51
+ yield _this.client.store.removeToDeviceBatch(headBatch.id);
52
+ _this.retryAttempts = 0;
53
+ }
54
+
55
+ // Make sure we're still running after the async tasks: if not, stop.
56
+ if (!_this.running) return;
57
+ logger.debug("All queued to-device messages sent");
58
+ } catch (e) {
59
+ ++_this.retryAttempts;
60
+ // eslint-disable-next-line @typescript-eslint/naming-convention
61
+ // eslint-disable-next-line new-cap
62
+ var retryDelay = MatrixScheduler.RETRY_BACKOFF_RATELIMIT(null, _this.retryAttempts, e);
63
+ if (retryDelay === -1) {
64
+ // the scheduler function doesn't differentiate between fatal errors and just getting
65
+ // bored and giving up for now
66
+ if (Math.floor(e.httpStatus / 100) === 4) {
67
+ logger.error("Fatal error when sending to-device message - dropping to-device batch!", e);
68
+ yield _this.client.store.removeToDeviceBatch(headBatch.id);
69
+ } else {
70
+ logger.info("Automatic retry limit reached for to-device messages.");
71
+ }
72
+ return;
73
+ }
74
+ logger.info("Failed to send batch of to-device messages. Will retry in ".concat(retryDelay, "ms"), e);
75
+ _this.retryTimeout = setTimeout(_this.sendQueue, retryDelay);
76
+ } finally {
77
+ _this.sending = false;
78
+ }
79
+ }));
80
+ /**
81
+ * Listen to sync state changes and automatically resend any pending events
82
+ * once syncing is resumed
83
+ */
84
+ _defineProperty(this, "onResumedSync", (state, oldState) => {
85
+ if (state === SyncState.Syncing && oldState !== SyncState.Syncing) {
86
+ logger.info("Resuming queue after resumed sync");
87
+ this.sendQueue();
88
+ }
89
+ });
90
+ }
91
+ start() {
92
+ this.running = true;
93
+ this.sendQueue();
94
+ this.client.on(ClientEvent.Sync, this.onResumedSync);
95
+ }
96
+ stop() {
97
+ this.running = false;
98
+ if (this.retryTimeout !== null) clearTimeout(this.retryTimeout);
99
+ this.retryTimeout = null;
100
+ this.client.removeListener(ClientEvent.Sync, this.onResumedSync);
101
+ }
102
+ queueBatch(batch) {
103
+ var _this2 = this;
104
+ return _asyncToGenerator(function* () {
105
+ var batches = [];
106
+ for (var i = 0; i < batch.batch.length; i += MAX_BATCH_SIZE) {
107
+ var batchWithTxnId = {
108
+ eventType: batch.eventType,
109
+ batch: batch.batch.slice(i, i + MAX_BATCH_SIZE),
110
+ txnId: _this2.client.makeTxnId()
111
+ };
112
+ batches.push(batchWithTxnId);
113
+ var msgmap = batchWithTxnId.batch.map(msg => "".concat(msg.userId, "/").concat(msg.deviceId, " (msgid ").concat(msg.payload[ToDeviceMessageId], ")"));
114
+ logger.info("Enqueuing batch of to-device messages. type=".concat(batch.eventType, " txnid=").concat(batchWithTxnId.txnId), msgmap);
115
+ }
116
+ yield _this2.client.store.saveToDeviceBatches(batches);
117
+ _this2.sendQueue();
118
+ })();
119
+ }
120
+ /**
121
+ * Attempts to send a batch of to-device messages.
122
+ */
123
+ sendBatch(batch) {
124
+ var _this3 = this;
125
+ return _asyncToGenerator(function* () {
126
+ var contentMap = new MapWithDefault(() => new Map());
127
+ for (var item of batch.batch) {
128
+ contentMap.getOrCreate(item.userId).set(item.deviceId, item.payload);
129
+ }
130
+ logger.info("Sending batch of ".concat(batch.batch.length, " to-device messages with ID ").concat(batch.id, " and txnId ").concat(batch.txnId));
131
+ yield _this3.client.sendToDevice(batch.eventType, contentMap, batch.txnId);
132
+ })();
133
+ }
134
+ }
135
+ //# sourceMappingURL=ToDeviceMessageQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToDeviceMessageQueue.js","names":["ToDeviceMessageId","logger","ClientEvent","MatrixScheduler","SyncState","MapWithDefault","MAX_BATCH_SIZE","ToDeviceMessageQueue","constructor","client","_this","_defineProperty","_asyncToGenerator","retryTimeout","clearTimeout","sending","running","debug","headBatch","store","getOldestToDeviceBatch","sendBatch","removeToDeviceBatch","id","retryAttempts","e","retryDelay","RETRY_BACKOFF_RATELIMIT","Math","floor","httpStatus","error","info","concat","setTimeout","sendQueue","state","oldState","Syncing","start","on","Sync","onResumedSync","stop","removeListener","queueBatch","batch","_this2","batches","i","length","batchWithTxnId","eventType","slice","txnId","makeTxnId","push","msgmap","map","msg","userId","deviceId","payload","saveToDeviceBatches","_this3","contentMap","Map","item","getOrCreate","set","sendToDevice"],"sources":["../src/ToDeviceMessageQueue.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { ToDeviceMessageId } from \"./@types/event.ts\";\nimport { logger } from \"./logger.ts\";\nimport { MatrixClient, ClientEvent } from \"./client.ts\";\nimport { MatrixError } from \"./http-api/index.ts\";\nimport {\n IndexedToDeviceBatch,\n ToDeviceBatch,\n ToDeviceBatchWithTxnId,\n ToDevicePayload,\n} from \"./models/ToDeviceMessage.ts\";\nimport { MatrixScheduler } from \"./scheduler.ts\";\nimport { SyncState } from \"./sync.ts\";\nimport { MapWithDefault } from \"./utils.ts\";\n\nconst MAX_BATCH_SIZE = 20;\n\n/**\n * Maintains a queue of outgoing to-device messages, sending them\n * as soon as the homeserver is reachable.\n */\nexport class ToDeviceMessageQueue {\n private sending = false;\n private running = true;\n private retryTimeout: ReturnType<typeof setTimeout> | null = null;\n private retryAttempts = 0;\n\n public constructor(private client: MatrixClient) {}\n\n public start(): void {\n this.running = true;\n this.sendQueue();\n this.client.on(ClientEvent.Sync, this.onResumedSync);\n }\n\n public stop(): void {\n this.running = false;\n if (this.retryTimeout !== null) clearTimeout(this.retryTimeout);\n this.retryTimeout = null;\n this.client.removeListener(ClientEvent.Sync, this.onResumedSync);\n }\n\n public async queueBatch(batch: ToDeviceBatch): Promise<void> {\n const batches: ToDeviceBatchWithTxnId[] = [];\n for (let i = 0; i < batch.batch.length; i += MAX_BATCH_SIZE) {\n const batchWithTxnId = {\n eventType: batch.eventType,\n batch: batch.batch.slice(i, i + MAX_BATCH_SIZE),\n txnId: this.client.makeTxnId(),\n };\n batches.push(batchWithTxnId);\n const msgmap = batchWithTxnId.batch.map(\n (msg) => `${msg.userId}/${msg.deviceId} (msgid ${msg.payload[ToDeviceMessageId]})`,\n );\n logger.info(\n `Enqueuing batch of to-device messages. type=${batch.eventType} txnid=${batchWithTxnId.txnId}`,\n msgmap,\n );\n }\n\n await this.client.store.saveToDeviceBatches(batches);\n this.sendQueue();\n }\n\n public sendQueue = async (): Promise<void> => {\n if (this.retryTimeout !== null) clearTimeout(this.retryTimeout);\n this.retryTimeout = null;\n\n if (this.sending || !this.running) return;\n\n logger.debug(\"Attempting to send queued to-device messages\");\n\n this.sending = true;\n let headBatch: IndexedToDeviceBatch | null;\n try {\n while (this.running) {\n headBatch = await this.client.store.getOldestToDeviceBatch();\n if (headBatch === null) break;\n await this.sendBatch(headBatch);\n await this.client.store.removeToDeviceBatch(headBatch.id);\n this.retryAttempts = 0;\n }\n\n // Make sure we're still running after the async tasks: if not, stop.\n if (!this.running) return;\n\n logger.debug(\"All queued to-device messages sent\");\n } catch (e) {\n ++this.retryAttempts;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n // eslint-disable-next-line new-cap\n const retryDelay = MatrixScheduler.RETRY_BACKOFF_RATELIMIT(null, this.retryAttempts, <MatrixError>e);\n if (retryDelay === -1) {\n // the scheduler function doesn't differentiate between fatal errors and just getting\n // bored and giving up for now\n if (Math.floor((<MatrixError>e).httpStatus! / 100) === 4) {\n logger.error(\"Fatal error when sending to-device message - dropping to-device batch!\", e);\n await this.client.store.removeToDeviceBatch(headBatch!.id);\n } else {\n logger.info(\"Automatic retry limit reached for to-device messages.\");\n }\n return;\n }\n\n logger.info(`Failed to send batch of to-device messages. Will retry in ${retryDelay}ms`, e);\n this.retryTimeout = setTimeout(this.sendQueue, retryDelay);\n } finally {\n this.sending = false;\n }\n };\n\n /**\n * Attempts to send a batch of to-device messages.\n */\n private async sendBatch(batch: IndexedToDeviceBatch): Promise<void> {\n const contentMap: MapWithDefault<string, Map<string, ToDevicePayload>> = new MapWithDefault(() => new Map());\n for (const item of batch.batch) {\n contentMap.getOrCreate(item.userId).set(item.deviceId, item.payload);\n }\n\n logger.info(\n `Sending batch of ${batch.batch.length} to-device messages with ID ${batch.id} and txnId ${batch.txnId}`,\n );\n\n await this.client.sendToDevice(batch.eventType, contentMap, batch.txnId);\n }\n\n /**\n * Listen to sync state changes and automatically resend any pending events\n * once syncing is resumed\n */\n private onResumedSync = (state: SyncState | null, oldState: SyncState | null): void => {\n if (state === SyncState.Syncing && oldState !== SyncState.Syncing) {\n logger.info(`Resuming queue after resumed sync`);\n this.sendQueue();\n }\n };\n}\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,iBAAiB,QAAQ,mBAAmB;AACrD,SAASC,MAAM,QAAQ,aAAa;AACpC,SAAuBC,WAAW,QAAQ,aAAa;AAQvD,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,cAAc,QAAQ,YAAY;AAE3C,IAAMC,cAAc,GAAG,EAAE;;AAEzB;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,CAAC;EAMvBC,WAAWA,CAASC,MAAoB,EAAE;IAAA,IAAAC,KAAA;IAAA,KAAtBD,MAAoB,GAApBA,MAAoB;IAAAE,eAAA,kBAL7B,KAAK;IAAAA,eAAA,kBACL,IAAI;IAAAA,eAAA,uBACuC,IAAI;IAAAA,eAAA,wBACzC,CAAC;IAAAA,eAAA,iCAAAC,iBAAA,CAuCN,aAA2B;MAC1C,IAAIF,KAAI,CAACG,YAAY,KAAK,IAAI,EAAEC,YAAY,CAACJ,KAAI,CAACG,YAAY,CAAC;MAC/DH,KAAI,CAACG,YAAY,GAAG,IAAI;MAExB,IAAIH,KAAI,CAACK,OAAO,IAAI,CAACL,KAAI,CAACM,OAAO,EAAE;MAEnCf,MAAM,CAACgB,KAAK,CAAC,8CAA8C,CAAC;MAE5DP,KAAI,CAACK,OAAO,GAAG,IAAI;MACnB,IAAIG,SAAsC;MAC1C,IAAI;QACA,OAAOR,KAAI,CAACM,OAAO,EAAE;UACjBE,SAAS,SAASR,KAAI,CAACD,MAAM,CAACU,KAAK,CAACC,sBAAsB,CAAC,CAAC;UAC5D,IAAIF,SAAS,KAAK,IAAI,EAAE;UACxB,MAAMR,KAAI,CAACW,SAAS,CAACH,SAAS,CAAC;UAC/B,MAAMR,KAAI,CAACD,MAAM,CAACU,KAAK,CAACG,mBAAmB,CAACJ,SAAS,CAACK,EAAE,CAAC;UACzDb,KAAI,CAACc,aAAa,GAAG,CAAC;QAC1B;;QAEA;QACA,IAAI,CAACd,KAAI,CAACM,OAAO,EAAE;QAEnBf,MAAM,CAACgB,KAAK,CAAC,oCAAoC,CAAC;MACtD,CAAC,CAAC,OAAOQ,CAAC,EAAE;QACR,EAAEf,KAAI,CAACc,aAAa;QACpB;QACA;QACA,IAAME,UAAU,GAAGvB,eAAe,CAACwB,uBAAuB,CAAC,IAAI,EAAEjB,KAAI,CAACc,aAAa,EAAeC,CAAC,CAAC;QACpG,IAAIC,UAAU,KAAK,CAAC,CAAC,EAAE;UACnB;UACA;UACA,IAAIE,IAAI,CAACC,KAAK,CAAeJ,CAAC,CAAEK,UAAU,GAAI,GAAG,CAAC,KAAK,CAAC,EAAE;YACtD7B,MAAM,CAAC8B,KAAK,CAAC,wEAAwE,EAAEN,CAAC,CAAC;YACzF,MAAMf,KAAI,CAACD,MAAM,CAACU,KAAK,CAACG,mBAAmB,CAACJ,SAAS,CAAEK,EAAE,CAAC;UAC9D,CAAC,MAAM;YACHtB,MAAM,CAAC+B,IAAI,CAAC,uDAAuD,CAAC;UACxE;UACA;QACJ;QAEA/B,MAAM,CAAC+B,IAAI,8DAAAC,MAAA,CAA8DP,UAAU,SAAMD,CAAC,CAAC;QAC3Ff,KAAI,CAACG,YAAY,GAAGqB,UAAU,CAACxB,KAAI,CAACyB,SAAS,EAAET,UAAU,CAAC;MAC9D,CAAC,SAAS;QACNhB,KAAI,CAACK,OAAO,GAAG,KAAK;MACxB;IACJ,CAAC;IAkBD;AACJ;AACA;AACA;IAHIJ,eAAA,wBAIwB,CAACyB,KAAuB,EAAEC,QAA0B,KAAW;MACnF,IAAID,KAAK,KAAKhC,SAAS,CAACkC,OAAO,IAAID,QAAQ,KAAKjC,SAAS,CAACkC,OAAO,EAAE;QAC/DrC,MAAM,CAAC+B,IAAI,oCAAoC,CAAC;QAChD,IAAI,CAACG,SAAS,CAAC,CAAC;MACpB;IACJ,CAAC;EA7GiD;EAE3CI,KAAKA,CAAA,EAAS;IACjB,IAAI,CAACvB,OAAO,GAAG,IAAI;IACnB,IAAI,CAACmB,SAAS,CAAC,CAAC;IAChB,IAAI,CAAC1B,MAAM,CAAC+B,EAAE,CAACtC,WAAW,CAACuC,IAAI,EAAE,IAAI,CAACC,aAAa,CAAC;EACxD;EAEOC,IAAIA,CAAA,EAAS;IAChB,IAAI,CAAC3B,OAAO,GAAG,KAAK;IACpB,IAAI,IAAI,CAACH,YAAY,KAAK,IAAI,EAAEC,YAAY,CAAC,IAAI,CAACD,YAAY,CAAC;IAC/D,IAAI,CAACA,YAAY,GAAG,IAAI;IACxB,IAAI,CAACJ,MAAM,CAACmC,cAAc,CAAC1C,WAAW,CAACuC,IAAI,EAAE,IAAI,CAACC,aAAa,CAAC;EACpE;EAEaG,UAAUA,CAACC,KAAoB,EAAiB;IAAA,IAAAC,MAAA;IAAA,OAAAnC,iBAAA;MACzD,IAAMoC,OAAiC,GAAG,EAAE;MAC5C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,CAACA,KAAK,CAACI,MAAM,EAAED,CAAC,IAAI3C,cAAc,EAAE;QACzD,IAAM6C,cAAc,GAAG;UACnBC,SAAS,EAAEN,KAAK,CAACM,SAAS;UAC1BN,KAAK,EAAEA,KAAK,CAACA,KAAK,CAACO,KAAK,CAACJ,CAAC,EAAEA,CAAC,GAAG3C,cAAc,CAAC;UAC/CgD,KAAK,EAAEP,MAAI,CAACtC,MAAM,CAAC8C,SAAS,CAAC;QACjC,CAAC;QACDP,OAAO,CAACQ,IAAI,CAACL,cAAc,CAAC;QAC5B,IAAMM,MAAM,GAAGN,cAAc,CAACL,KAAK,CAACY,GAAG,CAClCC,GAAG,OAAA1B,MAAA,CAAQ0B,GAAG,CAACC,MAAM,OAAA3B,MAAA,CAAI0B,GAAG,CAACE,QAAQ,cAAA5B,MAAA,CAAW0B,GAAG,CAACG,OAAO,CAAC9D,iBAAiB,CAAC,MACnF,CAAC;QACDC,MAAM,CAAC+B,IAAI,gDAAAC,MAAA,CACwCa,KAAK,CAACM,SAAS,aAAAnB,MAAA,CAAUkB,cAAc,CAACG,KAAK,GAC5FG,MACJ,CAAC;MACL;MAEA,MAAMV,MAAI,CAACtC,MAAM,CAACU,KAAK,CAAC4C,mBAAmB,CAACf,OAAO,CAAC;MACpDD,MAAI,CAACZ,SAAS,CAAC,CAAC;IAAC;EACrB;EAiDA;AACJ;AACA;EACkBd,SAASA,CAACyB,KAA2B,EAAiB;IAAA,IAAAkB,MAAA;IAAA,OAAApD,iBAAA;MAChE,IAAMqD,UAAgE,GAAG,IAAI5D,cAAc,CAAC,MAAM,IAAI6D,GAAG,CAAC,CAAC,CAAC;MAC5G,KAAK,IAAMC,IAAI,IAAIrB,KAAK,CAACA,KAAK,EAAE;QAC5BmB,UAAU,CAACG,WAAW,CAACD,IAAI,CAACP,MAAM,CAAC,CAACS,GAAG,CAACF,IAAI,CAACN,QAAQ,EAAEM,IAAI,CAACL,OAAO,CAAC;MACxE;MAEA7D,MAAM,CAAC+B,IAAI,qBAAAC,MAAA,CACaa,KAAK,CAACA,KAAK,CAACI,MAAM,kCAAAjB,MAAA,CAA+Ba,KAAK,CAACvB,EAAE,iBAAAU,MAAA,CAAca,KAAK,CAACQ,KAAK,CAC1G,CAAC;MAED,MAAMU,MAAI,CAACvD,MAAM,CAAC6D,YAAY,CAACxB,KAAK,CAACM,SAAS,EAAEa,UAAU,EAAEnB,KAAK,CAACQ,KAAK,CAAC;IAAC;EAC7E;AAYJ","ignoreList":[]}
@@ -0,0 +1,136 @@
1
+ import { IClientWellKnown, IWellKnownConfig } from "./client.ts";
2
+ export declare enum AutoDiscoveryAction {
3
+ SUCCESS = "SUCCESS",
4
+ IGNORE = "IGNORE",
5
+ PROMPT = "PROMPT",
6
+ FAIL_PROMPT = "FAIL_PROMPT",
7
+ FAIL_ERROR = "FAIL_ERROR"
8
+ }
9
+ export declare enum AutoDiscoveryError {
10
+ Invalid = "Invalid homeserver discovery response",
11
+ GenericFailure = "Failed to get autodiscovery configuration from server",
12
+ InvalidHsBaseUrl = "Invalid base_url for m.homeserver",
13
+ InvalidHomeserver = "Homeserver URL does not appear to be a valid Matrix homeserver",
14
+ InvalidIsBaseUrl = "Invalid base_url for m.identity_server",
15
+ InvalidIdentityServer = "Identity server URL does not appear to be a valid identity server",
16
+ InvalidIs = "Invalid identity server discovery response",
17
+ MissingWellknown = "No .well-known JSON file found",
18
+ InvalidJson = "Invalid JSON",
19
+ UnsupportedHomeserverSpecVersion = "The homeserver does not meet the version requirements"
20
+ }
21
+ interface AutoDiscoveryState {
22
+ state: AutoDiscoveryAction;
23
+ error?: IWellKnownConfig["error"] | null;
24
+ }
25
+ interface WellKnownConfig extends Omit<IWellKnownConfig, "error">, AutoDiscoveryState {
26
+ }
27
+ export interface ClientConfig extends Omit<IClientWellKnown, "m.homeserver" | "m.identity_server"> {
28
+ "m.homeserver": WellKnownConfig;
29
+ "m.identity_server": WellKnownConfig;
30
+ }
31
+ /**
32
+ * Utilities for automatically discovery resources, such as homeservers
33
+ * for users to log in to.
34
+ */
35
+ export declare class AutoDiscovery {
36
+ static readonly ERROR_INVALID = AutoDiscoveryError.Invalid;
37
+ static readonly ERROR_GENERIC_FAILURE = AutoDiscoveryError.GenericFailure;
38
+ static readonly ERROR_INVALID_HS_BASE_URL = AutoDiscoveryError.InvalidHsBaseUrl;
39
+ static readonly ERROR_INVALID_HOMESERVER = AutoDiscoveryError.InvalidHomeserver;
40
+ static readonly ERROR_INVALID_IS_BASE_URL = AutoDiscoveryError.InvalidIsBaseUrl;
41
+ static readonly ERROR_INVALID_IDENTITY_SERVER = AutoDiscoveryError.InvalidIdentityServer;
42
+ static readonly ERROR_INVALID_IS = AutoDiscoveryError.InvalidIs;
43
+ static readonly ERROR_MISSING_WELLKNOWN = AutoDiscoveryError.MissingWellknown;
44
+ static readonly ERROR_INVALID_JSON = AutoDiscoveryError.InvalidJson;
45
+ static readonly ERROR_UNSUPPORTED_HOMESERVER_SPEC_VERSION = AutoDiscoveryError.UnsupportedHomeserverSpecVersion;
46
+ static readonly ALL_ERRORS: AutoDiscoveryError[];
47
+ /**
48
+ * The auto discovery failed. The client is expected to communicate
49
+ * the error to the user and refuse logging in.
50
+ */
51
+ static readonly FAIL_ERROR = AutoDiscoveryAction.FAIL_ERROR;
52
+ /**
53
+ * The auto discovery failed, however the client may still recover
54
+ * from the problem. The client is recommended to that the same
55
+ * action it would for PROMPT while also warning the user about
56
+ * what went wrong. The client may also treat this the same as
57
+ * a FAIL_ERROR state.
58
+ */
59
+ static readonly FAIL_PROMPT = AutoDiscoveryAction.FAIL_PROMPT;
60
+ /**
61
+ * The auto discovery didn't fail but did not find anything of
62
+ * interest. The client is expected to prompt the user for more
63
+ * information, or fail if it prefers.
64
+ */
65
+ static readonly PROMPT = AutoDiscoveryAction.PROMPT;
66
+ /**
67
+ * The auto discovery was successful.
68
+ */
69
+ static readonly SUCCESS = AutoDiscoveryAction.SUCCESS;
70
+ /**
71
+ * Validates and verifies client configuration information for purposes
72
+ * of logging in. Such information includes the homeserver URL
73
+ * and identity server URL the client would want. Additional details
74
+ * may also be included, and will be transparently brought into the
75
+ * response object unaltered.
76
+ * @param wellknown - The configuration object itself, as returned
77
+ * by the .well-known auto-discovery endpoint.
78
+ * @returns Promise which resolves to the verified
79
+ * configuration, which may include error states. Rejects on unexpected
80
+ * failure, not when verification fails.
81
+ */
82
+ static fromDiscoveryConfig(wellknown: IClientWellKnown): Promise<ClientConfig>;
83
+ /**
84
+ * Attempts to automatically discover client configuration information
85
+ * prior to logging in. Such information includes the homeserver URL
86
+ * and identity server URL the client would want. Additional details
87
+ * may also be discovered, and will be transparently included in the
88
+ * response object unaltered.
89
+ * @param domain - The homeserver domain to perform discovery
90
+ * on. For example, "matrix.org".
91
+ * @returns Promise which resolves to the discovered
92
+ * configuration, which may include error states. Rejects on unexpected
93
+ * failure, not when discovery fails.
94
+ */
95
+ static findClientConfig(domain: string): Promise<ClientConfig>;
96
+ /**
97
+ * Gets the raw discovery client configuration for the given domain name.
98
+ * Should only be used if there's no validation to be done on the resulting
99
+ * object, otherwise use findClientConfig().
100
+ * @param domain - The domain to get the client config for.
101
+ * @returns Promise which resolves to the domain's client config. Can
102
+ * be an empty object.
103
+ */
104
+ static getRawClientConfig(domain?: string): Promise<IClientWellKnown>;
105
+ /**
106
+ * Sanitizes a given URL to ensure it is either an HTTP or HTTP URL and
107
+ * is suitable for the requirements laid out by .well-known auto discovery.
108
+ * If valid, the URL will also be stripped of any trailing slashes.
109
+ * @param url - The potentially invalid URL to sanitize.
110
+ * @returns The sanitized URL or a falsey value if the URL is invalid.
111
+ * @internal
112
+ */
113
+ private static sanitizeWellKnownUrl;
114
+ private static fetch;
115
+ private static fetchFn?;
116
+ static setFetchFn(fetchFn: typeof globalThis.fetch): void;
117
+ /**
118
+ * Fetches a JSON object from a given URL, as expected by all .well-known
119
+ * related lookups. If the server gives a 404 then the `action` will be
120
+ * IGNORE. If the server returns something that isn't JSON, the `action`
121
+ * will be FAIL_PROMPT. For any other failure the `action` will be FAIL_PROMPT.
122
+ *
123
+ * The returned object will be a result of the call in object form with
124
+ * the following properties:
125
+ * raw: The JSON object returned by the server.
126
+ * action: One of SUCCESS, IGNORE, or FAIL_PROMPT.
127
+ * reason: Relatively human-readable description of what went wrong.
128
+ * error: The actual Error, if one exists.
129
+ * @param url - The URL to fetch a JSON object from.
130
+ * @returns Promise which resolves to the returned state.
131
+ * @internal
132
+ */
133
+ private static fetchWellKnownObject;
134
+ }
135
+ export {};
136
+ //# sourceMappingURL=autodiscovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autodiscovery.d.ts","sourceRoot":"","sources":["../src/autodiscovery.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAQlF,oBAAY,mBAAmB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;CAC5B;AAED,oBAAY,kBAAkB;IAC1B,OAAO,0CAA0C;IACjD,cAAc,0DAA0D;IACxE,gBAAgB,sCAAsC;IACtD,iBAAiB,mEAAmE;IACpF,gBAAgB,2CAA2C;IAC3D,qBAAqB,sEAAsE;IAC3F,SAAS,+CAA+C;IACxD,gBAAgB,mCAAmC;IACnD,WAAW,iBAAiB;IAC5B,gCAAgC,0DAA0D;CAI7F;AAED,UAAU,kBAAkB;IACxB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;CAC5C;AACD,UAAU,eAAgB,SAAQ,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,EAAE,kBAAkB;CAAG;AAExF,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,mBAAmB,CAAC;IAC9F,cAAc,EAAE,eAAe,CAAC;IAChC,mBAAmB,EAAE,eAAe,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,aAAa;IAMtB,gBAAuB,aAAa,8BAA8B;IAElE,gBAAuB,qBAAqB,qCAAqC;IAEjF,gBAAuB,yBAAyB,uCAAuC;IAEvF,gBAAuB,wBAAwB,wCAAwC;IAEvF,gBAAuB,yBAAyB,uCAAuC;IAEvF,gBAAuB,6BAA6B,4CAA4C;IAEhG,gBAAuB,gBAAgB,gCAAgC;IAEvE,gBAAuB,uBAAuB,uCAAuC;IAErF,gBAAuB,kBAAkB,kCAAkC;IAE3E,gBAAuB,yCAAyC,uDACR;IAExD,gBAAuB,UAAU,EAAsC,kBAAkB,EAAE,CAAC;IAE5F;;;OAGG;IACH,gBAAuB,UAAU,kCAAkC;IAEnE;;;;;;OAMG;IACH,gBAAuB,WAAW,mCAAmC;IAErE;;;;OAIG;IACH,gBAAuB,MAAM,8BAA8B;IAE3D;;OAEG;IACH,gBAAuB,OAAO,+BAA+B;IAE7D;;;;;;;;;;;OAWG;WACiB,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAgK3F;;;;;;;;;;;OAWG;WACiB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2D3E;;;;;;;OAOG;WACiB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUlF;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IA2BnC,OAAO,CAAC,MAAM,CAAC,KAAK;IAOpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAA0B;WAEnC,UAAU,CAAC,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,IAAI;IAIhE;;;;;;;;;;;;;;;OAeG;mBACkB,oBAAoB;CA2D5C"}