@unwanted/matrix-sdk-mini 34.12.0-1 → 34.12.0-3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (636) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +0 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js.map +1 -1
  5. package/lib/@types/global.d.js +0 -2
  6. package/lib/@types/global.d.js.map +1 -1
  7. package/lib/browser-index.d.ts.map +1 -1
  8. package/lib/browser-index.js +0 -11
  9. package/lib/browser-index.js.map +1 -1
  10. package/lib/client.d.ts +2 -1224
  11. package/lib/client.d.ts.map +1 -1
  12. package/lib/client.js +345 -2826
  13. package/lib/client.js.map +1 -1
  14. package/lib/embedded.d.ts +0 -22
  15. package/lib/embedded.d.ts.map +1 -1
  16. package/lib/embedded.js +24 -167
  17. package/lib/embedded.js.map +1 -1
  18. package/lib/event-mapper.d.ts.map +1 -1
  19. package/lib/event-mapper.js +0 -4
  20. package/lib/event-mapper.js.map +1 -1
  21. package/lib/matrix.d.ts +0 -25
  22. package/lib/matrix.d.ts.map +1 -1
  23. package/lib/matrix.js +1 -30
  24. package/lib/matrix.js.map +1 -1
  25. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  26. package/lib/models/MSC3089Branch.js +0 -3
  27. package/lib/models/MSC3089Branch.js.map +1 -1
  28. package/lib/models/event.d.ts +0 -94
  29. package/lib/models/event.d.ts.map +1 -1
  30. package/lib/models/event.js +0 -274
  31. package/lib/models/event.js.map +1 -1
  32. package/lib/models/poll.d.ts.map +1 -1
  33. package/lib/models/poll.js +1 -5
  34. package/lib/models/poll.js.map +1 -1
  35. package/lib/models/relations-container.d.ts.map +1 -1
  36. package/lib/models/relations-container.js +1 -7
  37. package/lib/models/relations-container.js.map +1 -1
  38. package/lib/models/relations.d.ts +0 -1
  39. package/lib/models/relations.d.ts.map +1 -1
  40. package/lib/models/relations.js +0 -8
  41. package/lib/models/relations.js.map +1 -1
  42. package/lib/models/room-state.d.ts.map +1 -1
  43. package/lib/models/room-state.js +10 -26
  44. package/lib/models/room-state.js.map +1 -1
  45. package/lib/models/room.d.ts +0 -18
  46. package/lib/models/room.d.ts.map +1 -1
  47. package/lib/models/room.js +94 -148
  48. package/lib/models/room.js.map +1 -1
  49. package/lib/models/thread.d.ts.map +1 -1
  50. package/lib/models/thread.js +0 -1
  51. package/lib/models/thread.js.map +1 -1
  52. package/lib/sliding-sync-sdk.d.ts +2 -3
  53. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  54. package/lib/sliding-sync-sdk.js +41 -90
  55. package/lib/sliding-sync-sdk.js.map +1 -1
  56. package/lib/sync.d.ts +0 -12
  57. package/lib/sync.d.ts.map +1 -1
  58. package/lib/sync.js +1 -73
  59. package/lib/sync.js.map +1 -1
  60. package/lib/testing.d.ts +0 -48
  61. package/lib/testing.d.ts.map +1 -1
  62. package/lib/testing.js +0 -105
  63. package/lib/testing.js.map +1 -1
  64. package/package.json +1 -3
  65. package/src/@types/event.ts +2 -36
  66. package/src/@types/global.d.ts +0 -3
  67. package/src/browser-index.ts +0 -11
  68. package/src/client.ts +52 -2876
  69. package/src/embedded.ts +3 -132
  70. package/src/event-mapper.ts +0 -4
  71. package/src/matrix.ts +0 -41
  72. package/src/models/MSC3089Branch.ts +0 -3
  73. package/src/models/event.ts +0 -289
  74. package/src/models/poll.ts +0 -6
  75. package/src/models/relations-container.ts +1 -8
  76. package/src/models/relations.ts +0 -8
  77. package/src/models/room-state.ts +2 -8
  78. package/src/models/room.ts +0 -62
  79. package/src/models/thread.ts +0 -1
  80. package/src/sliding-sync-sdk.ts +2 -72
  81. package/src/sync.ts +1 -98
  82. package/src/testing.ts +0 -108
  83. package/lib/@types/crypto.d.ts +0 -47
  84. package/lib/@types/crypto.d.ts.map +0 -1
  85. package/lib/@types/crypto.js +0 -1
  86. package/lib/@types/crypto.js.map +0 -1
  87. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  88. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  89. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  90. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  91. package/lib/common-crypto/CryptoBackend.js +0 -73
  92. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  93. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  94. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  95. package/lib/common-crypto/key-passphrase.js +0 -33
  96. package/lib/common-crypto/key-passphrase.js.map +0 -1
  97. package/lib/crypto/CrossSigning.d.ts +0 -184
  98. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  99. package/lib/crypto/CrossSigning.js +0 -718
  100. package/lib/crypto/CrossSigning.js.map +0 -1
  101. package/lib/crypto/DeviceList.d.ts +0 -216
  102. package/lib/crypto/DeviceList.d.ts.map +0 -1
  103. package/lib/crypto/DeviceList.js +0 -892
  104. package/lib/crypto/DeviceList.js.map +0 -1
  105. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  106. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  107. package/lib/crypto/EncryptionSetup.js +0 -356
  108. package/lib/crypto/EncryptionSetup.js.map +0 -1
  109. package/lib/crypto/OlmDevice.d.ts +0 -457
  110. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  111. package/lib/crypto/OlmDevice.js +0 -1241
  112. package/lib/crypto/OlmDevice.js.map +0 -1
  113. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  114. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  115. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  116. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  117. package/lib/crypto/RoomList.d.ts +0 -26
  118. package/lib/crypto/RoomList.d.ts.map +0 -1
  119. package/lib/crypto/RoomList.js +0 -71
  120. package/lib/crypto/RoomList.js.map +0 -1
  121. package/lib/crypto/SecretSharing.d.ts +0 -24
  122. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  123. package/lib/crypto/SecretSharing.js +0 -194
  124. package/lib/crypto/SecretSharing.js.map +0 -1
  125. package/lib/crypto/SecretStorage.d.ts +0 -55
  126. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  127. package/lib/crypto/SecretStorage.js +0 -118
  128. package/lib/crypto/SecretStorage.js.map +0 -1
  129. package/lib/crypto/aes.d.ts +0 -6
  130. package/lib/crypto/aes.d.ts.map +0 -1
  131. package/lib/crypto/aes.js +0 -24
  132. package/lib/crypto/aes.js.map +0 -1
  133. package/lib/crypto/algorithms/base.d.ts +0 -156
  134. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  135. package/lib/crypto/algorithms/base.js +0 -187
  136. package/lib/crypto/algorithms/base.js.map +0 -1
  137. package/lib/crypto/algorithms/index.d.ts +0 -4
  138. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  139. package/lib/crypto/algorithms/index.js +0 -20
  140. package/lib/crypto/algorithms/index.js.map +0 -1
  141. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  142. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  143. package/lib/crypto/algorithms/megolm.js +0 -1822
  144. package/lib/crypto/algorithms/megolm.js.map +0 -1
  145. package/lib/crypto/algorithms/olm.d.ts +0 -5
  146. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  147. package/lib/crypto/algorithms/olm.js +0 -299
  148. package/lib/crypto/algorithms/olm.js.map +0 -1
  149. package/lib/crypto/api.d.ts +0 -32
  150. package/lib/crypto/api.d.ts.map +0 -1
  151. package/lib/crypto/api.js +0 -22
  152. package/lib/crypto/api.js.map +0 -1
  153. package/lib/crypto/backup.d.ts +0 -227
  154. package/lib/crypto/backup.d.ts.map +0 -1
  155. package/lib/crypto/backup.js +0 -824
  156. package/lib/crypto/backup.js.map +0 -1
  157. package/lib/crypto/crypto.d.ts +0 -3
  158. package/lib/crypto/crypto.d.ts.map +0 -1
  159. package/lib/crypto/crypto.js +0 -19
  160. package/lib/crypto/crypto.js.map +0 -1
  161. package/lib/crypto/dehydration.d.ts +0 -34
  162. package/lib/crypto/dehydration.d.ts.map +0 -1
  163. package/lib/crypto/dehydration.js +0 -252
  164. package/lib/crypto/dehydration.js.map +0 -1
  165. package/lib/crypto/device-converter.d.ts +0 -9
  166. package/lib/crypto/device-converter.d.ts.map +0 -1
  167. package/lib/crypto/device-converter.js +0 -42
  168. package/lib/crypto/device-converter.js.map +0 -1
  169. package/lib/crypto/deviceinfo.d.ts +0 -99
  170. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  171. package/lib/crypto/deviceinfo.js +0 -148
  172. package/lib/crypto/deviceinfo.js.map +0 -1
  173. package/lib/crypto/index.d.ts +0 -1209
  174. package/lib/crypto/index.d.ts.map +0 -1
  175. package/lib/crypto/index.js +0 -4097
  176. package/lib/crypto/index.js.map +0 -1
  177. package/lib/crypto/key_passphrase.d.ts +0 -14
  178. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  179. package/lib/crypto/key_passphrase.js +0 -44
  180. package/lib/crypto/key_passphrase.js.map +0 -1
  181. package/lib/crypto/keybackup.d.ts +0 -18
  182. package/lib/crypto/keybackup.d.ts.map +0 -1
  183. package/lib/crypto/keybackup.js +0 -1
  184. package/lib/crypto/keybackup.js.map +0 -1
  185. package/lib/crypto/olmlib.d.ts +0 -129
  186. package/lib/crypto/olmlib.d.ts.map +0 -1
  187. package/lib/crypto/olmlib.js +0 -492
  188. package/lib/crypto/olmlib.js.map +0 -1
  189. package/lib/crypto/recoverykey.d.ts +0 -2
  190. package/lib/crypto/recoverykey.d.ts.map +0 -1
  191. package/lib/crypto/recoverykey.js +0 -19
  192. package/lib/crypto/recoverykey.js.map +0 -1
  193. package/lib/crypto/store/base.d.ts +0 -252
  194. package/lib/crypto/store/base.d.ts.map +0 -1
  195. package/lib/crypto/store/base.js +0 -64
  196. package/lib/crypto/store/base.js.map +0 -1
  197. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  198. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  199. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  200. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  201. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  202. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  203. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  204. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  205. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  206. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  207. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  208. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  209. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  210. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  211. package/lib/crypto/store/memory-crypto-store.js +0 -622
  212. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  213. package/lib/crypto/verification/Base.d.ts +0 -105
  214. package/lib/crypto/verification/Base.d.ts.map +0 -1
  215. package/lib/crypto/verification/Base.js +0 -372
  216. package/lib/crypto/verification/Base.js.map +0 -1
  217. package/lib/crypto/verification/Error.d.ts +0 -35
  218. package/lib/crypto/verification/Error.d.ts.map +0 -1
  219. package/lib/crypto/verification/Error.js +0 -86
  220. package/lib/crypto/verification/Error.js.map +0 -1
  221. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  222. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  223. package/lib/crypto/verification/IllegalMethod.js +0 -43
  224. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  225. package/lib/crypto/verification/QRCode.d.ts +0 -51
  226. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  227. package/lib/crypto/verification/QRCode.js +0 -277
  228. package/lib/crypto/verification/QRCode.js.map +0 -1
  229. package/lib/crypto/verification/SAS.d.ts +0 -27
  230. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  231. package/lib/crypto/verification/SAS.js +0 -485
  232. package/lib/crypto/verification/SAS.js.map +0 -1
  233. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  234. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  235. package/lib/crypto/verification/SASDecimal.js +0 -34
  236. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  237. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  238. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  239. package/lib/crypto/verification/request/Channel.js +0 -1
  240. package/lib/crypto/verification/request/Channel.js.map +0 -1
  241. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  242. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  243. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  244. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  245. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  246. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  247. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  248. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  249. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  250. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  251. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  252. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  253. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  254. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  255. package/lib/crypto-api/CryptoEvent.js +0 -33
  256. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  257. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  258. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  259. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  260. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  261. package/lib/crypto-api/index.d.ts +0 -978
  262. package/lib/crypto-api/index.d.ts.map +0 -1
  263. package/lib/crypto-api/index.js +0 -304
  264. package/lib/crypto-api/index.js.map +0 -1
  265. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  266. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  267. package/lib/crypto-api/key-passphrase.js +0 -51
  268. package/lib/crypto-api/key-passphrase.js.map +0 -1
  269. package/lib/crypto-api/keybackup.d.ts +0 -88
  270. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  271. package/lib/crypto-api/keybackup.js +0 -1
  272. package/lib/crypto-api/keybackup.js.map +0 -1
  273. package/lib/crypto-api/recovery-key.d.ts +0 -11
  274. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  275. package/lib/crypto-api/recovery-key.js +0 -65
  276. package/lib/crypto-api/recovery-key.js.map +0 -1
  277. package/lib/crypto-api/verification.d.ts +0 -344
  278. package/lib/crypto-api/verification.d.ts.map +0 -1
  279. package/lib/crypto-api/verification.js +0 -91
  280. package/lib/crypto-api/verification.js.map +0 -1
  281. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  282. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  283. package/lib/matrixrtc/CallMembership.js +0 -197
  284. package/lib/matrixrtc/CallMembership.js.map +0 -1
  285. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  286. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  287. package/lib/matrixrtc/LivekitFocus.js +0 -20
  288. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  289. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  290. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  291. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  292. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  293. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  294. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  295. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  296. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  297. package/lib/matrixrtc/focus.d.ts +0 -10
  298. package/lib/matrixrtc/focus.d.ts.map +0 -1
  299. package/lib/matrixrtc/focus.js +0 -1
  300. package/lib/matrixrtc/focus.js.map +0 -1
  301. package/lib/matrixrtc/index.d.ts +0 -7
  302. package/lib/matrixrtc/index.d.ts.map +0 -1
  303. package/lib/matrixrtc/index.js +0 -21
  304. package/lib/matrixrtc/index.js.map +0 -1
  305. package/lib/matrixrtc/types.d.ts +0 -19
  306. package/lib/matrixrtc/types.d.ts.map +0 -1
  307. package/lib/matrixrtc/types.js +0 -1
  308. package/lib/matrixrtc/types.js.map +0 -1
  309. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  310. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  311. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  312. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  313. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  314. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  315. package/lib/rendezvous/RendezvousChannel.js +0 -1
  316. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  317. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  318. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  319. package/lib/rendezvous/RendezvousCode.js +0 -1
  320. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  321. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  322. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  323. package/lib/rendezvous/RendezvousError.js +0 -23
  324. package/lib/rendezvous/RendezvousError.js.map +0 -1
  325. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  326. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  327. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  328. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  329. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  330. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  331. package/lib/rendezvous/RendezvousIntent.js +0 -22
  332. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  333. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  334. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  335. package/lib/rendezvous/RendezvousTransport.js +0 -1
  336. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  337. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  338. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  339. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  340. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  341. package/lib/rendezvous/channels/index.d.ts +0 -2
  342. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  343. package/lib/rendezvous/channels/index.js +0 -18
  344. package/lib/rendezvous/channels/index.js.map +0 -1
  345. package/lib/rendezvous/index.d.ts +0 -10
  346. package/lib/rendezvous/index.d.ts.map +0 -1
  347. package/lib/rendezvous/index.js +0 -23
  348. package/lib/rendezvous/index.js.map +0 -1
  349. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  350. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  351. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  352. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  353. package/lib/rendezvous/transports/index.d.ts +0 -2
  354. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  355. package/lib/rendezvous/transports/index.js +0 -18
  356. package/lib/rendezvous/transports/index.js.map +0 -1
  357. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  358. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  359. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  360. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  361. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  362. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  363. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  364. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  365. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  366. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  367. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  368. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  369. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  370. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  371. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  372. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  373. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  374. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  375. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  376. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  377. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  378. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  379. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  380. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  381. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  382. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  383. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  384. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  385. package/lib/rust-crypto/backup.d.ts +0 -254
  386. package/lib/rust-crypto/backup.d.ts.map +0 -1
  387. package/lib/rust-crypto/backup.js +0 -837
  388. package/lib/rust-crypto/backup.js.map +0 -1
  389. package/lib/rust-crypto/constants.d.ts +0 -3
  390. package/lib/rust-crypto/constants.d.ts.map +0 -1
  391. package/lib/rust-crypto/constants.js +0 -19
  392. package/lib/rust-crypto/constants.js.map +0 -1
  393. package/lib/rust-crypto/device-converter.d.ts +0 -28
  394. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  395. package/lib/rust-crypto/device-converter.js +0 -123
  396. package/lib/rust-crypto/device-converter.js.map +0 -1
  397. package/lib/rust-crypto/index.d.ts +0 -61
  398. package/lib/rust-crypto/index.d.ts.map +0 -1
  399. package/lib/rust-crypto/index.js +0 -152
  400. package/lib/rust-crypto/index.js.map +0 -1
  401. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  402. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  403. package/lib/rust-crypto/libolm_migration.js +0 -459
  404. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  405. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  406. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  407. package/lib/rust-crypto/rust-crypto.js +0 -2016
  408. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  409. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  410. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  411. package/lib/rust-crypto/secret-storage.js +0 -63
  412. package/lib/rust-crypto/secret-storage.js.map +0 -1
  413. package/lib/rust-crypto/verification.d.ts +0 -319
  414. package/lib/rust-crypto/verification.d.ts.map +0 -1
  415. package/lib/rust-crypto/verification.js +0 -816
  416. package/lib/rust-crypto/verification.js.map +0 -1
  417. package/lib/secret-storage.d.ts +0 -370
  418. package/lib/secret-storage.d.ts.map +0 -1
  419. package/lib/secret-storage.js +0 -466
  420. package/lib/secret-storage.js.map +0 -1
  421. package/lib/webrtc/audioContext.d.ts +0 -15
  422. package/lib/webrtc/audioContext.d.ts.map +0 -1
  423. package/lib/webrtc/audioContext.js +0 -46
  424. package/lib/webrtc/audioContext.js.map +0 -1
  425. package/lib/webrtc/call.d.ts +0 -560
  426. package/lib/webrtc/call.d.ts.map +0 -1
  427. package/lib/webrtc/call.js +0 -2541
  428. package/lib/webrtc/call.js.map +0 -1
  429. package/lib/webrtc/callEventHandler.d.ts +0 -37
  430. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  431. package/lib/webrtc/callEventHandler.js +0 -344
  432. package/lib/webrtc/callEventHandler.js.map +0 -1
  433. package/lib/webrtc/callEventTypes.d.ts +0 -73
  434. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  435. package/lib/webrtc/callEventTypes.js +0 -13
  436. package/lib/webrtc/callEventTypes.js.map +0 -1
  437. package/lib/webrtc/callFeed.d.ts +0 -128
  438. package/lib/webrtc/callFeed.d.ts.map +0 -1
  439. package/lib/webrtc/callFeed.js +0 -289
  440. package/lib/webrtc/callFeed.js.map +0 -1
  441. package/lib/webrtc/groupCall.d.ts +0 -323
  442. package/lib/webrtc/groupCall.d.ts.map +0 -1
  443. package/lib/webrtc/groupCall.js +0 -1337
  444. package/lib/webrtc/groupCall.js.map +0 -1
  445. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  446. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  447. package/lib/webrtc/groupCallEventHandler.js +0 -178
  448. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  449. package/lib/webrtc/mediaHandler.d.ts +0 -89
  450. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  451. package/lib/webrtc/mediaHandler.js +0 -437
  452. package/lib/webrtc/mediaHandler.js.map +0 -1
  453. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  454. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  455. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  456. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  457. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  458. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  459. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  460. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  461. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  462. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  463. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  464. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  465. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  466. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  467. package/lib/webrtc/stats/connectionStats.js +0 -26
  468. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  469. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  470. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  471. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  472. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  473. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  474. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  475. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  476. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  477. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  478. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  479. package/lib/webrtc/stats/groupCallStats.js +0 -78
  480. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  481. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  482. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  483. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  484. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  485. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  486. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  487. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  488. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  489. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  490. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  491. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  492. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  493. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  494. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  495. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  496. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  497. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  498. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  499. package/lib/webrtc/stats/statsReport.js +0 -32
  500. package/lib/webrtc/stats/statsReport.js.map +0 -1
  501. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  502. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  503. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  504. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  505. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  506. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  507. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  508. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  509. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  510. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  511. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  512. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  513. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  514. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  515. package/lib/webrtc/stats/transportStats.js +0 -1
  516. package/lib/webrtc/stats/transportStats.js.map +0 -1
  517. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  518. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  519. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  520. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  521. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  522. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  523. package/lib/webrtc/stats/valueFormatter.js +0 -25
  524. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  525. package/src/@types/crypto.ts +0 -73
  526. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  527. package/src/common-crypto/CryptoBackend.ts +0 -302
  528. package/src/common-crypto/README.md +0 -4
  529. package/src/common-crypto/key-passphrase.ts +0 -43
  530. package/src/crypto/CrossSigning.ts +0 -773
  531. package/src/crypto/DeviceList.ts +0 -989
  532. package/src/crypto/EncryptionSetup.ts +0 -351
  533. package/src/crypto/OlmDevice.ts +0 -1500
  534. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  535. package/src/crypto/RoomList.ts +0 -70
  536. package/src/crypto/SecretSharing.ts +0 -240
  537. package/src/crypto/SecretStorage.ts +0 -136
  538. package/src/crypto/aes.ts +0 -23
  539. package/src/crypto/algorithms/base.ts +0 -236
  540. package/src/crypto/algorithms/index.ts +0 -20
  541. package/src/crypto/algorithms/megolm.ts +0 -2216
  542. package/src/crypto/algorithms/olm.ts +0 -381
  543. package/src/crypto/api.ts +0 -70
  544. package/src/crypto/backup.ts +0 -922
  545. package/src/crypto/crypto.ts +0 -18
  546. package/src/crypto/dehydration.ts +0 -272
  547. package/src/crypto/device-converter.ts +0 -45
  548. package/src/crypto/deviceinfo.ts +0 -158
  549. package/src/crypto/index.ts +0 -4414
  550. package/src/crypto/key_passphrase.ts +0 -42
  551. package/src/crypto/keybackup.ts +0 -47
  552. package/src/crypto/olmlib.ts +0 -539
  553. package/src/crypto/recoverykey.ts +0 -18
  554. package/src/crypto/store/base.ts +0 -348
  555. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  556. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  557. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  558. package/src/crypto/store/memory-crypto-store.ts +0 -680
  559. package/src/crypto/verification/Base.ts +0 -409
  560. package/src/crypto/verification/Error.ts +0 -76
  561. package/src/crypto/verification/IllegalMethod.ts +0 -50
  562. package/src/crypto/verification/QRCode.ts +0 -310
  563. package/src/crypto/verification/SAS.ts +0 -494
  564. package/src/crypto/verification/SASDecimal.ts +0 -37
  565. package/src/crypto/verification/request/Channel.ts +0 -34
  566. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  567. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  568. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  569. package/src/crypto-api/CryptoEvent.ts +0 -93
  570. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  571. package/src/crypto-api/index.ts +0 -1175
  572. package/src/crypto-api/key-passphrase.ts +0 -58
  573. package/src/crypto-api/keybackup.ts +0 -115
  574. package/src/crypto-api/recovery-key.ts +0 -69
  575. package/src/crypto-api/verification.ts +0 -408
  576. package/src/matrixrtc/CallMembership.ts +0 -247
  577. package/src/matrixrtc/LivekitFocus.ts +0 -39
  578. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  579. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  580. package/src/matrixrtc/focus.ts +0 -25
  581. package/src/matrixrtc/index.ts +0 -22
  582. package/src/matrixrtc/types.ts +0 -36
  583. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  584. package/src/rendezvous/RendezvousChannel.ts +0 -48
  585. package/src/rendezvous/RendezvousCode.ts +0 -25
  586. package/src/rendezvous/RendezvousError.ts +0 -26
  587. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  588. package/src/rendezvous/RendezvousIntent.ts +0 -20
  589. package/src/rendezvous/RendezvousTransport.ts +0 -58
  590. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  591. package/src/rendezvous/channels/index.ts +0 -17
  592. package/src/rendezvous/index.ts +0 -25
  593. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  594. package/src/rendezvous/transports/index.ts +0 -17
  595. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  596. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  597. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  598. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  599. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  600. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  601. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  602. package/src/rust-crypto/backup.ts +0 -881
  603. package/src/rust-crypto/constants.ts +0 -18
  604. package/src/rust-crypto/device-converter.ts +0 -128
  605. package/src/rust-crypto/index.ts +0 -237
  606. package/src/rust-crypto/libolm_migration.ts +0 -530
  607. package/src/rust-crypto/rust-crypto.ts +0 -2205
  608. package/src/rust-crypto/secret-storage.ts +0 -60
  609. package/src/rust-crypto/verification.ts +0 -830
  610. package/src/secret-storage.ts +0 -693
  611. package/src/webrtc/audioContext.ts +0 -44
  612. package/src/webrtc/call.ts +0 -3074
  613. package/src/webrtc/callEventHandler.ts +0 -425
  614. package/src/webrtc/callEventTypes.ts +0 -93
  615. package/src/webrtc/callFeed.ts +0 -364
  616. package/src/webrtc/groupCall.ts +0 -1735
  617. package/src/webrtc/groupCallEventHandler.ts +0 -234
  618. package/src/webrtc/mediaHandler.ts +0 -484
  619. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  620. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  621. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  622. package/src/webrtc/stats/connectionStats.ts +0 -47
  623. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  624. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  625. package/src/webrtc/stats/groupCallStats.ts +0 -93
  626. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  627. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  628. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  629. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  630. package/src/webrtc/stats/statsReport.ts +0 -133
  631. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  632. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  633. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  634. package/src/webrtc/stats/transportStats.ts +0 -26
  635. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  636. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -1,98 +0,0 @@
1
- import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-wasm";
2
- import { OutgoingRequestProcessor } from "./OutgoingRequestProcessor.ts";
3
- import { IHttpOpts, MatrixHttpApi } from "../http-api/index.ts";
4
- import { ServerSideSecretStorage } from "../secret-storage.ts";
5
- import { Logger } from "../logger.ts";
6
- /**
7
- * The unstable URL prefix for dehydrated device endpoints
8
- */
9
- export declare const UnstablePrefix = "/_matrix/client/unstable/org.matrix.msc3814.v1";
10
- /**
11
- * Manages dehydrated devices
12
- *
13
- * We have one of these per `RustCrypto`. It's responsible for
14
- *
15
- * * determining server support for dehydrated devices
16
- * * creating new dehydrated devices when requested, including periodically
17
- * replacing the dehydrated device with a new one
18
- * * rehydrating a device when requested, and when present
19
- *
20
- * @internal
21
- */
22
- export declare class DehydratedDeviceManager {
23
- private readonly logger;
24
- private readonly olmMachine;
25
- private readonly http;
26
- private readonly outgoingRequestProcessor;
27
- private readonly secretStorage;
28
- /** the secret key used for dehydrating and rehydrating */
29
- private key?;
30
- /** the ID of the interval for periodically replacing the dehydrated device */
31
- private intervalId?;
32
- constructor(logger: Logger, olmMachine: RustSdkCryptoJs.OlmMachine, http: MatrixHttpApi<IHttpOpts & {
33
- onlyData: true;
34
- }>, outgoingRequestProcessor: OutgoingRequestProcessor, secretStorage: ServerSideSecretStorage);
35
- /**
36
- * Return whether the server supports dehydrated devices.
37
- */
38
- isSupported(): Promise<boolean>;
39
- /**
40
- * Start using device dehydration.
41
- *
42
- * - Rehydrates a dehydrated device, if one is available.
43
- * - Creates a new dehydration key, if necessary, and stores it in Secret
44
- * Storage.
45
- * - If `createNewKey` is set to true, always creates a new key.
46
- * - If a dehydration key is not available, creates a new one.
47
- * - Creates a new dehydrated device, and schedules periodically creating
48
- * new dehydrated devices.
49
- *
50
- * @param createNewKey - whether to force creation of a new dehydration key.
51
- * This can be used, for example, if Secret Storage is being reset.
52
- */
53
- start(createNewKey?: boolean): Promise<void>;
54
- /**
55
- * Return whether the dehydration key is stored in Secret Storage.
56
- */
57
- isKeyStored(): Promise<boolean>;
58
- /**
59
- * Reset the dehydration key.
60
- *
61
- * Creates a new key and stores it in secret storage.
62
- */
63
- resetKey(): Promise<void>;
64
- /**
65
- * Get and cache the encryption key from secret storage.
66
- *
67
- * If `create` is `true`, creates a new key if no existing key is present.
68
- *
69
- * @returns the key, if available, or `null` if no key is available
70
- */
71
- private getKey;
72
- /**
73
- * Rehydrate the dehydrated device stored on the server.
74
- *
75
- * Checks if there is a dehydrated device on the server. If so, rehydrates
76
- * the device and processes the to-device events.
77
- *
78
- * Returns whether or not a dehydrated device was found.
79
- */
80
- rehydrateDeviceIfAvailable(): Promise<boolean>;
81
- /**
82
- * Creates and uploads a new dehydrated device.
83
- *
84
- * Creates and stores a new key in secret storage if none is available.
85
- */
86
- createAndUploadDehydratedDevice(): Promise<void>;
87
- /**
88
- * Schedule periodic creation of dehydrated devices.
89
- */
90
- scheduleDeviceDehydration(): Promise<void>;
91
- /**
92
- * Stop the dehydrated device manager.
93
- *
94
- * Cancels any scheduled dehydration tasks.
95
- */
96
- stop(): void;
97
- }
98
- //# sourceMappingURL=DehydratedDeviceManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DehydratedDeviceManager.d.ts","sourceRoot":"","sources":["../../src/rust-crypto/DehydratedDeviceManager.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,eAAe,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAe,aAAa,EAAU,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAmBtC;;GAEG;AACH,eAAO,MAAM,cAAc,mDAAmD,CAAC;AAW/E;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAuB;IAO5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAVlC,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,CAAa;IACzB,8EAA8E;IAC9E,OAAO,CAAC,UAAU,CAAC,CAAiC;gBAG/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,eAAe,CAAC,UAAU,EACtC,IAAI,EAAE,aAAa,CAAC,SAAS,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC,EACnD,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,uBAAuB;IAG3D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA2B5C;;;;;;;;;;;;;OAaG;IACU,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAezD;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtC;;;;;;OAMG;YACW,MAAM;IAepB;;;;;;;OAOG;IACU,0BAA0B,IAAI,OAAO,CAAC,OAAO,CAAC;IAwE3D;;;;OAIG;IACU,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAW7D;;OAEG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvD;;;;OAIG;IACI,IAAI,IAAI,IAAI;CAMtB"}
@@ -1,285 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2024 The Matrix.org Foundation C.I.C.
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License");
7
- you may not use this file except in compliance with the License.
8
- You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- */
18
-
19
- import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-wasm";
20
- import { encodeUri } from "../utils.js";
21
- import { Method } from "../http-api/index.js";
22
- import { decodeBase64, encodeUnpaddedBase64 } from "../base64.js";
23
-
24
- /**
25
- * The response body of `GET /_matrix/client/unstable/org.matrix.msc3814.v1/dehydrated_device`.
26
- */
27
-
28
- /**
29
- * The response body of `POST /_matrix/client/unstable/org.matrix.msc3814.v1/dehydrated_device/events`.
30
- */
31
-
32
- /**
33
- * The unstable URL prefix for dehydrated device endpoints
34
- */
35
- export var UnstablePrefix = "/_matrix/client/unstable/org.matrix.msc3814.v1";
36
- /**
37
- * The name used for the dehydration key in Secret Storage
38
- */
39
- var SECRET_STORAGE_NAME = "org.matrix.msc3814";
40
-
41
- /**
42
- * The interval between creating dehydrated devices. (one week)
43
- */
44
- var DEHYDRATION_INTERVAL = 7 * 24 * 60 * 60 * 1000;
45
-
46
- /**
47
- * Manages dehydrated devices
48
- *
49
- * We have one of these per `RustCrypto`. It's responsible for
50
- *
51
- * * determining server support for dehydrated devices
52
- * * creating new dehydrated devices when requested, including periodically
53
- * replacing the dehydrated device with a new one
54
- * * rehydrating a device when requested, and when present
55
- *
56
- * @internal
57
- */
58
- export class DehydratedDeviceManager {
59
- constructor(logger, olmMachine, http, outgoingRequestProcessor, secretStorage) {
60
- this.logger = logger;
61
- this.olmMachine = olmMachine;
62
- this.http = http;
63
- this.outgoingRequestProcessor = outgoingRequestProcessor;
64
- this.secretStorage = secretStorage;
65
- /** the secret key used for dehydrating and rehydrating */
66
- _defineProperty(this, "key", void 0);
67
- /** the ID of the interval for periodically replacing the dehydrated device */
68
- _defineProperty(this, "intervalId", void 0);
69
- }
70
-
71
- /**
72
- * Return whether the server supports dehydrated devices.
73
- */
74
- isSupported() {
75
- var _this = this;
76
- return _asyncToGenerator(function* () {
77
- // call the endpoint to get a dehydrated device. If it returns an
78
- // M_UNRECOGNIZED error, then dehydration is unsupported. If it returns
79
- // a successful response, or an M_NOT_FOUND, then dehydration is supported.
80
- // Any other exceptions are passed through.
81
- try {
82
- yield _this.http.authedRequest(Method.Get, "/dehydrated_device", undefined, undefined, {
83
- prefix: UnstablePrefix
84
- });
85
- } catch (error) {
86
- var err = error;
87
- if (err.errcode === "M_UNRECOGNIZED") {
88
- return false;
89
- } else if (err.errcode === "M_NOT_FOUND") {
90
- return true;
91
- }
92
- throw error;
93
- }
94
- return true;
95
- })();
96
- }
97
-
98
- /**
99
- * Start using device dehydration.
100
- *
101
- * - Rehydrates a dehydrated device, if one is available.
102
- * - Creates a new dehydration key, if necessary, and stores it in Secret
103
- * Storage.
104
- * - If `createNewKey` is set to true, always creates a new key.
105
- * - If a dehydration key is not available, creates a new one.
106
- * - Creates a new dehydrated device, and schedules periodically creating
107
- * new dehydrated devices.
108
- *
109
- * @param createNewKey - whether to force creation of a new dehydration key.
110
- * This can be used, for example, if Secret Storage is being reset.
111
- */
112
- start(createNewKey) {
113
- var _this2 = this;
114
- return _asyncToGenerator(function* () {
115
- _this2.stop();
116
- try {
117
- yield _this2.rehydrateDeviceIfAvailable();
118
- } catch (e) {
119
- // If rehydration fails, there isn't much we can do about it. Log
120
- // the error, and create a new device.
121
- _this2.logger.info("dehydration: Error rehydrating device:", e);
122
- }
123
- if (createNewKey) {
124
- yield _this2.resetKey();
125
- }
126
- yield _this2.scheduleDeviceDehydration();
127
- })();
128
- }
129
-
130
- /**
131
- * Return whether the dehydration key is stored in Secret Storage.
132
- */
133
- isKeyStored() {
134
- var _this3 = this;
135
- return _asyncToGenerator(function* () {
136
- return Boolean(yield _this3.secretStorage.isStored(SECRET_STORAGE_NAME));
137
- })();
138
- }
139
-
140
- /**
141
- * Reset the dehydration key.
142
- *
143
- * Creates a new key and stores it in secret storage.
144
- */
145
- resetKey() {
146
- var _this4 = this;
147
- return _asyncToGenerator(function* () {
148
- var key = new Uint8Array(32);
149
- globalThis.crypto.getRandomValues(key);
150
- yield _this4.secretStorage.store(SECRET_STORAGE_NAME, encodeUnpaddedBase64(key));
151
- _this4.key = key;
152
- })();
153
- }
154
-
155
- /**
156
- * Get and cache the encryption key from secret storage.
157
- *
158
- * If `create` is `true`, creates a new key if no existing key is present.
159
- *
160
- * @returns the key, if available, or `null` if no key is available
161
- */
162
- getKey(create) {
163
- var _this5 = this;
164
- return _asyncToGenerator(function* () {
165
- if (_this5.key === undefined) {
166
- var keyB64 = yield _this5.secretStorage.get(SECRET_STORAGE_NAME);
167
- if (keyB64 === undefined) {
168
- if (!create) {
169
- return null;
170
- }
171
- yield _this5.resetKey();
172
- } else {
173
- _this5.key = decodeBase64(keyB64);
174
- }
175
- }
176
- return _this5.key;
177
- })();
178
- }
179
-
180
- /**
181
- * Rehydrate the dehydrated device stored on the server.
182
- *
183
- * Checks if there is a dehydrated device on the server. If so, rehydrates
184
- * the device and processes the to-device events.
185
- *
186
- * Returns whether or not a dehydrated device was found.
187
- */
188
- rehydrateDeviceIfAvailable() {
189
- var _this6 = this;
190
- return _asyncToGenerator(function* () {
191
- var key = yield _this6.getKey(false);
192
- if (!key) {
193
- return false;
194
- }
195
- var dehydratedDeviceResp;
196
- try {
197
- dehydratedDeviceResp = yield _this6.http.authedRequest(Method.Get, "/dehydrated_device", undefined, undefined, {
198
- prefix: UnstablePrefix
199
- });
200
- } catch (error) {
201
- var err = error;
202
- // We ignore M_NOT_FOUND (there is no dehydrated device, so nothing
203
- // us to do) and M_UNRECOGNIZED (the server does not understand the
204
- // endpoint). We pass through any other errors.
205
- if (err.errcode === "M_NOT_FOUND" || err.errcode === "M_UNRECOGNIZED") {
206
- _this6.logger.info("dehydration: No dehydrated device");
207
- return false;
208
- }
209
- throw err;
210
- }
211
- _this6.logger.info("dehydration: dehydrated device found");
212
- var rehydratedDevice = yield _this6.olmMachine.dehydratedDevices().rehydrate(key, new RustSdkCryptoJs.DeviceId(dehydratedDeviceResp.device_id), JSON.stringify(dehydratedDeviceResp.device_data));
213
- _this6.logger.info("dehydration: device rehydrated");
214
- var nextBatch = undefined;
215
- var toDeviceCount = 0;
216
- var roomKeyCount = 0;
217
- var path = encodeUri("/dehydrated_device/$device_id/events", {
218
- $device_id: dehydratedDeviceResp.device_id
219
- });
220
- // eslint-disable-next-line no-constant-condition
221
- while (true) {
222
- var eventResp = yield _this6.http.authedRequest(Method.Post, path, undefined, nextBatch ? {
223
- next_batch: nextBatch
224
- } : {}, {
225
- prefix: UnstablePrefix
226
- });
227
- if (eventResp.events.length === 0) {
228
- break;
229
- }
230
- toDeviceCount += eventResp.events.length;
231
- nextBatch = eventResp.next_batch;
232
- var roomKeyInfos = yield rehydratedDevice.receiveEvents(JSON.stringify(eventResp.events));
233
- roomKeyCount += roomKeyInfos.length;
234
- }
235
- _this6.logger.info("dehydration: received ".concat(roomKeyCount, " room keys from ").concat(toDeviceCount, " to-device events"));
236
- return true;
237
- })();
238
- }
239
-
240
- /**
241
- * Creates and uploads a new dehydrated device.
242
- *
243
- * Creates and stores a new key in secret storage if none is available.
244
- */
245
- createAndUploadDehydratedDevice() {
246
- var _this7 = this;
247
- return _asyncToGenerator(function* () {
248
- var key = yield _this7.getKey(true);
249
- var dehydratedDevice = yield _this7.olmMachine.dehydratedDevices().create();
250
- var request = yield dehydratedDevice.keysForUpload("Dehydrated device", key);
251
- yield _this7.outgoingRequestProcessor.makeOutgoingRequest(request);
252
- _this7.logger.info("dehydration: uploaded device");
253
- })();
254
- }
255
-
256
- /**
257
- * Schedule periodic creation of dehydrated devices.
258
- */
259
- scheduleDeviceDehydration() {
260
- var _this8 = this;
261
- return _asyncToGenerator(function* () {
262
- // cancel any previously-scheduled tasks
263
- _this8.stop();
264
- yield _this8.createAndUploadDehydratedDevice();
265
- _this8.intervalId = setInterval(() => {
266
- _this8.createAndUploadDehydratedDevice().catch(error => {
267
- _this8.logger.error("Error creating dehydrated device:", error);
268
- });
269
- }, DEHYDRATION_INTERVAL);
270
- })();
271
- }
272
-
273
- /**
274
- * Stop the dehydrated device manager.
275
- *
276
- * Cancels any scheduled dehydration tasks.
277
- */
278
- stop() {
279
- if (this.intervalId) {
280
- clearInterval(this.intervalId);
281
- this.intervalId = undefined;
282
- }
283
- }
284
- }
285
- //# sourceMappingURL=DehydratedDeviceManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DehydratedDeviceManager.js","names":["RustSdkCryptoJs","encodeUri","Method","decodeBase64","encodeUnpaddedBase64","UnstablePrefix","SECRET_STORAGE_NAME","DEHYDRATION_INTERVAL","DehydratedDeviceManager","constructor","logger","olmMachine","http","outgoingRequestProcessor","secretStorage","_defineProperty","isSupported","_this","_asyncToGenerator","authedRequest","Get","undefined","prefix","error","err","errcode","start","createNewKey","_this2","stop","rehydrateDeviceIfAvailable","e","info","resetKey","scheduleDeviceDehydration","isKeyStored","_this3","Boolean","isStored","_this4","key","Uint8Array","globalThis","crypto","getRandomValues","store","getKey","create","_this5","keyB64","get","_this6","dehydratedDeviceResp","rehydratedDevice","dehydratedDevices","rehydrate","DeviceId","device_id","JSON","stringify","device_data","nextBatch","toDeviceCount","roomKeyCount","path","$device_id","eventResp","Post","next_batch","events","length","roomKeyInfos","receiveEvents","concat","createAndUploadDehydratedDevice","_this7","dehydratedDevice","request","keysForUpload","makeOutgoingRequest","_this8","intervalId","setInterval","catch","clearInterval"],"sources":["../../src/rust-crypto/DehydratedDeviceManager.ts"],"sourcesContent":["/*\nCopyright 2024 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 * as RustSdkCryptoJs from \"@matrix-org/matrix-sdk-crypto-wasm\";\n\nimport { OutgoingRequestProcessor } from \"./OutgoingRequestProcessor.ts\";\nimport { encodeUri } from \"../utils.ts\";\nimport { IHttpOpts, MatrixError, MatrixHttpApi, Method } from \"../http-api/index.ts\";\nimport { IToDeviceEvent } from \"../sync-accumulator.ts\";\nimport { ServerSideSecretStorage } from \"../secret-storage.ts\";\nimport { decodeBase64, encodeUnpaddedBase64 } from \"../base64.ts\";\nimport { Logger } from \"../logger.ts\";\n\n/**\n * The response body of `GET /_matrix/client/unstable/org.matrix.msc3814.v1/dehydrated_device`.\n */\ninterface DehydratedDeviceResp {\n device_id: string;\n device_data: {\n algorithm: string;\n };\n}\n/**\n * The response body of `POST /_matrix/client/unstable/org.matrix.msc3814.v1/dehydrated_device/events`.\n */\ninterface DehydratedDeviceEventsResp {\n events: IToDeviceEvent[];\n next_batch: string;\n}\n\n/**\n * The unstable URL prefix for dehydrated device endpoints\n */\nexport const UnstablePrefix = \"/_matrix/client/unstable/org.matrix.msc3814.v1\";\n/**\n * The name used for the dehydration key in Secret Storage\n */\nconst SECRET_STORAGE_NAME = \"org.matrix.msc3814\";\n\n/**\n * The interval between creating dehydrated devices. (one week)\n */\nconst DEHYDRATION_INTERVAL = 7 * 24 * 60 * 60 * 1000;\n\n/**\n * Manages dehydrated devices\n *\n * We have one of these per `RustCrypto`. It's responsible for\n *\n * * determining server support for dehydrated devices\n * * creating new dehydrated devices when requested, including periodically\n * replacing the dehydrated device with a new one\n * * rehydrating a device when requested, and when present\n *\n * @internal\n */\nexport class DehydratedDeviceManager {\n /** the secret key used for dehydrating and rehydrating */\n private key?: Uint8Array;\n /** the ID of the interval for periodically replacing the dehydrated device */\n private intervalId?: ReturnType<typeof setInterval>;\n\n public constructor(\n private readonly logger: Logger,\n private readonly olmMachine: RustSdkCryptoJs.OlmMachine,\n private readonly http: MatrixHttpApi<IHttpOpts & { onlyData: true }>,\n private readonly outgoingRequestProcessor: OutgoingRequestProcessor,\n private readonly secretStorage: ServerSideSecretStorage,\n ) {}\n\n /**\n * Return whether the server supports dehydrated devices.\n */\n public async isSupported(): Promise<boolean> {\n // call the endpoint to get a dehydrated device. If it returns an\n // M_UNRECOGNIZED error, then dehydration is unsupported. If it returns\n // a successful response, or an M_NOT_FOUND, then dehydration is supported.\n // Any other exceptions are passed through.\n try {\n await this.http.authedRequest<DehydratedDeviceResp>(\n Method.Get,\n \"/dehydrated_device\",\n undefined,\n undefined,\n {\n prefix: UnstablePrefix,\n },\n );\n } catch (error) {\n const err = error as MatrixError;\n if (err.errcode === \"M_UNRECOGNIZED\") {\n return false;\n } else if (err.errcode === \"M_NOT_FOUND\") {\n return true;\n }\n throw error;\n }\n return true;\n }\n\n /**\n * Start using device dehydration.\n *\n * - Rehydrates a dehydrated device, if one is available.\n * - Creates a new dehydration key, if necessary, and stores it in Secret\n * Storage.\n * - If `createNewKey` is set to true, always creates a new key.\n * - If a dehydration key is not available, creates a new one.\n * - Creates a new dehydrated device, and schedules periodically creating\n * new dehydrated devices.\n *\n * @param createNewKey - whether to force creation of a new dehydration key.\n * This can be used, for example, if Secret Storage is being reset.\n */\n public async start(createNewKey?: boolean): Promise<void> {\n this.stop();\n try {\n await this.rehydrateDeviceIfAvailable();\n } catch (e) {\n // If rehydration fails, there isn't much we can do about it. Log\n // the error, and create a new device.\n this.logger.info(\"dehydration: Error rehydrating device:\", e);\n }\n if (createNewKey) {\n await this.resetKey();\n }\n await this.scheduleDeviceDehydration();\n }\n\n /**\n * Return whether the dehydration key is stored in Secret Storage.\n */\n public async isKeyStored(): Promise<boolean> {\n return Boolean(await this.secretStorage.isStored(SECRET_STORAGE_NAME));\n }\n\n /**\n * Reset the dehydration key.\n *\n * Creates a new key and stores it in secret storage.\n */\n public async resetKey(): Promise<void> {\n const key = new Uint8Array(32);\n globalThis.crypto.getRandomValues(key);\n await this.secretStorage.store(SECRET_STORAGE_NAME, encodeUnpaddedBase64(key));\n this.key = key;\n }\n\n /**\n * Get and cache the encryption key from secret storage.\n *\n * If `create` is `true`, creates a new key if no existing key is present.\n *\n * @returns the key, if available, or `null` if no key is available\n */\n private async getKey(create: boolean): Promise<Uint8Array | null> {\n if (this.key === undefined) {\n const keyB64 = await this.secretStorage.get(SECRET_STORAGE_NAME);\n if (keyB64 === undefined) {\n if (!create) {\n return null;\n }\n await this.resetKey();\n } else {\n this.key = decodeBase64(keyB64);\n }\n }\n return this.key!;\n }\n\n /**\n * Rehydrate the dehydrated device stored on the server.\n *\n * Checks if there is a dehydrated device on the server. If so, rehydrates\n * the device and processes the to-device events.\n *\n * Returns whether or not a dehydrated device was found.\n */\n public async rehydrateDeviceIfAvailable(): Promise<boolean> {\n const key = await this.getKey(false);\n if (!key) {\n return false;\n }\n\n let dehydratedDeviceResp;\n try {\n dehydratedDeviceResp = await this.http.authedRequest<DehydratedDeviceResp>(\n Method.Get,\n \"/dehydrated_device\",\n undefined,\n undefined,\n {\n prefix: UnstablePrefix,\n },\n );\n } catch (error) {\n const err = error as MatrixError;\n // We ignore M_NOT_FOUND (there is no dehydrated device, so nothing\n // us to do) and M_UNRECOGNIZED (the server does not understand the\n // endpoint). We pass through any other errors.\n if (err.errcode === \"M_NOT_FOUND\" || err.errcode === \"M_UNRECOGNIZED\") {\n this.logger.info(\"dehydration: No dehydrated device\");\n return false;\n }\n throw err;\n }\n\n this.logger.info(\"dehydration: dehydrated device found\");\n\n const rehydratedDevice = await this.olmMachine\n .dehydratedDevices()\n .rehydrate(\n key,\n new RustSdkCryptoJs.DeviceId(dehydratedDeviceResp.device_id),\n JSON.stringify(dehydratedDeviceResp.device_data),\n );\n\n this.logger.info(\"dehydration: device rehydrated\");\n\n let nextBatch: string | undefined = undefined;\n let toDeviceCount = 0;\n let roomKeyCount = 0;\n const path = encodeUri(\"/dehydrated_device/$device_id/events\", {\n $device_id: dehydratedDeviceResp.device_id,\n });\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const eventResp: DehydratedDeviceEventsResp = await this.http.authedRequest<DehydratedDeviceEventsResp>(\n Method.Post,\n path,\n undefined,\n nextBatch ? { next_batch: nextBatch } : {},\n {\n prefix: UnstablePrefix,\n },\n );\n\n if (eventResp.events.length === 0) {\n break;\n }\n toDeviceCount += eventResp.events.length;\n nextBatch = eventResp.next_batch;\n const roomKeyInfos = await rehydratedDevice.receiveEvents(JSON.stringify(eventResp.events));\n roomKeyCount += roomKeyInfos.length;\n }\n this.logger.info(`dehydration: received ${roomKeyCount} room keys from ${toDeviceCount} to-device events`);\n\n return true;\n }\n\n /**\n * Creates and uploads a new dehydrated device.\n *\n * Creates and stores a new key in secret storage if none is available.\n */\n public async createAndUploadDehydratedDevice(): Promise<void> {\n const key = (await this.getKey(true))!;\n\n const dehydratedDevice = await this.olmMachine.dehydratedDevices().create();\n const request = await dehydratedDevice.keysForUpload(\"Dehydrated device\", key);\n\n await this.outgoingRequestProcessor.makeOutgoingRequest(request);\n\n this.logger.info(\"dehydration: uploaded device\");\n }\n\n /**\n * Schedule periodic creation of dehydrated devices.\n */\n public async scheduleDeviceDehydration(): Promise<void> {\n // cancel any previously-scheduled tasks\n this.stop();\n\n await this.createAndUploadDehydratedDevice();\n this.intervalId = setInterval(() => {\n this.createAndUploadDehydratedDevice().catch((error) => {\n this.logger.error(\"Error creating dehydrated device:\", error);\n });\n }, DEHYDRATION_INTERVAL);\n }\n\n /**\n * Stop the dehydrated device manager.\n *\n * Cancels any scheduled dehydration tasks.\n */\n public stop(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = undefined;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,33 +0,0 @@
1
- import { OlmMachine, UserId } from "@matrix-org/matrix-sdk-crypto-wasm";
2
- import { OutgoingRequestProcessor } from "./OutgoingRequestProcessor.ts";
3
- import { LogSpan } from "../logger.ts";
4
- /**
5
- * KeyClaimManager: linearises calls to OlmMachine.getMissingSessions to avoid races
6
- *
7
- * We have one of these per `RustCrypto` (and hence per `MatrixClient`).
8
- *
9
- * @internal
10
- */
11
- export declare class KeyClaimManager {
12
- private readonly olmMachine;
13
- private readonly outgoingRequestProcessor;
14
- private currentClaimPromise;
15
- private stopped;
16
- constructor(olmMachine: OlmMachine, outgoingRequestProcessor: OutgoingRequestProcessor);
17
- /**
18
- * Tell the KeyClaimManager to immediately stop processing requests.
19
- *
20
- * Any further calls, and any still in the queue, will fail with an error.
21
- */
22
- stop(): void;
23
- /**
24
- * Given a list of users, attempt to ensure that we have Olm Sessions active with each of their devices
25
- *
26
- * If we don't have an active olm session, we will claim a one-time key and start one.
27
- * @param logger - logger to use
28
- * @param userList - list of userIDs to claim
29
- */
30
- ensureSessionsForUsers(logger: LogSpan, userList: Array<UserId>): Promise<void>;
31
- private ensureSessionsForUsersInner;
32
- }
33
- //# sourceMappingURL=KeyClaimManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyClaimManager.d.ts","sourceRoot":"","sources":["../../src/rust-crypto/KeyClaimManager.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;GAMG;AACH,qBAAa,eAAe;IAKpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IAL7C,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,OAAO,CAAS;gBAGH,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,wBAAwB;IAKvE;;;;OAIG;IACI,IAAI,IAAI,IAAI;IAInB;;;;;;OAMG;IACI,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAcxE,2BAA2B;CAgB5C"}
@@ -1,82 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2023 The Matrix.org Foundation C.I.C.
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License");
7
- you may not use this file except in compliance with the License.
8
- You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- */
18
-
19
- /**
20
- * KeyClaimManager: linearises calls to OlmMachine.getMissingSessions to avoid races
21
- *
22
- * We have one of these per `RustCrypto` (and hence per `MatrixClient`).
23
- *
24
- * @internal
25
- */
26
- export class KeyClaimManager {
27
- constructor(olmMachine, outgoingRequestProcessor) {
28
- this.olmMachine = olmMachine;
29
- this.outgoingRequestProcessor = outgoingRequestProcessor;
30
- _defineProperty(this, "currentClaimPromise", void 0);
31
- _defineProperty(this, "stopped", false);
32
- this.currentClaimPromise = Promise.resolve();
33
- }
34
-
35
- /**
36
- * Tell the KeyClaimManager to immediately stop processing requests.
37
- *
38
- * Any further calls, and any still in the queue, will fail with an error.
39
- */
40
- stop() {
41
- this.stopped = true;
42
- }
43
-
44
- /**
45
- * Given a list of users, attempt to ensure that we have Olm Sessions active with each of their devices
46
- *
47
- * If we don't have an active olm session, we will claim a one-time key and start one.
48
- * @param logger - logger to use
49
- * @param userList - list of userIDs to claim
50
- */
51
- ensureSessionsForUsers(logger, userList) {
52
- // The Rust-SDK requires that we only have one getMissingSessions process in flight at once. This little dance
53
- // ensures that, by only having one call to ensureSessionsForUsersInner active at once (and making them
54
- // queue up in order).
55
- var prom = this.currentClaimPromise.catch(() => {
56
- // any errors in the previous claim will have been reported already, so there is nothing to do here.
57
- // we just throw away the error and start anew.
58
- }).then(() => this.ensureSessionsForUsersInner(logger, userList));
59
- this.currentClaimPromise = prom;
60
- return prom;
61
- }
62
- ensureSessionsForUsersInner(logger, userList) {
63
- var _this = this;
64
- return _asyncToGenerator(function* () {
65
- // bail out quickly if we've been stopped.
66
- if (_this.stopped) {
67
- throw new Error("Cannot ensure Olm sessions: shutting down");
68
- }
69
- logger.info("Checking for missing Olm sessions");
70
- // By passing the userId array to rust we transfer ownership of the items to rust, causing
71
- // them to be invalidated on the JS side as soon as the method is called.
72
- // As we haven't created the `userList` let's clone the users, to not break the caller from re-using it.
73
- var claimRequest = yield _this.olmMachine.getMissingSessions(userList.map(u => u.clone()));
74
- if (claimRequest) {
75
- logger.info("Making /keys/claim request");
76
- yield _this.outgoingRequestProcessor.makeOutgoingRequest(claimRequest);
77
- }
78
- logger.info("Olm sessions prepared");
79
- })();
80
- }
81
- }
82
- //# sourceMappingURL=KeyClaimManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"KeyClaimManager.js","names":["KeyClaimManager","constructor","olmMachine","outgoingRequestProcessor","_defineProperty","currentClaimPromise","Promise","resolve","stop","stopped","ensureSessionsForUsers","logger","userList","prom","catch","then","ensureSessionsForUsersInner","_this","_asyncToGenerator","Error","info","claimRequest","getMissingSessions","map","u","clone","makeOutgoingRequest"],"sources":["../../src/rust-crypto/KeyClaimManager.ts"],"sourcesContent":["/*\nCopyright 2023 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 { OlmMachine, UserId } from \"@matrix-org/matrix-sdk-crypto-wasm\";\n\nimport { OutgoingRequestProcessor } from \"./OutgoingRequestProcessor.ts\";\nimport { LogSpan } from \"../logger.ts\";\n\n/**\n * KeyClaimManager: linearises calls to OlmMachine.getMissingSessions to avoid races\n *\n * We have one of these per `RustCrypto` (and hence per `MatrixClient`).\n *\n * @internal\n */\nexport class KeyClaimManager {\n private currentClaimPromise: Promise<void>;\n private stopped = false;\n\n public constructor(\n private readonly olmMachine: OlmMachine,\n private readonly outgoingRequestProcessor: OutgoingRequestProcessor,\n ) {\n this.currentClaimPromise = Promise.resolve();\n }\n\n /**\n * Tell the KeyClaimManager to immediately stop processing requests.\n *\n * Any further calls, and any still in the queue, will fail with an error.\n */\n public stop(): void {\n this.stopped = true;\n }\n\n /**\n * Given a list of users, attempt to ensure that we have Olm Sessions active with each of their devices\n *\n * If we don't have an active olm session, we will claim a one-time key and start one.\n * @param logger - logger to use\n * @param userList - list of userIDs to claim\n */\n public ensureSessionsForUsers(logger: LogSpan, userList: Array<UserId>): Promise<void> {\n // The Rust-SDK requires that we only have one getMissingSessions process in flight at once. This little dance\n // ensures that, by only having one call to ensureSessionsForUsersInner active at once (and making them\n // queue up in order).\n const prom = this.currentClaimPromise\n .catch(() => {\n // any errors in the previous claim will have been reported already, so there is nothing to do here.\n // we just throw away the error and start anew.\n })\n .then(() => this.ensureSessionsForUsersInner(logger, userList));\n this.currentClaimPromise = prom;\n return prom;\n }\n\n private async ensureSessionsForUsersInner(logger: LogSpan, userList: Array<UserId>): Promise<void> {\n // bail out quickly if we've been stopped.\n if (this.stopped) {\n throw new Error(`Cannot ensure Olm sessions: shutting down`);\n }\n logger.info(\"Checking for missing Olm sessions\");\n // By passing the userId array to rust we transfer ownership of the items to rust, causing\n // them to be invalidated on the JS side as soon as the method is called.\n // As we haven't created the `userList` let's clone the users, to not break the caller from re-using it.\n const claimRequest = await this.olmMachine.getMissingSessions(userList.map((u) => u.clone()));\n if (claimRequest) {\n logger.info(\"Making /keys/claim request\");\n await this.outgoingRequestProcessor.makeOutgoingRequest(claimRequest);\n }\n logger.info(\"Olm sessions prepared\");\n }\n}\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,CAAC;EAIlBC,WAAWA,CACGC,UAAsB,EACtBC,wBAAkD,EACrE;IAAA,KAFmBD,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,wBAAkD,GAAlDA,wBAAkD;IAAAC,eAAA;IAAAA,eAAA,kBAJrD,KAAK;IAMnB,IAAI,CAACC,mBAAmB,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;EAChD;;EAEA;AACJ;AACA;AACA;AACA;EACWC,IAAIA,CAAA,EAAS;IAChB,IAAI,CAACC,OAAO,GAAG,IAAI;EACvB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACWC,sBAAsBA,CAACC,MAAe,EAAEC,QAAuB,EAAiB;IACnF;IACA;IACA;IACA,IAAMC,IAAI,GAAG,IAAI,CAACR,mBAAmB,CAChCS,KAAK,CAAC,MAAM;MACT;MACA;IAAA,CACH,CAAC,CACDC,IAAI,CAAC,MAAM,IAAI,CAACC,2BAA2B,CAACL,MAAM,EAAEC,QAAQ,CAAC,CAAC;IACnE,IAAI,CAACP,mBAAmB,GAAGQ,IAAI;IAC/B,OAAOA,IAAI;EACf;EAEcG,2BAA2BA,CAACL,MAAe,EAAEC,QAAuB,EAAiB;IAAA,IAAAK,KAAA;IAAA,OAAAC,iBAAA;MAC/F;MACA,IAAID,KAAI,CAACR,OAAO,EAAE;QACd,MAAM,IAAIU,KAAK,4CAA4C,CAAC;MAChE;MACAR,MAAM,CAACS,IAAI,CAAC,mCAAmC,CAAC;MAChD;MACA;MACA;MACA,IAAMC,YAAY,SAASJ,KAAI,CAACf,UAAU,CAACoB,kBAAkB,CAACV,QAAQ,CAACW,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;MAC7F,IAAIJ,YAAY,EAAE;QACdV,MAAM,CAACS,IAAI,CAAC,4BAA4B,CAAC;QACzC,MAAMH,KAAI,CAACd,wBAAwB,CAACuB,mBAAmB,CAACL,YAAY,CAAC;MACzE;MACAV,MAAM,CAACS,IAAI,CAAC,uBAAuB,CAAC;IAAC;EACzC;AACJ","ignoreList":[]}
@@ -1,43 +0,0 @@
1
- import { OlmMachine, PutDehydratedDeviceRequest, UploadSigningKeysRequest } from "@matrix-org/matrix-sdk-crypto-wasm";
2
- import { IHttpOpts, MatrixHttpApi } from "../http-api/index.ts";
3
- import { UIAuthCallback } from "../interactive-auth.ts";
4
- /**
5
- * Common interface for all the request types returned by `OlmMachine.outgoingRequests`.
6
- *
7
- * @internal
8
- */
9
- export interface OutgoingRequest {
10
- readonly id: string | undefined;
11
- readonly type: number;
12
- }
13
- /**
14
- * OutgoingRequestManager: turns `OutgoingRequest`s from the rust sdk into HTTP requests
15
- *
16
- * We have one of these per `RustCrypto` (and hence per `MatrixClient`), not that it does anything terribly complicated.
17
- * It's responsible for:
18
- *
19
- * * holding the reference to the `MatrixHttpApi`
20
- * * turning `OutgoingRequest`s from the rust backend into HTTP requests, and sending them
21
- * * sending the results of such requests back to the rust backend.
22
- *
23
- * @internal
24
- */
25
- export declare class OutgoingRequestProcessor {
26
- private readonly olmMachine;
27
- private readonly http;
28
- constructor(olmMachine: OlmMachine, http: MatrixHttpApi<IHttpOpts & {
29
- onlyData: true;
30
- }>);
31
- makeOutgoingRequest<T>(msg: OutgoingRequest | UploadSigningKeysRequest | PutDehydratedDeviceRequest, uiaCallback?: UIAuthCallback<T>): Promise<void>;
32
- /**
33
- * Send the HTTP request for a `ToDeviceRequest`
34
- *
35
- * @param request - request to send
36
- * @returns JSON-serialized body of the response, if successful
37
- */
38
- private sendToDeviceRequest;
39
- private makeRequestWithUIA;
40
- private requestWithRetry;
41
- private rawJsonRequest;
42
- }
43
- //# sourceMappingURL=OutgoingRequestProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OutgoingRequestProcessor.d.ts","sourceRoot":"","sources":["../../src/rust-crypto/OutgoingRequestProcessor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAKH,UAAU,EACV,0BAA0B,EAI1B,wBAAwB,EAC3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAyB,SAAS,EAAE,aAAa,EAAU,MAAM,sBAAsB,CAAC;AAE/F,OAAO,EAAY,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKlE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,wBAAwB;IAE7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,aAAa,CAAC,SAAS,GAAG;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,CAAC;IAG3D,mBAAmB,CAAC,CAAC,EAC9B,GAAG,EAAE,eAAe,GAAG,wBAAwB,GAAG,0BAA0B,EAC5E,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAsEhB;;;;;OAKG;YACW,mBAAmB;YAsBnB,kBAAkB;YA2BlB,gBAAgB;YAyBhB,cAAc;CAiB/B"}