@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,520 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ /*
6
+ Copyright 2021 The Matrix.org Foundation C.I.C.
7
+
8
+ Licensed under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License.
10
+ You may obtain a copy of the License at
11
+
12
+ http://www.apache.org/licenses/LICENSE-2.0
13
+
14
+ Unless required by applicable law or agreed to in writing, software
15
+ distributed under the License is distributed on an "AS IS" BASIS,
16
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ See the License for the specific language governing permissions and
18
+ limitations under the License.
19
+ */
20
+
21
+ import promiseRetry from "p-retry";
22
+ import { EventType, MsgType, UNSTABLE_MSC3089_BRANCH, UNSTABLE_MSC3089_LEAF } from "../@types/event.js";
23
+ import { logger } from "../logger.js";
24
+ import { averageBetweenStrings, DEFAULT_ALPHABET, lexicographicCompare, nextString, prevString, simpleRetryOperation } from "../utils.js";
25
+ import { MSC3089Branch } from "./MSC3089Branch.js";
26
+ import { KnownMembership } from "../@types/membership.js";
27
+ /**
28
+ * The recommended defaults for a tree space's power levels. Note that this
29
+ * is UNSTABLE and subject to breaking changes without notice.
30
+ */
31
+ export var DEFAULT_TREE_POWER_LEVELS_TEMPLATE = {
32
+ // Owner
33
+ invite: 100,
34
+ kick: 100,
35
+ ban: 100,
36
+ // Editor
37
+ redact: 50,
38
+ state_default: 50,
39
+ events_default: 50,
40
+ // Viewer
41
+ users_default: 0,
42
+ // Mixed
43
+ events: {
44
+ [EventType.RoomPowerLevels]: 100,
45
+ [EventType.RoomHistoryVisibility]: 100,
46
+ [EventType.RoomTombstone]: 100,
47
+ [EventType.RoomEncryption]: 100,
48
+ [EventType.RoomName]: 50,
49
+ [EventType.RoomMessage]: 50,
50
+ [EventType.RoomMessageEncrypted]: 50,
51
+ [EventType.Sticker]: 50
52
+ },
53
+ users: {} // defined by calling code
54
+ };
55
+
56
+ /**
57
+ * Ease-of-use representation for power levels represented as simple roles.
58
+ * Note that this is UNSTABLE and subject to breaking changes without notice.
59
+ */
60
+ export var TreePermissions = /*#__PURE__*/function (TreePermissions) {
61
+ TreePermissions["Viewer"] = "viewer";
62
+ TreePermissions["Editor"] = "editor";
63
+ TreePermissions["Owner"] = "owner";
64
+ return TreePermissions;
65
+ }({}); // "Admin" or PL100
66
+ /**
67
+ * Represents a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089)
68
+ * file tree Space. Note that this is UNSTABLE and subject to breaking changes
69
+ * without notice.
70
+ */
71
+ export class MSC3089TreeSpace {
72
+ constructor(client, roomId) {
73
+ this.client = client;
74
+ this.roomId = roomId;
75
+ _defineProperty(this, "room", void 0);
76
+ this.room = this.client.getRoom(this.roomId);
77
+ if (!this.room) throw new Error("Unknown room");
78
+ }
79
+
80
+ /**
81
+ * Syntactic sugar for room ID of the Space.
82
+ */
83
+ get id() {
84
+ return this.roomId;
85
+ }
86
+
87
+ /**
88
+ * Whether or not this is a top level space.
89
+ */
90
+ get isTopLevel() {
91
+ // XXX: This is absolutely not how you find out if the space is top level
92
+ // but is safe for a managed usecase like we offer in the SDK.
93
+ var parentEvents = this.room.currentState.getStateEvents(EventType.SpaceParent);
94
+ if (!(parentEvents !== null && parentEvents !== void 0 && parentEvents.length)) return true;
95
+ return parentEvents.every(e => {
96
+ var _e$getContent;
97
+ return !((_e$getContent = e.getContent()) !== null && _e$getContent !== void 0 && _e$getContent["via"]);
98
+ });
99
+ }
100
+
101
+ /**
102
+ * Sets the name of the tree space.
103
+ * @param name - The new name for the space.
104
+ * @returns Promise which resolves when complete.
105
+ */
106
+ setName(name) {
107
+ var _this = this;
108
+ return _asyncToGenerator(function* () {
109
+ yield _this.client.sendStateEvent(_this.roomId, EventType.RoomName, {
110
+ name
111
+ }, "");
112
+ })();
113
+ }
114
+
115
+ /**
116
+ * Invites a user to the tree space. They will be given the default Viewer
117
+ * permission level unless specified elsewhere.
118
+ * @param userId - The user ID to invite.
119
+ * @param andSubspaces - True (default) to invite the user to all
120
+ * directories/subspaces too, recursively.
121
+ * @returns Promise which resolves when complete.
122
+ */
123
+ invite(userId) {
124
+ var _arguments = arguments,
125
+ _this2 = this;
126
+ return _asyncToGenerator(function* () {
127
+ var andSubspaces = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : true;
128
+ var promises = [_this2.retryInvite(userId)];
129
+ if (andSubspaces) {
130
+ promises.push(..._this2.getDirectories().map(d => d.invite(userId, andSubspaces)));
131
+ }
132
+ yield Promise.all(promises);
133
+ })();
134
+ }
135
+ retryInvite(userId) {
136
+ var _this3 = this;
137
+ return simpleRetryOperation(/*#__PURE__*/_asyncToGenerator(function* () {
138
+ yield _this3.client.invite(_this3.roomId, userId).catch(e => {
139
+ // We don't want to retry permission errors forever...
140
+ if ((e === null || e === void 0 ? void 0 : e.errcode) === "M_FORBIDDEN") {
141
+ throw new promiseRetry.AbortError(e);
142
+ }
143
+ throw e;
144
+ });
145
+ }));
146
+ }
147
+
148
+ /**
149
+ * Sets the permissions of a user to the given role. Note that if setting a user
150
+ * to Owner then they will NOT be able to be demoted. If the user does not have
151
+ * permission to change the power level of the target, an error will be thrown.
152
+ * @param userId - The user ID to change the role of.
153
+ * @param role - The role to assign.
154
+ * @returns Promise which resolves when complete.
155
+ */
156
+ setPermissions(userId, role) {
157
+ var _this4 = this;
158
+ return _asyncToGenerator(function* () {
159
+ var _pls$events;
160
+ var currentPls = _this4.room.currentState.getStateEvents(EventType.RoomPowerLevels, "");
161
+ if (Array.isArray(currentPls)) throw new Error("Unexpected return type for power levels");
162
+ var pls = (currentPls === null || currentPls === void 0 ? void 0 : currentPls.getContent()) || {};
163
+ var viewLevel = pls["users_default"] || 0;
164
+ var editLevel = pls["events_default"] || 50;
165
+ var adminLevel = ((_pls$events = pls["events"]) === null || _pls$events === void 0 ? void 0 : _pls$events[EventType.RoomPowerLevels]) || 100;
166
+ var users = pls["users"] || {};
167
+ switch (role) {
168
+ case TreePermissions.Viewer:
169
+ users[userId] = viewLevel;
170
+ break;
171
+ case TreePermissions.Editor:
172
+ users[userId] = editLevel;
173
+ break;
174
+ case TreePermissions.Owner:
175
+ users[userId] = adminLevel;
176
+ break;
177
+ default:
178
+ throw new Error("Invalid role: " + role);
179
+ }
180
+ pls["users"] = users;
181
+ yield _this4.client.sendStateEvent(_this4.roomId, EventType.RoomPowerLevels, pls, "");
182
+ })();
183
+ }
184
+
185
+ /**
186
+ * Gets the current permissions of a user. Note that any users missing explicit permissions (or not
187
+ * in the space) will be considered Viewers. Appropriate membership checks need to be performed
188
+ * elsewhere.
189
+ * @param userId - The user ID to check permissions of.
190
+ * @returns The permissions for the user, defaulting to Viewer.
191
+ */
192
+ getPermissions(userId) {
193
+ var _pls$events2, _pls$users;
194
+ var currentPls = this.room.currentState.getStateEvents(EventType.RoomPowerLevels, "");
195
+ if (Array.isArray(currentPls)) throw new Error("Unexpected return type for power levels");
196
+ var pls = (currentPls === null || currentPls === void 0 ? void 0 : currentPls.getContent()) || {};
197
+ var viewLevel = pls["users_default"] || 0;
198
+ var editLevel = pls["events_default"] || 50;
199
+ var adminLevel = ((_pls$events2 = pls["events"]) === null || _pls$events2 === void 0 ? void 0 : _pls$events2[EventType.RoomPowerLevels]) || 100;
200
+ var userLevel = ((_pls$users = pls["users"]) === null || _pls$users === void 0 ? void 0 : _pls$users[userId]) || viewLevel;
201
+ if (userLevel >= adminLevel) return TreePermissions.Owner;
202
+ if (userLevel >= editLevel) return TreePermissions.Editor;
203
+ return TreePermissions.Viewer;
204
+ }
205
+
206
+ /**
207
+ * Creates a directory under this tree space, represented as another tree space.
208
+ * @param name - The name for the directory.
209
+ * @returns Promise which resolves to the created directory.
210
+ */
211
+ createDirectory(name) {
212
+ var _this5 = this;
213
+ return _asyncToGenerator(function* () {
214
+ var directory = yield _this5.client.unstableCreateFileTree(name);
215
+ yield _this5.client.sendStateEvent(_this5.roomId, EventType.SpaceChild, {
216
+ via: [_this5.client.getDomain()]
217
+ }, directory.roomId);
218
+ yield _this5.client.sendStateEvent(directory.roomId, EventType.SpaceParent, {
219
+ via: [_this5.client.getDomain()]
220
+ }, _this5.roomId);
221
+ return directory;
222
+ })();
223
+ }
224
+
225
+ /**
226
+ * Gets a list of all known immediate subdirectories to this tree space.
227
+ * @returns The tree spaces (directories). May be empty, but not null.
228
+ */
229
+ getDirectories() {
230
+ var trees = [];
231
+ var children = this.room.currentState.getStateEvents(EventType.SpaceChild);
232
+ for (var child of children) {
233
+ try {
234
+ var stateKey = child.getStateKey();
235
+ if (stateKey) {
236
+ var tree = this.client.unstableGetFileTreeSpace(stateKey);
237
+ if (tree) trees.push(tree);
238
+ }
239
+ } catch (e) {
240
+ logger.warn("Unable to create tree space instance for listing. Are we joined?", e);
241
+ }
242
+ }
243
+ return trees;
244
+ }
245
+
246
+ /**
247
+ * Gets a subdirectory of a given ID under this tree space. Note that this will not recurse
248
+ * into children and instead only look one level deep.
249
+ * @param roomId - The room ID (directory ID) to find.
250
+ * @returns The directory, or undefined if not found.
251
+ */
252
+ getDirectory(roomId) {
253
+ return this.getDirectories().find(r => r.roomId === roomId);
254
+ }
255
+
256
+ /**
257
+ * Deletes the tree, kicking all members and deleting **all subdirectories**.
258
+ * @returns Promise which resolves when complete.
259
+ */
260
+ delete() {
261
+ var _this6 = this;
262
+ return _asyncToGenerator(function* () {
263
+ var subdirectories = _this6.getDirectories();
264
+ for (var dir of subdirectories) {
265
+ yield dir.delete();
266
+ }
267
+ var kickMemberships = [KnownMembership.Invite, KnownMembership.Knock, KnownMembership.Join];
268
+ var members = _this6.room.currentState.getStateEvents(EventType.RoomMember);
269
+ for (var member of members) {
270
+ var isNotUs = member.getStateKey() !== _this6.client.getUserId();
271
+ if (isNotUs && kickMemberships.includes(member.getContent().membership)) {
272
+ var stateKey = member.getStateKey();
273
+ if (!stateKey) {
274
+ throw new Error("State key not found for branch");
275
+ }
276
+ yield _this6.client.kick(_this6.roomId, stateKey, "Room deleted");
277
+ }
278
+ }
279
+ yield _this6.client.leave(_this6.roomId);
280
+ })();
281
+ }
282
+ getOrderedChildren(children) {
283
+ var ordered = children.map(c => ({
284
+ roomId: c.getStateKey(),
285
+ order: c.getContent()["order"]
286
+ })).filter(c => c.roomId);
287
+ ordered.sort((a, b) => {
288
+ if (a.order && !b.order) {
289
+ return -1;
290
+ } else if (!a.order && b.order) {
291
+ return 1;
292
+ } else if (!a.order && !b.order) {
293
+ var _roomA$currentState$g, _roomA$currentState$g2, _roomB$currentState$g, _roomB$currentState$g2;
294
+ var roomA = this.client.getRoom(a.roomId);
295
+ var roomB = this.client.getRoom(b.roomId);
296
+ if (!roomA || !roomB) {
297
+ // just don't bother trying to do more partial sorting
298
+ return lexicographicCompare(a.roomId, b.roomId);
299
+ }
300
+ var createTsA = (_roomA$currentState$g = (_roomA$currentState$g2 = roomA.currentState.getStateEvents(EventType.RoomCreate, "")) === null || _roomA$currentState$g2 === void 0 ? void 0 : _roomA$currentState$g2.getTs()) !== null && _roomA$currentState$g !== void 0 ? _roomA$currentState$g : 0;
301
+ var createTsB = (_roomB$currentState$g = (_roomB$currentState$g2 = roomB.currentState.getStateEvents(EventType.RoomCreate, "")) === null || _roomB$currentState$g2 === void 0 ? void 0 : _roomB$currentState$g2.getTs()) !== null && _roomB$currentState$g !== void 0 ? _roomB$currentState$g : 0;
302
+ if (createTsA === createTsB) {
303
+ return lexicographicCompare(a.roomId, b.roomId);
304
+ }
305
+ return createTsA - createTsB;
306
+ } else {
307
+ // both not-null orders
308
+ return lexicographicCompare(a.order, b.order);
309
+ }
310
+ });
311
+ return ordered;
312
+ }
313
+ getParentRoom() {
314
+ var parents = this.room.currentState.getStateEvents(EventType.SpaceParent);
315
+ var parent = parents[0]; // XXX: Wild assumption
316
+ if (!parent) throw new Error("Expected to have a parent in a non-top level space");
317
+
318
+ // XXX: We are assuming the parent is a valid tree space.
319
+ // We probably don't need to validate the parent room state for this usecase though.
320
+ var stateKey = parent.getStateKey();
321
+ if (!stateKey) throw new Error("No state key found for parent");
322
+ var parentRoom = this.client.getRoom(stateKey);
323
+ if (!parentRoom) throw new Error("Unable to locate room for parent");
324
+ return parentRoom;
325
+ }
326
+
327
+ /**
328
+ * Gets the current order index for this directory. Note that if this is the top level space
329
+ * then -1 will be returned.
330
+ * @returns The order index of this space.
331
+ */
332
+ getOrder() {
333
+ if (this.isTopLevel) return -1;
334
+ var parentRoom = this.getParentRoom();
335
+ var children = parentRoom.currentState.getStateEvents(EventType.SpaceChild);
336
+ var ordered = this.getOrderedChildren(children);
337
+ return ordered.findIndex(c => c.roomId === this.roomId);
338
+ }
339
+
340
+ /**
341
+ * Sets the order index for this directory within its parent. Note that if this is a top level
342
+ * space then an error will be thrown. -1 can be used to move the child to the start, and numbers
343
+ * larger than the number of children can be used to move the child to the end.
344
+ * @param index - The new order index for this space.
345
+ * @returns Promise which resolves when complete.
346
+ * @throws Throws if this is a top level space.
347
+ */
348
+ setOrder(index) {
349
+ var _this7 = this;
350
+ return _asyncToGenerator(function* () {
351
+ var _currentChild$getCont2;
352
+ if (_this7.isTopLevel) throw new Error("Cannot set order of top level spaces currently");
353
+ var parentRoom = _this7.getParentRoom();
354
+ var children = parentRoom.currentState.getStateEvents(EventType.SpaceChild);
355
+ var ordered = _this7.getOrderedChildren(children);
356
+ index = Math.max(Math.min(index, ordered.length - 1), 0);
357
+ var currentIndex = _this7.getOrder();
358
+ var movingUp = currentIndex < index;
359
+ if (movingUp && index === ordered.length - 1) {
360
+ index--;
361
+ } else if (!movingUp && index === 0) {
362
+ index++;
363
+ }
364
+ var prev = ordered[movingUp ? index : index - 1];
365
+ var next = ordered[movingUp ? index + 1 : index];
366
+ var newOrder = DEFAULT_ALPHABET[0];
367
+ var ensureBeforeIsSane = false;
368
+ if (!prev) {
369
+ // Move to front
370
+ if (next !== null && next !== void 0 && next.order) {
371
+ newOrder = prevString(next.order);
372
+ }
373
+ } else if (index === ordered.length - 1) {
374
+ // Move to back
375
+ if (next !== null && next !== void 0 && next.order) {
376
+ newOrder = nextString(next.order);
377
+ }
378
+ } else {
379
+ // Move somewhere in the middle
380
+ var startOrder = prev === null || prev === void 0 ? void 0 : prev.order;
381
+ var endOrder = next === null || next === void 0 ? void 0 : next.order;
382
+ if (startOrder && endOrder) {
383
+ if (startOrder === endOrder) {
384
+ // Error case: just move +1 to break out of awful math
385
+ newOrder = nextString(startOrder);
386
+ } else {
387
+ newOrder = averageBetweenStrings(startOrder, endOrder);
388
+ }
389
+ } else {
390
+ if (startOrder) {
391
+ // We're at the end (endOrder is null, so no explicit order)
392
+ newOrder = nextString(startOrder);
393
+ } else if (endOrder) {
394
+ // We're at the start (startOrder is null, so nothing before us)
395
+ newOrder = prevString(endOrder);
396
+ } else {
397
+ // Both points are unknown. We're likely in a range where all the children
398
+ // don't have particular order values, so we may need to update them too.
399
+ // The other possibility is there's only us as a child, but we should have
400
+ // shown up in the other states.
401
+ ensureBeforeIsSane = true;
402
+ }
403
+ }
404
+ }
405
+ if (ensureBeforeIsSane) {
406
+ // We were asked by the order algorithm to prepare the moving space for a landing
407
+ // in the undefined order part of the order array, which means we need to update the
408
+ // spaces that come before it with a stable order value.
409
+ var lastOrder;
410
+ for (var i = 0; i <= index; i++) {
411
+ var target = ordered[i];
412
+ if (i === 0) {
413
+ lastOrder = target.order;
414
+ }
415
+ if (!target.order) {
416
+ var _currentChild$getCont;
417
+ // XXX: We should be creating gaps to avoid conflicts
418
+ lastOrder = lastOrder ? nextString(lastOrder) : DEFAULT_ALPHABET[0];
419
+ var _currentChild = parentRoom.currentState.getStateEvents(EventType.SpaceChild, target.roomId);
420
+ var _content = (_currentChild$getCont = _currentChild === null || _currentChild === void 0 ? void 0 : _currentChild.getContent()) !== null && _currentChild$getCont !== void 0 ? _currentChild$getCont : {
421
+ via: [_this7.client.getDomain()]
422
+ };
423
+ yield _this7.client.sendStateEvent(parentRoom.roomId, EventType.SpaceChild, _objectSpread(_objectSpread({}, _content), {}, {
424
+ order: lastOrder
425
+ }), target.roomId);
426
+ } else {
427
+ lastOrder = target.order;
428
+ }
429
+ }
430
+ if (lastOrder) {
431
+ newOrder = nextString(lastOrder);
432
+ }
433
+ }
434
+
435
+ // TODO: Deal with order conflicts by reordering
436
+
437
+ // Now we can finally update our own order state
438
+ var currentChild = parentRoom.currentState.getStateEvents(EventType.SpaceChild, _this7.roomId);
439
+ var content = (_currentChild$getCont2 = currentChild === null || currentChild === void 0 ? void 0 : currentChild.getContent()) !== null && _currentChild$getCont2 !== void 0 ? _currentChild$getCont2 : {
440
+ via: [_this7.client.getDomain()]
441
+ };
442
+ yield _this7.client.sendStateEvent(parentRoom.roomId, EventType.SpaceChild, _objectSpread(_objectSpread({}, content), {}, {
443
+ // TODO: Safely constrain to 50 character limit required by spaces.
444
+ order: newOrder
445
+ }), _this7.roomId);
446
+ })();
447
+ }
448
+
449
+ /**
450
+ * Creates (uploads) a new file to this tree. The file must have already been encrypted for the room.
451
+ * The file contents are in a type that is compatible with MatrixClient.uploadContent().
452
+ * @param name - The name of the file.
453
+ * @param encryptedContents - The encrypted contents.
454
+ * @param info - The encrypted file information.
455
+ * @param additionalContent - Optional event content fields to include in the message.
456
+ * @returns Promise which resolves to the file event's sent response.
457
+ */
458
+ createFile(name, encryptedContents, info, additionalContent) {
459
+ var _this8 = this;
460
+ return _asyncToGenerator(function* () {
461
+ var _additionalContent;
462
+ var {
463
+ content_uri: mxc
464
+ } = yield _this8.client.uploadContent(encryptedContents, {
465
+ includeFilename: false
466
+ });
467
+ info.url = mxc;
468
+ var fileContent = {
469
+ msgtype: MsgType.File,
470
+ body: name,
471
+ url: mxc,
472
+ file: info
473
+ };
474
+ additionalContent = (_additionalContent = additionalContent) !== null && _additionalContent !== void 0 ? _additionalContent : {};
475
+ if (additionalContent["m.new_content"]) {
476
+ // We do the right thing according to the spec, but due to how relations are
477
+ // handled we also end up duplicating this information to the regular `content`
478
+ // as well.
479
+ additionalContent["m.new_content"] = fileContent;
480
+ }
481
+ var res = yield _this8.client.sendMessage(_this8.roomId, _objectSpread(_objectSpread(_objectSpread({}, additionalContent), fileContent), {}, {
482
+ [UNSTABLE_MSC3089_LEAF.name]: {}
483
+ }));
484
+ yield _this8.client.sendStateEvent(_this8.roomId, UNSTABLE_MSC3089_BRANCH.name, {
485
+ active: true,
486
+ name: name
487
+ }, res["event_id"]);
488
+ return res;
489
+ })();
490
+ }
491
+
492
+ /**
493
+ * Retrieves a file from the tree.
494
+ * @param fileEventId - The event ID of the file.
495
+ * @returns The file, or null if not found.
496
+ */
497
+ getFile(fileEventId) {
498
+ var branch = this.room.currentState.getStateEvents(UNSTABLE_MSC3089_BRANCH.name, fileEventId);
499
+ return branch ? new MSC3089Branch(this.client, branch, this) : null;
500
+ }
501
+
502
+ /**
503
+ * Gets an array of all known files for the tree.
504
+ * @returns The known files. May be empty, but not null.
505
+ */
506
+ listFiles() {
507
+ return this.listAllFiles().filter(b => b.isActive);
508
+ }
509
+
510
+ /**
511
+ * Gets an array of all known files for the tree, including inactive/invalid ones.
512
+ * @returns The known files. May be empty, but not null.
513
+ */
514
+ listAllFiles() {
515
+ var _this$room$currentSta;
516
+ var branches = (_this$room$currentSta = this.room.currentState.getStateEvents(UNSTABLE_MSC3089_BRANCH.name)) !== null && _this$room$currentSta !== void 0 ? _this$room$currentSta : [];
517
+ return branches.map(e => new MSC3089Branch(this.client, e, this));
518
+ }
519
+ }
520
+ //# sourceMappingURL=MSC3089TreeSpace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MSC3089TreeSpace.js","names":["promiseRetry","EventType","MsgType","UNSTABLE_MSC3089_BRANCH","UNSTABLE_MSC3089_LEAF","logger","averageBetweenStrings","DEFAULT_ALPHABET","lexicographicCompare","nextString","prevString","simpleRetryOperation","MSC3089Branch","KnownMembership","DEFAULT_TREE_POWER_LEVELS_TEMPLATE","invite","kick","ban","redact","state_default","events_default","users_default","events","RoomPowerLevels","RoomHistoryVisibility","RoomTombstone","RoomEncryption","RoomName","RoomMessage","RoomMessageEncrypted","Sticker","users","TreePermissions","MSC3089TreeSpace","constructor","client","roomId","_defineProperty","room","getRoom","Error","id","isTopLevel","parentEvents","currentState","getStateEvents","SpaceParent","length","every","e","_e$getContent","getContent","setName","name","_this","_asyncToGenerator","sendStateEvent","userId","_arguments","arguments","_this2","andSubspaces","undefined","promises","retryInvite","push","getDirectories","map","d","Promise","all","_this3","catch","errcode","AbortError","setPermissions","role","_this4","_pls$events","currentPls","Array","isArray","pls","viewLevel","editLevel","adminLevel","Viewer","Editor","Owner","getPermissions","_pls$events2","_pls$users","userLevel","createDirectory","_this5","directory","unstableCreateFileTree","SpaceChild","via","getDomain","trees","children","child","stateKey","getStateKey","tree","unstableGetFileTreeSpace","warn","getDirectory","find","r","delete","_this6","subdirectories","dir","kickMemberships","Invite","Knock","Join","members","RoomMember","member","isNotUs","getUserId","includes","membership","leave","getOrderedChildren","ordered","c","order","filter","sort","a","b","_roomA$currentState$g","_roomA$currentState$g2","_roomB$currentState$g","_roomB$currentState$g2","roomA","roomB","createTsA","RoomCreate","getTs","createTsB","getParentRoom","parents","parent","parentRoom","getOrder","findIndex","setOrder","index","_this7","_currentChild$getCont2","Math","max","min","currentIndex","movingUp","prev","next","newOrder","ensureBeforeIsSane","startOrder","endOrder","lastOrder","i","target","_currentChild$getCont","currentChild","content","_objectSpread","createFile","encryptedContents","info","additionalContent","_this8","_additionalContent","content_uri","mxc","uploadContent","includeFilename","url","fileContent","msgtype","File","body","file","res","sendMessage","active","getFile","fileEventId","branch","listFiles","listAllFiles","isActive","_this$room$currentSta","branches"],"sources":["../../src/models/MSC3089TreeSpace.ts"],"sourcesContent":["/*\nCopyright 2021 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 promiseRetry from \"p-retry\";\n\nimport { MatrixClient } from \"../client.ts\";\nimport { EventType, MsgType, UNSTABLE_MSC3089_BRANCH, UNSTABLE_MSC3089_LEAF } from \"../@types/event.ts\";\nimport { Room } from \"./room.ts\";\nimport { logger } from \"../logger.ts\";\nimport { IContent, MatrixEvent } from \"./event.ts\";\nimport {\n averageBetweenStrings,\n DEFAULT_ALPHABET,\n lexicographicCompare,\n nextString,\n prevString,\n simpleRetryOperation,\n} from \"../utils.ts\";\nimport { MSC3089Branch } from \"./MSC3089Branch.ts\";\nimport { ISendEventResponse } from \"../@types/requests.ts\";\nimport { FileType } from \"../http-api/index.ts\";\nimport { KnownMembership } from \"../@types/membership.ts\";\nimport { RoomPowerLevelsEventContent, SpaceChildEventContent } from \"../@types/state_events.ts\";\nimport type { EncryptedFile, FileContent } from \"../@types/media.ts\";\n\n/**\n * The recommended defaults for a tree space's power levels. Note that this\n * is UNSTABLE and subject to breaking changes without notice.\n */\nexport const DEFAULT_TREE_POWER_LEVELS_TEMPLATE = {\n // Owner\n invite: 100,\n kick: 100,\n ban: 100,\n\n // Editor\n redact: 50,\n state_default: 50,\n events_default: 50,\n\n // Viewer\n users_default: 0,\n\n // Mixed\n events: {\n [EventType.RoomPowerLevels]: 100,\n [EventType.RoomHistoryVisibility]: 100,\n [EventType.RoomTombstone]: 100,\n [EventType.RoomEncryption]: 100,\n [EventType.RoomName]: 50,\n [EventType.RoomMessage]: 50,\n [EventType.RoomMessageEncrypted]: 50,\n [EventType.Sticker]: 50,\n },\n\n users: {}, // defined by calling code\n};\n\n/**\n * Ease-of-use representation for power levels represented as simple roles.\n * Note that this is UNSTABLE and subject to breaking changes without notice.\n */\nexport enum TreePermissions {\n Viewer = \"viewer\", // Default\n Editor = \"editor\", // \"Moderator\" or ~PL50\n Owner = \"owner\", // \"Admin\" or PL100\n}\n\ndeclare module \"../@types/media\" {\n interface FileContent {\n [UNSTABLE_MSC3089_LEAF.name]?: {};\n }\n}\n\n/**\n * Represents a [MSC3089](https://github.com/matrix-org/matrix-doc/pull/3089)\n * file tree Space. Note that this is UNSTABLE and subject to breaking changes\n * without notice.\n */\nexport class MSC3089TreeSpace {\n public readonly room: Room;\n\n public constructor(\n private client: MatrixClient,\n public readonly roomId: string,\n ) {\n this.room = this.client.getRoom(this.roomId)!;\n\n if (!this.room) throw new Error(\"Unknown room\");\n }\n\n /**\n * Syntactic sugar for room ID of the Space.\n */\n public get id(): string {\n return this.roomId;\n }\n\n /**\n * Whether or not this is a top level space.\n */\n public get isTopLevel(): boolean {\n // XXX: This is absolutely not how you find out if the space is top level\n // but is safe for a managed usecase like we offer in the SDK.\n const parentEvents = this.room.currentState.getStateEvents(EventType.SpaceParent);\n if (!parentEvents?.length) return true;\n return parentEvents.every((e) => !e.getContent()?.[\"via\"]);\n }\n\n /**\n * Sets the name of the tree space.\n * @param name - The new name for the space.\n * @returns Promise which resolves when complete.\n */\n public async setName(name: string): Promise<void> {\n await this.client.sendStateEvent(this.roomId, EventType.RoomName, { name }, \"\");\n }\n\n /**\n * Invites a user to the tree space. They will be given the default Viewer\n * permission level unless specified elsewhere.\n * @param userId - The user ID to invite.\n * @param andSubspaces - True (default) to invite the user to all\n * directories/subspaces too, recursively.\n * @returns Promise which resolves when complete.\n */\n public async invite(userId: string, andSubspaces = true): Promise<void> {\n const promises: Promise<void>[] = [this.retryInvite(userId)];\n if (andSubspaces) {\n promises.push(...this.getDirectories().map((d) => d.invite(userId, andSubspaces)));\n }\n await Promise.all(promises);\n }\n\n private retryInvite(userId: string): Promise<void> {\n return simpleRetryOperation(async () => {\n await this.client.invite(this.roomId, userId).catch((e) => {\n // We don't want to retry permission errors forever...\n if (e?.errcode === \"M_FORBIDDEN\") {\n throw new promiseRetry.AbortError(e);\n }\n throw e;\n });\n });\n }\n\n /**\n * Sets the permissions of a user to the given role. Note that if setting a user\n * to Owner then they will NOT be able to be demoted. If the user does not have\n * permission to change the power level of the target, an error will be thrown.\n * @param userId - The user ID to change the role of.\n * @param role - The role to assign.\n * @returns Promise which resolves when complete.\n */\n public async setPermissions(userId: string, role: TreePermissions): Promise<void> {\n const currentPls = this.room.currentState.getStateEvents(EventType.RoomPowerLevels, \"\");\n if (Array.isArray(currentPls)) throw new Error(\"Unexpected return type for power levels\");\n\n const pls = currentPls?.getContent<RoomPowerLevelsEventContent>() || {};\n const viewLevel = pls[\"users_default\"] || 0;\n const editLevel = pls[\"events_default\"] || 50;\n const adminLevel = pls[\"events\"]?.[EventType.RoomPowerLevels] || 100;\n\n const users = pls[\"users\"] || {};\n switch (role) {\n case TreePermissions.Viewer:\n users[userId] = viewLevel;\n break;\n case TreePermissions.Editor:\n users[userId] = editLevel;\n break;\n case TreePermissions.Owner:\n users[userId] = adminLevel;\n break;\n default:\n throw new Error(\"Invalid role: \" + role);\n }\n pls[\"users\"] = users;\n\n await this.client.sendStateEvent(this.roomId, EventType.RoomPowerLevels, pls, \"\");\n }\n\n /**\n * Gets the current permissions of a user. Note that any users missing explicit permissions (or not\n * in the space) will be considered Viewers. Appropriate membership checks need to be performed\n * elsewhere.\n * @param userId - The user ID to check permissions of.\n * @returns The permissions for the user, defaulting to Viewer.\n */\n public getPermissions(userId: string): TreePermissions {\n const currentPls = this.room.currentState.getStateEvents(EventType.RoomPowerLevels, \"\");\n if (Array.isArray(currentPls)) throw new Error(\"Unexpected return type for power levels\");\n\n const pls = currentPls?.getContent() || {};\n const viewLevel = pls[\"users_default\"] || 0;\n const editLevel = pls[\"events_default\"] || 50;\n const adminLevel = pls[\"events\"]?.[EventType.RoomPowerLevels] || 100;\n\n const userLevel = pls[\"users\"]?.[userId] || viewLevel;\n if (userLevel >= adminLevel) return TreePermissions.Owner;\n if (userLevel >= editLevel) return TreePermissions.Editor;\n return TreePermissions.Viewer;\n }\n\n /**\n * Creates a directory under this tree space, represented as another tree space.\n * @param name - The name for the directory.\n * @returns Promise which resolves to the created directory.\n */\n public async createDirectory(name: string): Promise<MSC3089TreeSpace> {\n const directory = await this.client.unstableCreateFileTree(name);\n\n await this.client.sendStateEvent(\n this.roomId,\n EventType.SpaceChild,\n {\n via: [this.client.getDomain()!],\n },\n directory.roomId,\n );\n\n await this.client.sendStateEvent(\n directory.roomId,\n EventType.SpaceParent,\n {\n via: [this.client.getDomain()!],\n },\n this.roomId,\n );\n\n return directory;\n }\n\n /**\n * Gets a list of all known immediate subdirectories to this tree space.\n * @returns The tree spaces (directories). May be empty, but not null.\n */\n public getDirectories(): MSC3089TreeSpace[] {\n const trees: MSC3089TreeSpace[] = [];\n const children = this.room.currentState.getStateEvents(EventType.SpaceChild);\n for (const child of children) {\n try {\n const stateKey = child.getStateKey();\n if (stateKey) {\n const tree = this.client.unstableGetFileTreeSpace(stateKey);\n if (tree) trees.push(tree);\n }\n } catch (e) {\n logger.warn(\"Unable to create tree space instance for listing. Are we joined?\", e);\n }\n }\n return trees;\n }\n\n /**\n * Gets a subdirectory of a given ID under this tree space. Note that this will not recurse\n * into children and instead only look one level deep.\n * @param roomId - The room ID (directory ID) to find.\n * @returns The directory, or undefined if not found.\n */\n public getDirectory(roomId: string): MSC3089TreeSpace | undefined {\n return this.getDirectories().find((r) => r.roomId === roomId);\n }\n\n /**\n * Deletes the tree, kicking all members and deleting **all subdirectories**.\n * @returns Promise which resolves when complete.\n */\n public async delete(): Promise<void> {\n const subdirectories = this.getDirectories();\n for (const dir of subdirectories) {\n await dir.delete();\n }\n\n const kickMemberships = [KnownMembership.Invite, KnownMembership.Knock, KnownMembership.Join];\n const members = this.room.currentState.getStateEvents(EventType.RoomMember);\n for (const member of members) {\n const isNotUs = member.getStateKey() !== this.client.getUserId();\n if (isNotUs && kickMemberships.includes(member.getContent().membership! as KnownMembership)) {\n const stateKey = member.getStateKey();\n if (!stateKey) {\n throw new Error(\"State key not found for branch\");\n }\n await this.client.kick(this.roomId, stateKey, \"Room deleted\");\n }\n }\n\n await this.client.leave(this.roomId);\n }\n\n private getOrderedChildren(children: MatrixEvent[]): { roomId: string; order: string }[] {\n const ordered: { roomId: string; order: string }[] = children\n .map((c) => ({ roomId: c.getStateKey(), order: c.getContent()[\"order\"] }))\n .filter((c) => c.roomId) as { roomId: string; order: string }[];\n ordered.sort((a, b) => {\n if (a.order && !b.order) {\n return -1;\n } else if (!a.order && b.order) {\n return 1;\n } else if (!a.order && !b.order) {\n const roomA = this.client.getRoom(a.roomId);\n const roomB = this.client.getRoom(b.roomId);\n if (!roomA || !roomB) {\n // just don't bother trying to do more partial sorting\n return lexicographicCompare(a.roomId, b.roomId);\n }\n\n const createTsA = roomA.currentState.getStateEvents(EventType.RoomCreate, \"\")?.getTs() ?? 0;\n const createTsB = roomB.currentState.getStateEvents(EventType.RoomCreate, \"\")?.getTs() ?? 0;\n if (createTsA === createTsB) {\n return lexicographicCompare(a.roomId, b.roomId);\n }\n return createTsA - createTsB;\n } else {\n // both not-null orders\n return lexicographicCompare(a.order, b.order);\n }\n });\n return ordered;\n }\n\n private getParentRoom(): Room {\n const parents = this.room.currentState.getStateEvents(EventType.SpaceParent);\n const parent = parents[0]; // XXX: Wild assumption\n if (!parent) throw new Error(\"Expected to have a parent in a non-top level space\");\n\n // XXX: We are assuming the parent is a valid tree space.\n // We probably don't need to validate the parent room state for this usecase though.\n const stateKey = parent.getStateKey();\n if (!stateKey) throw new Error(\"No state key found for parent\");\n const parentRoom = this.client.getRoom(stateKey);\n if (!parentRoom) throw new Error(\"Unable to locate room for parent\");\n\n return parentRoom;\n }\n\n /**\n * Gets the current order index for this directory. Note that if this is the top level space\n * then -1 will be returned.\n * @returns The order index of this space.\n */\n public getOrder(): number {\n if (this.isTopLevel) return -1;\n\n const parentRoom = this.getParentRoom();\n const children = parentRoom.currentState.getStateEvents(EventType.SpaceChild);\n const ordered = this.getOrderedChildren(children);\n\n return ordered.findIndex((c) => c.roomId === this.roomId);\n }\n\n /**\n * Sets the order index for this directory within its parent. Note that if this is a top level\n * space then an error will be thrown. -1 can be used to move the child to the start, and numbers\n * larger than the number of children can be used to move the child to the end.\n * @param index - The new order index for this space.\n * @returns Promise which resolves when complete.\n * @throws Throws if this is a top level space.\n */\n public async setOrder(index: number): Promise<void> {\n if (this.isTopLevel) throw new Error(\"Cannot set order of top level spaces currently\");\n\n const parentRoom = this.getParentRoom();\n const children = parentRoom.currentState.getStateEvents(EventType.SpaceChild);\n const ordered = this.getOrderedChildren(children);\n index = Math.max(Math.min(index, ordered.length - 1), 0);\n\n const currentIndex = this.getOrder();\n const movingUp = currentIndex < index;\n if (movingUp && index === ordered.length - 1) {\n index--;\n } else if (!movingUp && index === 0) {\n index++;\n }\n\n const prev = ordered[movingUp ? index : index - 1];\n const next = ordered[movingUp ? index + 1 : index];\n\n let newOrder = DEFAULT_ALPHABET[0];\n let ensureBeforeIsSane = false;\n if (!prev) {\n // Move to front\n if (next?.order) {\n newOrder = prevString(next.order);\n }\n } else if (index === ordered.length - 1) {\n // Move to back\n if (next?.order) {\n newOrder = nextString(next.order);\n }\n } else {\n // Move somewhere in the middle\n const startOrder = prev?.order;\n const endOrder = next?.order;\n if (startOrder && endOrder) {\n if (startOrder === endOrder) {\n // Error case: just move +1 to break out of awful math\n newOrder = nextString(startOrder);\n } else {\n newOrder = averageBetweenStrings(startOrder, endOrder);\n }\n } else {\n if (startOrder) {\n // We're at the end (endOrder is null, so no explicit order)\n newOrder = nextString(startOrder);\n } else if (endOrder) {\n // We're at the start (startOrder is null, so nothing before us)\n newOrder = prevString(endOrder);\n } else {\n // Both points are unknown. We're likely in a range where all the children\n // don't have particular order values, so we may need to update them too.\n // The other possibility is there's only us as a child, but we should have\n // shown up in the other states.\n ensureBeforeIsSane = true;\n }\n }\n }\n\n if (ensureBeforeIsSane) {\n // We were asked by the order algorithm to prepare the moving space for a landing\n // in the undefined order part of the order array, which means we need to update the\n // spaces that come before it with a stable order value.\n let lastOrder: string | undefined;\n for (let i = 0; i <= index; i++) {\n const target = ordered[i];\n if (i === 0) {\n lastOrder = target.order;\n }\n if (!target.order) {\n // XXX: We should be creating gaps to avoid conflicts\n lastOrder = lastOrder ? nextString(lastOrder) : DEFAULT_ALPHABET[0];\n const currentChild = parentRoom.currentState.getStateEvents(EventType.SpaceChild, target.roomId);\n const content = currentChild?.getContent<SpaceChildEventContent>() ?? {\n via: [this.client.getDomain()!],\n };\n await this.client.sendStateEvent(\n parentRoom.roomId,\n EventType.SpaceChild,\n {\n ...content,\n order: lastOrder,\n },\n target.roomId,\n );\n } else {\n lastOrder = target.order;\n }\n }\n if (lastOrder) {\n newOrder = nextString(lastOrder);\n }\n }\n\n // TODO: Deal with order conflicts by reordering\n\n // Now we can finally update our own order state\n const currentChild = parentRoom.currentState.getStateEvents(EventType.SpaceChild, this.roomId);\n const content = currentChild?.getContent<SpaceChildEventContent>() ?? { via: [this.client.getDomain()!] };\n await this.client.sendStateEvent(\n parentRoom.roomId,\n EventType.SpaceChild,\n {\n ...content,\n\n // TODO: Safely constrain to 50 character limit required by spaces.\n order: newOrder,\n },\n this.roomId,\n );\n }\n\n /**\n * Creates (uploads) a new file to this tree. The file must have already been encrypted for the room.\n * The file contents are in a type that is compatible with MatrixClient.uploadContent().\n * @param name - The name of the file.\n * @param encryptedContents - The encrypted contents.\n * @param info - The encrypted file information.\n * @param additionalContent - Optional event content fields to include in the message.\n * @returns Promise which resolves to the file event's sent response.\n */\n public async createFile(\n name: string,\n encryptedContents: FileType,\n info: EncryptedFile,\n additionalContent?: IContent,\n ): Promise<ISendEventResponse> {\n const { content_uri: mxc } = await this.client.uploadContent(encryptedContents, {\n includeFilename: false,\n });\n info.url = mxc;\n\n const fileContent: FileContent = {\n msgtype: MsgType.File,\n body: name,\n url: mxc,\n file: info,\n };\n\n additionalContent = additionalContent ?? {};\n if (additionalContent[\"m.new_content\"]) {\n // We do the right thing according to the spec, but due to how relations are\n // handled we also end up duplicating this information to the regular `content`\n // as well.\n additionalContent[\"m.new_content\"] = fileContent;\n }\n\n const res = await this.client.sendMessage(this.roomId, {\n ...additionalContent,\n ...fileContent,\n [UNSTABLE_MSC3089_LEAF.name]: {},\n } as FileContent);\n\n await this.client.sendStateEvent(\n this.roomId,\n UNSTABLE_MSC3089_BRANCH.name,\n {\n active: true,\n name: name,\n },\n res[\"event_id\"],\n );\n\n return res;\n }\n\n /**\n * Retrieves a file from the tree.\n * @param fileEventId - The event ID of the file.\n * @returns The file, or null if not found.\n */\n public getFile(fileEventId: string): MSC3089Branch | null {\n const branch = this.room.currentState.getStateEvents(UNSTABLE_MSC3089_BRANCH.name, fileEventId);\n return branch ? new MSC3089Branch(this.client, branch, this) : null;\n }\n\n /**\n * Gets an array of all known files for the tree.\n * @returns The known files. May be empty, but not null.\n */\n public listFiles(): MSC3089Branch[] {\n return this.listAllFiles().filter((b) => b.isActive);\n }\n\n /**\n * Gets an array of all known files for the tree, including inactive/invalid ones.\n * @returns The known files. May be empty, but not null.\n */\n public listAllFiles(): MSC3089Branch[] {\n const branches = this.room.currentState.getStateEvents(UNSTABLE_MSC3089_BRANCH.name) ?? [];\n return branches.map((e) => new MSC3089Branch(this.client, e, this));\n }\n}\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,YAAY,MAAM,SAAS;AAGlC,SAASC,SAAS,EAAEC,OAAO,EAAEC,uBAAuB,EAAEC,qBAAqB,QAAQ,oBAAoB;AAEvG,SAASC,MAAM,QAAQ,cAAc;AAErC,SACIC,qBAAqB,EACrBC,gBAAgB,EAChBC,oBAAoB,EACpBC,UAAU,EACVC,UAAU,EACVC,oBAAoB,QACjB,aAAa;AACpB,SAASC,aAAa,QAAQ,oBAAoB;AAGlD,SAASC,eAAe,QAAQ,yBAAyB;AAIzD;AACA;AACA;AACA;AACA,OAAO,IAAMC,kCAAkC,GAAG;EAC9C;EACAC,MAAM,EAAE,GAAG;EACXC,IAAI,EAAE,GAAG;EACTC,GAAG,EAAE,GAAG;EAER;EACAC,MAAM,EAAE,EAAE;EACVC,aAAa,EAAE,EAAE;EACjBC,cAAc,EAAE,EAAE;EAElB;EACAC,aAAa,EAAE,CAAC;EAEhB;EACAC,MAAM,EAAE;IACJ,CAACrB,SAAS,CAACsB,eAAe,GAAG,GAAG;IAChC,CAACtB,SAAS,CAACuB,qBAAqB,GAAG,GAAG;IACtC,CAACvB,SAAS,CAACwB,aAAa,GAAG,GAAG;IAC9B,CAACxB,SAAS,CAACyB,cAAc,GAAG,GAAG;IAC/B,CAACzB,SAAS,CAAC0B,QAAQ,GAAG,EAAE;IACxB,CAAC1B,SAAS,CAAC2B,WAAW,GAAG,EAAE;IAC3B,CAAC3B,SAAS,CAAC4B,oBAAoB,GAAG,EAAE;IACpC,CAAC5B,SAAS,CAAC6B,OAAO,GAAG;EACzB,CAAC;EAEDC,KAAK,EAAE,CAAC,CAAC,CAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA,OAGN;AASrB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,CAAC;EAGnBC,WAAWA,CACNC,MAAoB,EACZC,MAAc,EAChC;IAAA,KAFUD,MAAoB,GAApBA,MAAoB;IAAA,KACZC,MAAc,GAAdA,MAAc;IAAAC,eAAA;IAE9B,IAAI,CAACC,IAAI,GAAG,IAAI,CAACH,MAAM,CAACI,OAAO,CAAC,IAAI,CAACH,MAAM,CAAE;IAE7C,IAAI,CAAC,IAAI,CAACE,IAAI,EAAE,MAAM,IAAIE,KAAK,CAAC,cAAc,CAAC;EACnD;;EAEA;AACJ;AACA;EACI,IAAWC,EAAEA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACL,MAAM;EACtB;;EAEA;AACJ;AACA;EACI,IAAWM,UAAUA,CAAA,EAAY;IAC7B;IACA;IACA,IAAMC,YAAY,GAAG,IAAI,CAACL,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAAC6C,WAAW,CAAC;IACjF,IAAI,EAACH,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEI,MAAM,GAAE,OAAO,IAAI;IACtC,OAAOJ,YAAY,CAACK,KAAK,CAAEC,CAAC;MAAA,IAAAC,aAAA;MAAA,OAAK,GAAAA,aAAA,GAACD,CAAC,CAACE,UAAU,CAAC,CAAC,cAAAD,aAAA,eAAdA,aAAA,CAAiB,KAAK,CAAC;IAAA,EAAC;EAC9D;;EAEA;AACJ;AACA;AACA;AACA;EACiBE,OAAOA,CAACC,IAAY,EAAiB;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MAC9C,MAAMD,KAAI,CAACnB,MAAM,CAACqB,cAAc,CAACF,KAAI,CAAClB,MAAM,EAAEnC,SAAS,CAAC0B,QAAQ,EAAE;QAAE0B;MAAK,CAAC,EAAE,EAAE,CAAC;IAAC;EACpF;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACiBtC,MAAMA,CAAC0C,MAAc,EAAsC;IAAA,IAAAC,UAAA,GAAAC,SAAA;MAAAC,MAAA;IAAA,OAAAL,iBAAA;MAAA,IAApCM,YAAY,GAAAH,UAAA,CAAAX,MAAA,QAAAW,UAAA,QAAAI,SAAA,GAAAJ,UAAA,MAAG,IAAI;MACnD,IAAMK,QAAyB,GAAG,CAACH,MAAI,CAACI,WAAW,CAACP,MAAM,CAAC,CAAC;MAC5D,IAAII,YAAY,EAAE;QACdE,QAAQ,CAACE,IAAI,CAAC,GAAGL,MAAI,CAACM,cAAc,CAAC,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACrD,MAAM,CAAC0C,MAAM,EAAEI,YAAY,CAAC,CAAC,CAAC;MACtF;MACA,MAAMQ,OAAO,CAACC,GAAG,CAACP,QAAQ,CAAC;IAAC;EAChC;EAEQC,WAAWA,CAACP,MAAc,EAAiB;IAAA,IAAAc,MAAA;IAC/C,OAAO5D,oBAAoB,cAAA4C,iBAAA,CAAC,aAAY;MACpC,MAAMgB,MAAI,CAACpC,MAAM,CAACpB,MAAM,CAACwD,MAAI,CAACnC,MAAM,EAAEqB,MAAM,CAAC,CAACe,KAAK,CAAEvB,CAAC,IAAK;QACvD;QACA,IAAI,CAAAA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEwB,OAAO,MAAK,aAAa,EAAE;UAC9B,MAAM,IAAIzE,YAAY,CAAC0E,UAAU,CAACzB,CAAC,CAAC;QACxC;QACA,MAAMA,CAAC;MACX,CAAC,CAAC;IACN,CAAC,EAAC;EACN;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACiB0B,cAAcA,CAAClB,MAAc,EAAEmB,IAAqB,EAAiB;IAAA,IAAAC,MAAA;IAAA,OAAAtB,iBAAA;MAAA,IAAAuB,WAAA;MAC9E,IAAMC,UAAU,GAAGF,MAAI,CAACvC,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACsB,eAAe,EAAE,EAAE,CAAC;MACvF,IAAIyD,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE,MAAM,IAAIvC,KAAK,CAAC,yCAAyC,CAAC;MAEzF,IAAM0C,GAAG,GAAG,CAAAH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE5B,UAAU,CAA8B,CAAC,KAAI,CAAC,CAAC;MACvE,IAAMgC,SAAS,GAAGD,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;MAC3C,IAAME,SAAS,GAAGF,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE;MAC7C,IAAMG,UAAU,GAAG,EAAAP,WAAA,GAAAI,GAAG,CAAC,QAAQ,CAAC,cAAAJ,WAAA,uBAAbA,WAAA,CAAgB7E,SAAS,CAACsB,eAAe,CAAC,KAAI,GAAG;MAEpE,IAAMQ,KAAK,GAAGmD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;MAChC,QAAQN,IAAI;QACR,KAAK5C,eAAe,CAACsD,MAAM;UACvBvD,KAAK,CAAC0B,MAAM,CAAC,GAAG0B,SAAS;UACzB;QACJ,KAAKnD,eAAe,CAACuD,MAAM;UACvBxD,KAAK,CAAC0B,MAAM,CAAC,GAAG2B,SAAS;UACzB;QACJ,KAAKpD,eAAe,CAACwD,KAAK;UACtBzD,KAAK,CAAC0B,MAAM,CAAC,GAAG4B,UAAU;UAC1B;QACJ;UACI,MAAM,IAAI7C,KAAK,CAAC,gBAAgB,GAAGoC,IAAI,CAAC;MAChD;MACAM,GAAG,CAAC,OAAO,CAAC,GAAGnD,KAAK;MAEpB,MAAM8C,MAAI,CAAC1C,MAAM,CAACqB,cAAc,CAACqB,MAAI,CAACzC,MAAM,EAAEnC,SAAS,CAACsB,eAAe,EAAE2D,GAAG,EAAE,EAAE,CAAC;IAAC;EACtF;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACWO,cAAcA,CAAChC,MAAc,EAAmB;IAAA,IAAAiC,YAAA,EAAAC,UAAA;IACnD,IAAMZ,UAAU,GAAG,IAAI,CAACzC,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACsB,eAAe,EAAE,EAAE,CAAC;IACvF,IAAIyD,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE,MAAM,IAAIvC,KAAK,CAAC,yCAAyC,CAAC;IAEzF,IAAM0C,GAAG,GAAG,CAAAH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE5B,UAAU,CAAC,CAAC,KAAI,CAAC,CAAC;IAC1C,IAAMgC,SAAS,GAAGD,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;IAC3C,IAAME,SAAS,GAAGF,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE;IAC7C,IAAMG,UAAU,GAAG,EAAAK,YAAA,GAAAR,GAAG,CAAC,QAAQ,CAAC,cAAAQ,YAAA,uBAAbA,YAAA,CAAgBzF,SAAS,CAACsB,eAAe,CAAC,KAAI,GAAG;IAEpE,IAAMqE,SAAS,GAAG,EAAAD,UAAA,GAAAT,GAAG,CAAC,OAAO,CAAC,cAAAS,UAAA,uBAAZA,UAAA,CAAelC,MAAM,CAAC,KAAI0B,SAAS;IACrD,IAAIS,SAAS,IAAIP,UAAU,EAAE,OAAOrD,eAAe,CAACwD,KAAK;IACzD,IAAII,SAAS,IAAIR,SAAS,EAAE,OAAOpD,eAAe,CAACuD,MAAM;IACzD,OAAOvD,eAAe,CAACsD,MAAM;EACjC;;EAEA;AACJ;AACA;AACA;AACA;EACiBO,eAAeA,CAACxC,IAAY,EAA6B;IAAA,IAAAyC,MAAA;IAAA,OAAAvC,iBAAA;MAClE,IAAMwC,SAAS,SAASD,MAAI,CAAC3D,MAAM,CAAC6D,sBAAsB,CAAC3C,IAAI,CAAC;MAEhE,MAAMyC,MAAI,CAAC3D,MAAM,CAACqB,cAAc,CAC5BsC,MAAI,CAAC1D,MAAM,EACXnC,SAAS,CAACgG,UAAU,EACpB;QACIC,GAAG,EAAE,CAACJ,MAAI,CAAC3D,MAAM,CAACgE,SAAS,CAAC,CAAC;MACjC,CAAC,EACDJ,SAAS,CAAC3D,MACd,CAAC;MAED,MAAM0D,MAAI,CAAC3D,MAAM,CAACqB,cAAc,CAC5BuC,SAAS,CAAC3D,MAAM,EAChBnC,SAAS,CAAC6C,WAAW,EACrB;QACIoD,GAAG,EAAE,CAACJ,MAAI,CAAC3D,MAAM,CAACgE,SAAS,CAAC,CAAC;MACjC,CAAC,EACDL,MAAI,CAAC1D,MACT,CAAC;MAED,OAAO2D,SAAS;IAAC;EACrB;;EAEA;AACJ;AACA;AACA;EACW7B,cAAcA,CAAA,EAAuB;IACxC,IAAMkC,KAAyB,GAAG,EAAE;IACpC,IAAMC,QAAQ,GAAG,IAAI,CAAC/D,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACgG,UAAU,CAAC;IAC5E,KAAK,IAAMK,KAAK,IAAID,QAAQ,EAAE;MAC1B,IAAI;QACA,IAAME,QAAQ,GAAGD,KAAK,CAACE,WAAW,CAAC,CAAC;QACpC,IAAID,QAAQ,EAAE;UACV,IAAME,IAAI,GAAG,IAAI,CAACtE,MAAM,CAACuE,wBAAwB,CAACH,QAAQ,CAAC;UAC3D,IAAIE,IAAI,EAAEL,KAAK,CAACnC,IAAI,CAACwC,IAAI,CAAC;QAC9B;MACJ,CAAC,CAAC,OAAOxD,CAAC,EAAE;QACR5C,MAAM,CAACsG,IAAI,CAAC,kEAAkE,EAAE1D,CAAC,CAAC;MACtF;IACJ;IACA,OAAOmD,KAAK;EAChB;;EAEA;AACJ;AACA;AACA;AACA;AACA;EACWQ,YAAYA,CAACxE,MAAc,EAAgC;IAC9D,OAAO,IAAI,CAAC8B,cAAc,CAAC,CAAC,CAAC2C,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC1E,MAAM,KAAKA,MAAM,CAAC;EACjE;;EAEA;AACJ;AACA;AACA;EACiB2E,MAAMA,CAAA,EAAkB;IAAA,IAAAC,MAAA;IAAA,OAAAzD,iBAAA;MACjC,IAAM0D,cAAc,GAAGD,MAAI,CAAC9C,cAAc,CAAC,CAAC;MAC5C,KAAK,IAAMgD,GAAG,IAAID,cAAc,EAAE;QAC9B,MAAMC,GAAG,CAACH,MAAM,CAAC,CAAC;MACtB;MAEA,IAAMI,eAAe,GAAG,CAACtG,eAAe,CAACuG,MAAM,EAAEvG,eAAe,CAACwG,KAAK,EAAExG,eAAe,CAACyG,IAAI,CAAC;MAC7F,IAAMC,OAAO,GAAGP,MAAI,CAAC1E,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACuH,UAAU,CAAC;MAC3E,KAAK,IAAMC,MAAM,IAAIF,OAAO,EAAE;QAC1B,IAAMG,OAAO,GAAGD,MAAM,CAACjB,WAAW,CAAC,CAAC,KAAKQ,MAAI,CAAC7E,MAAM,CAACwF,SAAS,CAAC,CAAC;QAChE,IAAID,OAAO,IAAIP,eAAe,CAACS,QAAQ,CAACH,MAAM,CAACtE,UAAU,CAAC,CAAC,CAAC0E,UAA8B,CAAC,EAAE;UACzF,IAAMtB,QAAQ,GAAGkB,MAAM,CAACjB,WAAW,CAAC,CAAC;UACrC,IAAI,CAACD,QAAQ,EAAE;YACX,MAAM,IAAI/D,KAAK,CAAC,gCAAgC,CAAC;UACrD;UACA,MAAMwE,MAAI,CAAC7E,MAAM,CAACnB,IAAI,CAACgG,MAAI,CAAC5E,MAAM,EAAEmE,QAAQ,EAAE,cAAc,CAAC;QACjE;MACJ;MAEA,MAAMS,MAAI,CAAC7E,MAAM,CAAC2F,KAAK,CAACd,MAAI,CAAC5E,MAAM,CAAC;IAAC;EACzC;EAEQ2F,kBAAkBA,CAAC1B,QAAuB,EAAuC;IACrF,IAAM2B,OAA4C,GAAG3B,QAAQ,CACxDlC,GAAG,CAAE8D,CAAC,KAAM;MAAE7F,MAAM,EAAE6F,CAAC,CAACzB,WAAW,CAAC,CAAC;MAAE0B,KAAK,EAAED,CAAC,CAAC9E,UAAU,CAAC,CAAC,CAAC,OAAO;IAAE,CAAC,CAAC,CAAC,CACzEgF,MAAM,CAAEF,CAAC,IAAKA,CAAC,CAAC7F,MAAM,CAAwC;IACnE4F,OAAO,CAACI,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MACnB,IAAID,CAAC,CAACH,KAAK,IAAI,CAACI,CAAC,CAACJ,KAAK,EAAE;QACrB,OAAO,CAAC,CAAC;MACb,CAAC,MAAM,IAAI,CAACG,CAAC,CAACH,KAAK,IAAII,CAAC,CAACJ,KAAK,EAAE;QAC5B,OAAO,CAAC;MACZ,CAAC,MAAM,IAAI,CAACG,CAAC,CAACH,KAAK,IAAI,CAACI,CAAC,CAACJ,KAAK,EAAE;QAAA,IAAAK,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA;QAC7B,IAAMC,KAAK,GAAG,IAAI,CAACxG,MAAM,CAACI,OAAO,CAAC8F,CAAC,CAACjG,MAAM,CAAC;QAC3C,IAAMwG,KAAK,GAAG,IAAI,CAACzG,MAAM,CAACI,OAAO,CAAC+F,CAAC,CAAClG,MAAM,CAAC;QAC3C,IAAI,CAACuG,KAAK,IAAI,CAACC,KAAK,EAAE;UAClB;UACA,OAAOpI,oBAAoB,CAAC6H,CAAC,CAACjG,MAAM,EAAEkG,CAAC,CAAClG,MAAM,CAAC;QACnD;QAEA,IAAMyG,SAAS,IAAAN,qBAAA,IAAAC,sBAAA,GAAGG,KAAK,CAAC/F,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAAC6I,UAAU,EAAE,EAAE,CAAC,cAAAN,sBAAA,uBAA3DA,sBAAA,CAA6DO,KAAK,CAAC,CAAC,cAAAR,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QAC3F,IAAMS,SAAS,IAAAP,qBAAA,IAAAC,sBAAA,GAAGE,KAAK,CAAChG,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAAC6I,UAAU,EAAE,EAAE,CAAC,cAAAJ,sBAAA,uBAA3DA,sBAAA,CAA6DK,KAAK,CAAC,CAAC,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QAC3F,IAAII,SAAS,KAAKG,SAAS,EAAE;UACzB,OAAOxI,oBAAoB,CAAC6H,CAAC,CAACjG,MAAM,EAAEkG,CAAC,CAAClG,MAAM,CAAC;QACnD;QACA,OAAOyG,SAAS,GAAGG,SAAS;MAChC,CAAC,MAAM;QACH;QACA,OAAOxI,oBAAoB,CAAC6H,CAAC,CAACH,KAAK,EAAEI,CAAC,CAACJ,KAAK,CAAC;MACjD;IACJ,CAAC,CAAC;IACF,OAAOF,OAAO;EAClB;EAEQiB,aAAaA,CAAA,EAAS;IAC1B,IAAMC,OAAO,GAAG,IAAI,CAAC5G,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAAC6C,WAAW,CAAC;IAC5E,IAAMqG,MAAM,GAAGD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAACC,MAAM,EAAE,MAAM,IAAI3G,KAAK,CAAC,oDAAoD,CAAC;;IAElF;IACA;IACA,IAAM+D,QAAQ,GAAG4C,MAAM,CAAC3C,WAAW,CAAC,CAAC;IACrC,IAAI,CAACD,QAAQ,EAAE,MAAM,IAAI/D,KAAK,CAAC,+BAA+B,CAAC;IAC/D,IAAM4G,UAAU,GAAG,IAAI,CAACjH,MAAM,CAACI,OAAO,CAACgE,QAAQ,CAAC;IAChD,IAAI,CAAC6C,UAAU,EAAE,MAAM,IAAI5G,KAAK,CAAC,kCAAkC,CAAC;IAEpE,OAAO4G,UAAU;EACrB;;EAEA;AACJ;AACA;AACA;AACA;EACWC,QAAQA,CAAA,EAAW;IACtB,IAAI,IAAI,CAAC3G,UAAU,EAAE,OAAO,CAAC,CAAC;IAE9B,IAAM0G,UAAU,GAAG,IAAI,CAACH,aAAa,CAAC,CAAC;IACvC,IAAM5C,QAAQ,GAAG+C,UAAU,CAACxG,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACgG,UAAU,CAAC;IAC7E,IAAM+B,OAAO,GAAG,IAAI,CAACD,kBAAkB,CAAC1B,QAAQ,CAAC;IAEjD,OAAO2B,OAAO,CAACsB,SAAS,CAAErB,CAAC,IAAKA,CAAC,CAAC7F,MAAM,KAAK,IAAI,CAACA,MAAM,CAAC;EAC7D;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EACiBmH,QAAQA,CAACC,KAAa,EAAiB;IAAA,IAAAC,MAAA;IAAA,OAAAlG,iBAAA;MAAA,IAAAmG,sBAAA;MAChD,IAAID,MAAI,CAAC/G,UAAU,EAAE,MAAM,IAAIF,KAAK,CAAC,gDAAgD,CAAC;MAEtF,IAAM4G,UAAU,GAAGK,MAAI,CAACR,aAAa,CAAC,CAAC;MACvC,IAAM5C,QAAQ,GAAG+C,UAAU,CAACxG,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACgG,UAAU,CAAC;MAC7E,IAAM+B,OAAO,GAAGyB,MAAI,CAAC1B,kBAAkB,CAAC1B,QAAQ,CAAC;MACjDmD,KAAK,GAAGG,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACL,KAAK,EAAExB,OAAO,CAACjF,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;MAExD,IAAM+G,YAAY,GAAGL,MAAI,CAACJ,QAAQ,CAAC,CAAC;MACpC,IAAMU,QAAQ,GAAGD,YAAY,GAAGN,KAAK;MACrC,IAAIO,QAAQ,IAAIP,KAAK,KAAKxB,OAAO,CAACjF,MAAM,GAAG,CAAC,EAAE;QAC1CyG,KAAK,EAAE;MACX,CAAC,MAAM,IAAI,CAACO,QAAQ,IAAIP,KAAK,KAAK,CAAC,EAAE;QACjCA,KAAK,EAAE;MACX;MAEA,IAAMQ,IAAI,GAAGhC,OAAO,CAAC+B,QAAQ,GAAGP,KAAK,GAAGA,KAAK,GAAG,CAAC,CAAC;MAClD,IAAMS,IAAI,GAAGjC,OAAO,CAAC+B,QAAQ,GAAGP,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAC;MAElD,IAAIU,QAAQ,GAAG3J,gBAAgB,CAAC,CAAC,CAAC;MAClC,IAAI4J,kBAAkB,GAAG,KAAK;MAC9B,IAAI,CAACH,IAAI,EAAE;QACP;QACA,IAAIC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE/B,KAAK,EAAE;UACbgC,QAAQ,GAAGxJ,UAAU,CAACuJ,IAAI,CAAC/B,KAAK,CAAC;QACrC;MACJ,CAAC,MAAM,IAAIsB,KAAK,KAAKxB,OAAO,CAACjF,MAAM,GAAG,CAAC,EAAE;QACrC;QACA,IAAIkH,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE/B,KAAK,EAAE;UACbgC,QAAQ,GAAGzJ,UAAU,CAACwJ,IAAI,CAAC/B,KAAK,CAAC;QACrC;MACJ,CAAC,MAAM;QACH;QACA,IAAMkC,UAAU,GAAGJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE9B,KAAK;QAC9B,IAAMmC,QAAQ,GAAGJ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE/B,KAAK;QAC5B,IAAIkC,UAAU,IAAIC,QAAQ,EAAE;UACxB,IAAID,UAAU,KAAKC,QAAQ,EAAE;YACzB;YACAH,QAAQ,GAAGzJ,UAAU,CAAC2J,UAAU,CAAC;UACrC,CAAC,MAAM;YACHF,QAAQ,GAAG5J,qBAAqB,CAAC8J,UAAU,EAAEC,QAAQ,CAAC;UAC1D;QACJ,CAAC,MAAM;UACH,IAAID,UAAU,EAAE;YACZ;YACAF,QAAQ,GAAGzJ,UAAU,CAAC2J,UAAU,CAAC;UACrC,CAAC,MAAM,IAAIC,QAAQ,EAAE;YACjB;YACAH,QAAQ,GAAGxJ,UAAU,CAAC2J,QAAQ,CAAC;UACnC,CAAC,MAAM;YACH;YACA;YACA;YACA;YACAF,kBAAkB,GAAG,IAAI;UAC7B;QACJ;MACJ;MAEA,IAAIA,kBAAkB,EAAE;QACpB;QACA;QACA;QACA,IAAIG,SAA6B;QACjC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIf,KAAK,EAAEe,CAAC,EAAE,EAAE;UAC7B,IAAMC,MAAM,GAAGxC,OAAO,CAACuC,CAAC,CAAC;UACzB,IAAIA,CAAC,KAAK,CAAC,EAAE;YACTD,SAAS,GAAGE,MAAM,CAACtC,KAAK;UAC5B;UACA,IAAI,CAACsC,MAAM,CAACtC,KAAK,EAAE;YAAA,IAAAuC,qBAAA;YACf;YACAH,SAAS,GAAGA,SAAS,GAAG7J,UAAU,CAAC6J,SAAS,CAAC,GAAG/J,gBAAgB,CAAC,CAAC,CAAC;YACnE,IAAMmK,aAAY,GAAGtB,UAAU,CAACxG,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACgG,UAAU,EAAEuE,MAAM,CAACpI,MAAM,CAAC;YAChG,IAAMuI,QAAO,IAAAF,qBAAA,GAAGC,aAAY,aAAZA,aAAY,uBAAZA,aAAY,CAAEvH,UAAU,CAAyB,CAAC,cAAAsH,qBAAA,cAAAA,qBAAA,GAAI;cAClEvE,GAAG,EAAE,CAACuD,MAAI,CAACtH,MAAM,CAACgE,SAAS,CAAC,CAAC;YACjC,CAAC;YACD,MAAMsD,MAAI,CAACtH,MAAM,CAACqB,cAAc,CAC5B4F,UAAU,CAAChH,MAAM,EACjBnC,SAAS,CAACgG,UAAU,EAAA2E,aAAA,CAAAA,aAAA,KAEbD,QAAO;cACVzC,KAAK,EAAEoC;YAAS,IAEpBE,MAAM,CAACpI,MACX,CAAC;UACL,CAAC,MAAM;YACHkI,SAAS,GAAGE,MAAM,CAACtC,KAAK;UAC5B;QACJ;QACA,IAAIoC,SAAS,EAAE;UACXJ,QAAQ,GAAGzJ,UAAU,CAAC6J,SAAS,CAAC;QACpC;MACJ;;MAEA;;MAEA;MACA,IAAMI,YAAY,GAAGtB,UAAU,CAACxG,YAAY,CAACC,cAAc,CAAC5C,SAAS,CAACgG,UAAU,EAAEwD,MAAI,CAACrH,MAAM,CAAC;MAC9F,IAAMuI,OAAO,IAAAjB,sBAAA,GAAGgB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEvH,UAAU,CAAyB,CAAC,cAAAuG,sBAAA,cAAAA,sBAAA,GAAI;QAAExD,GAAG,EAAE,CAACuD,MAAI,CAACtH,MAAM,CAACgE,SAAS,CAAC,CAAC;MAAG,CAAC;MACzG,MAAMsD,MAAI,CAACtH,MAAM,CAACqB,cAAc,CAC5B4F,UAAU,CAAChH,MAAM,EACjBnC,SAAS,CAACgG,UAAU,EAAA2E,aAAA,CAAAA,aAAA,KAEbD,OAAO;QAEV;QACAzC,KAAK,EAAEgC;MAAQ,IAEnBT,MAAI,CAACrH,MACT,CAAC;IAAC;EACN;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACiByI,UAAUA,CACnBxH,IAAY,EACZyH,iBAA2B,EAC3BC,IAAmB,EACnBC,iBAA4B,EACD;IAAA,IAAAC,MAAA;IAAA,OAAA1H,iBAAA;MAAA,IAAA2H,kBAAA;MAC3B,IAAM;QAAEC,WAAW,EAAEC;MAAI,CAAC,SAASH,MAAI,CAAC9I,MAAM,CAACkJ,aAAa,CAACP,iBAAiB,EAAE;QAC5EQ,eAAe,EAAE;MACrB,CAAC,CAAC;MACFP,IAAI,CAACQ,GAAG,GAAGH,GAAG;MAEd,IAAMI,WAAwB,GAAG;QAC7BC,OAAO,EAAEvL,OAAO,CAACwL,IAAI;QACrBC,IAAI,EAAEtI,IAAI;QACVkI,GAAG,EAAEH,GAAG;QACRQ,IAAI,EAAEb;MACV,CAAC;MAEDC,iBAAiB,IAAAE,kBAAA,GAAGF,iBAAiB,cAAAE,kBAAA,cAAAA,kBAAA,GAAI,CAAC,CAAC;MAC3C,IAAIF,iBAAiB,CAAC,eAAe,CAAC,EAAE;QACpC;QACA;QACA;QACAA,iBAAiB,CAAC,eAAe,CAAC,GAAGQ,WAAW;MACpD;MAEA,IAAMK,GAAG,SAASZ,MAAI,CAAC9I,MAAM,CAAC2J,WAAW,CAACb,MAAI,CAAC7I,MAAM,EAAAwI,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAC9CI,iBAAiB,GACjBQ,WAAW;QACd,CAACpL,qBAAqB,CAACiD,IAAI,GAAG,CAAC;MAAC,EACpB,CAAC;MAEjB,MAAM4H,MAAI,CAAC9I,MAAM,CAACqB,cAAc,CAC5ByH,MAAI,CAAC7I,MAAM,EACXjC,uBAAuB,CAACkD,IAAI,EAC5B;QACI0I,MAAM,EAAE,IAAI;QACZ1I,IAAI,EAAEA;MACV,CAAC,EACDwI,GAAG,CAAC,UAAU,CAClB,CAAC;MAED,OAAOA,GAAG;IAAC;EACf;;EAEA;AACJ;AACA;AACA;AACA;EACWG,OAAOA,CAACC,WAAmB,EAAwB;IACtD,IAAMC,MAAM,GAAG,IAAI,CAAC5J,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC1C,uBAAuB,CAACkD,IAAI,EAAE4I,WAAW,CAAC;IAC/F,OAAOC,MAAM,GAAG,IAAItL,aAAa,CAAC,IAAI,CAACuB,MAAM,EAAE+J,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;EACvE;;EAEA;AACJ;AACA;AACA;EACWC,SAASA,CAAA,EAAoB;IAChC,OAAO,IAAI,CAACC,YAAY,CAAC,CAAC,CAACjE,MAAM,CAAEG,CAAC,IAAKA,CAAC,CAAC+D,QAAQ,CAAC;EACxD;;EAEA;AACJ;AACA;AACA;EACWD,YAAYA,CAAA,EAAoB;IAAA,IAAAE,qBAAA;IACnC,IAAMC,QAAQ,IAAAD,qBAAA,GAAG,IAAI,CAAChK,IAAI,CAACM,YAAY,CAACC,cAAc,CAAC1C,uBAAuB,CAACkD,IAAI,CAAC,cAAAiJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAC1F,OAAOC,QAAQ,CAACpI,GAAG,CAAElB,CAAC,IAAK,IAAIrC,aAAa,CAAC,IAAI,CAACuB,MAAM,EAAEc,CAAC,EAAE,IAAI,CAAC,CAAC;EACvE;AACJ","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ export type ToDevicePayload = Record<string, any>;
2
+ export interface ToDeviceMessage {
3
+ userId: string;
4
+ deviceId: string;
5
+ payload: ToDevicePayload;
6
+ }
7
+ export interface ToDeviceBatch {
8
+ eventType: string;
9
+ batch: ToDeviceMessage[];
10
+ }
11
+ export interface ToDeviceBatchWithTxnId extends ToDeviceBatch {
12
+ txnId: string;
13
+ }
14
+ export interface IndexedToDeviceBatch extends ToDeviceBatchWithTxnId {
15
+ id: number;
16
+ }
17
+ //# sourceMappingURL=ToDeviceMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToDeviceMessage.d.ts","sourceRoot":"","sources":["../../src/models/ToDeviceMessage.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAElD,MAAM,WAAW,eAAe;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,eAAe,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,sBAAuB,SAAQ,aAAa;IACzD,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAChE,EAAE,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToDeviceMessage.js","names":[],"sources":["../../src/models/ToDeviceMessage.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\nexport type ToDevicePayload = Record<string, any>;\n\nexport interface ToDeviceMessage {\n userId: string;\n deviceId: string;\n payload: ToDevicePayload;\n}\n\nexport interface ToDeviceBatch {\n eventType: string;\n batch: ToDeviceMessage[];\n}\n\n// Only used internally\nexport interface ToDeviceBatchWithTxnId extends ToDeviceBatch {\n txnId: string;\n}\n\n// Only used internally\nexport interface IndexedToDeviceBatch extends ToDeviceBatchWithTxnId {\n id: number;\n}\n"],"mappings":"","ignoreList":[]}