@unwanted/matrix-sdk-mini 34.12.0-2 → 34.12.0-4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/global.d.js +0 -2
  3. package/lib/@types/global.d.js.map +1 -1
  4. package/lib/browser-index.d.ts.map +1 -1
  5. package/lib/browser-index.js +0 -11
  6. package/lib/browser-index.js.map +1 -1
  7. package/lib/client.d.ts +2 -1221
  8. package/lib/client.d.ts.map +1 -1
  9. package/lib/client.js +331 -2821
  10. package/lib/client.js.map +1 -1
  11. package/lib/embedded.d.ts +0 -22
  12. package/lib/embedded.d.ts.map +1 -1
  13. package/lib/embedded.js +24 -166
  14. package/lib/embedded.js.map +1 -1
  15. package/lib/event-mapper.d.ts.map +1 -1
  16. package/lib/event-mapper.js +0 -4
  17. package/lib/event-mapper.js.map +1 -1
  18. package/lib/matrix.d.ts +0 -19
  19. package/lib/matrix.d.ts.map +1 -1
  20. package/lib/matrix.js +1 -26
  21. package/lib/matrix.js.map +1 -1
  22. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  23. package/lib/models/MSC3089Branch.js +0 -3
  24. package/lib/models/MSC3089Branch.js.map +1 -1
  25. package/lib/models/event.d.ts +0 -94
  26. package/lib/models/event.d.ts.map +1 -1
  27. package/lib/models/event.js +0 -274
  28. package/lib/models/event.js.map +1 -1
  29. package/lib/models/poll.d.ts.map +1 -1
  30. package/lib/models/poll.js +1 -5
  31. package/lib/models/poll.js.map +1 -1
  32. package/lib/models/relations-container.d.ts.map +1 -1
  33. package/lib/models/relations-container.js +1 -7
  34. package/lib/models/relations-container.js.map +1 -1
  35. package/lib/models/relations.d.ts +0 -1
  36. package/lib/models/relations.d.ts.map +1 -1
  37. package/lib/models/relations.js +0 -8
  38. package/lib/models/relations.js.map +1 -1
  39. package/lib/models/room-state.d.ts.map +1 -1
  40. package/lib/models/room-state.js +10 -26
  41. package/lib/models/room-state.js.map +1 -1
  42. package/lib/models/room.d.ts +0 -18
  43. package/lib/models/room.d.ts.map +1 -1
  44. package/lib/models/room.js +94 -148
  45. package/lib/models/room.js.map +1 -1
  46. package/lib/models/thread.d.ts.map +1 -1
  47. package/lib/models/thread.js +0 -1
  48. package/lib/models/thread.js.map +1 -1
  49. package/lib/sliding-sync-sdk.d.ts +2 -3
  50. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  51. package/lib/sliding-sync-sdk.js +41 -90
  52. package/lib/sliding-sync-sdk.js.map +1 -1
  53. package/lib/sync.d.ts +0 -12
  54. package/lib/sync.d.ts.map +1 -1
  55. package/lib/sync.js +1 -73
  56. package/lib/sync.js.map +1 -1
  57. package/lib/testing.d.ts +0 -48
  58. package/lib/testing.d.ts.map +1 -1
  59. package/lib/testing.js +0 -105
  60. package/lib/testing.js.map +1 -1
  61. package/lib/types.d.ts +0 -1
  62. package/lib/types.d.ts.map +1 -1
  63. package/lib/types.js.map +1 -1
  64. package/package.json +1 -3
  65. package/src/@types/global.d.ts +0 -3
  66. package/src/browser-index.ts +0 -11
  67. package/src/client.ts +60 -2882
  68. package/src/embedded.ts +3 -130
  69. package/src/event-mapper.ts +0 -4
  70. package/src/matrix.ts +0 -28
  71. package/src/models/MSC3089Branch.ts +0 -3
  72. package/src/models/event.ts +0 -289
  73. package/src/models/poll.ts +0 -6
  74. package/src/models/relations-container.ts +1 -8
  75. package/src/models/relations.ts +0 -8
  76. package/src/models/room-state.ts +2 -8
  77. package/src/models/room.ts +0 -62
  78. package/src/models/thread.ts +0 -1
  79. package/src/sliding-sync-sdk.ts +2 -72
  80. package/src/sync.ts +1 -98
  81. package/src/testing.ts +0 -108
  82. package/src/types.ts +0 -1
  83. package/CHANGELOG.md +0 -5910
  84. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
  85. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
  86. package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
  87. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
  88. package/lib/@types/crypto.d.ts +0 -47
  89. package/lib/@types/crypto.d.ts.map +0 -1
  90. package/lib/@types/crypto.js +0 -1
  91. package/lib/@types/crypto.js.map +0 -1
  92. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  93. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  94. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  95. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  96. package/lib/common-crypto/CryptoBackend.js +0 -73
  97. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  98. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  99. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  100. package/lib/common-crypto/key-passphrase.js +0 -33
  101. package/lib/common-crypto/key-passphrase.js.map +0 -1
  102. package/lib/crypto/CrossSigning.d.ts +0 -184
  103. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  104. package/lib/crypto/CrossSigning.js +0 -718
  105. package/lib/crypto/CrossSigning.js.map +0 -1
  106. package/lib/crypto/DeviceList.d.ts +0 -216
  107. package/lib/crypto/DeviceList.d.ts.map +0 -1
  108. package/lib/crypto/DeviceList.js +0 -892
  109. package/lib/crypto/DeviceList.js.map +0 -1
  110. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  111. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  112. package/lib/crypto/EncryptionSetup.js +0 -356
  113. package/lib/crypto/EncryptionSetup.js.map +0 -1
  114. package/lib/crypto/OlmDevice.d.ts +0 -457
  115. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  116. package/lib/crypto/OlmDevice.js +0 -1241
  117. package/lib/crypto/OlmDevice.js.map +0 -1
  118. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  119. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  120. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  121. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  122. package/lib/crypto/RoomList.d.ts +0 -26
  123. package/lib/crypto/RoomList.d.ts.map +0 -1
  124. package/lib/crypto/RoomList.js +0 -71
  125. package/lib/crypto/RoomList.js.map +0 -1
  126. package/lib/crypto/SecretSharing.d.ts +0 -24
  127. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  128. package/lib/crypto/SecretSharing.js +0 -194
  129. package/lib/crypto/SecretSharing.js.map +0 -1
  130. package/lib/crypto/SecretStorage.d.ts +0 -55
  131. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  132. package/lib/crypto/SecretStorage.js +0 -118
  133. package/lib/crypto/SecretStorage.js.map +0 -1
  134. package/lib/crypto/aes.d.ts +0 -6
  135. package/lib/crypto/aes.d.ts.map +0 -1
  136. package/lib/crypto/aes.js +0 -24
  137. package/lib/crypto/aes.js.map +0 -1
  138. package/lib/crypto/algorithms/base.d.ts +0 -156
  139. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  140. package/lib/crypto/algorithms/base.js +0 -187
  141. package/lib/crypto/algorithms/base.js.map +0 -1
  142. package/lib/crypto/algorithms/index.d.ts +0 -4
  143. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  144. package/lib/crypto/algorithms/index.js +0 -20
  145. package/lib/crypto/algorithms/index.js.map +0 -1
  146. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  147. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  148. package/lib/crypto/algorithms/megolm.js +0 -1822
  149. package/lib/crypto/algorithms/megolm.js.map +0 -1
  150. package/lib/crypto/algorithms/olm.d.ts +0 -5
  151. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  152. package/lib/crypto/algorithms/olm.js +0 -299
  153. package/lib/crypto/algorithms/olm.js.map +0 -1
  154. package/lib/crypto/api.d.ts +0 -32
  155. package/lib/crypto/api.d.ts.map +0 -1
  156. package/lib/crypto/api.js +0 -22
  157. package/lib/crypto/api.js.map +0 -1
  158. package/lib/crypto/backup.d.ts +0 -227
  159. package/lib/crypto/backup.d.ts.map +0 -1
  160. package/lib/crypto/backup.js +0 -824
  161. package/lib/crypto/backup.js.map +0 -1
  162. package/lib/crypto/crypto.d.ts +0 -3
  163. package/lib/crypto/crypto.d.ts.map +0 -1
  164. package/lib/crypto/crypto.js +0 -19
  165. package/lib/crypto/crypto.js.map +0 -1
  166. package/lib/crypto/dehydration.d.ts +0 -34
  167. package/lib/crypto/dehydration.d.ts.map +0 -1
  168. package/lib/crypto/dehydration.js +0 -252
  169. package/lib/crypto/dehydration.js.map +0 -1
  170. package/lib/crypto/device-converter.d.ts +0 -9
  171. package/lib/crypto/device-converter.d.ts.map +0 -1
  172. package/lib/crypto/device-converter.js +0 -42
  173. package/lib/crypto/device-converter.js.map +0 -1
  174. package/lib/crypto/deviceinfo.d.ts +0 -99
  175. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  176. package/lib/crypto/deviceinfo.js +0 -148
  177. package/lib/crypto/deviceinfo.js.map +0 -1
  178. package/lib/crypto/index.d.ts +0 -1209
  179. package/lib/crypto/index.d.ts.map +0 -1
  180. package/lib/crypto/index.js +0 -4097
  181. package/lib/crypto/index.js.map +0 -1
  182. package/lib/crypto/key_passphrase.d.ts +0 -14
  183. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  184. package/lib/crypto/key_passphrase.js +0 -44
  185. package/lib/crypto/key_passphrase.js.map +0 -1
  186. package/lib/crypto/keybackup.d.ts +0 -18
  187. package/lib/crypto/keybackup.d.ts.map +0 -1
  188. package/lib/crypto/keybackup.js +0 -1
  189. package/lib/crypto/keybackup.js.map +0 -1
  190. package/lib/crypto/olmlib.d.ts +0 -129
  191. package/lib/crypto/olmlib.d.ts.map +0 -1
  192. package/lib/crypto/olmlib.js +0 -492
  193. package/lib/crypto/olmlib.js.map +0 -1
  194. package/lib/crypto/recoverykey.d.ts +0 -2
  195. package/lib/crypto/recoverykey.d.ts.map +0 -1
  196. package/lib/crypto/recoverykey.js +0 -19
  197. package/lib/crypto/recoverykey.js.map +0 -1
  198. package/lib/crypto/store/base.d.ts +0 -252
  199. package/lib/crypto/store/base.d.ts.map +0 -1
  200. package/lib/crypto/store/base.js +0 -64
  201. package/lib/crypto/store/base.js.map +0 -1
  202. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  203. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  204. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  205. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  206. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  207. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  208. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  209. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  210. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  211. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  212. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  213. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  214. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  215. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  216. package/lib/crypto/store/memory-crypto-store.js +0 -622
  217. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  218. package/lib/crypto/verification/Base.d.ts +0 -105
  219. package/lib/crypto/verification/Base.d.ts.map +0 -1
  220. package/lib/crypto/verification/Base.js +0 -372
  221. package/lib/crypto/verification/Base.js.map +0 -1
  222. package/lib/crypto/verification/Error.d.ts +0 -35
  223. package/lib/crypto/verification/Error.d.ts.map +0 -1
  224. package/lib/crypto/verification/Error.js +0 -86
  225. package/lib/crypto/verification/Error.js.map +0 -1
  226. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  227. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  228. package/lib/crypto/verification/IllegalMethod.js +0 -43
  229. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  230. package/lib/crypto/verification/QRCode.d.ts +0 -51
  231. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  232. package/lib/crypto/verification/QRCode.js +0 -277
  233. package/lib/crypto/verification/QRCode.js.map +0 -1
  234. package/lib/crypto/verification/SAS.d.ts +0 -27
  235. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  236. package/lib/crypto/verification/SAS.js +0 -485
  237. package/lib/crypto/verification/SAS.js.map +0 -1
  238. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  239. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  240. package/lib/crypto/verification/SASDecimal.js +0 -34
  241. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  242. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  243. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  244. package/lib/crypto/verification/request/Channel.js +0 -1
  245. package/lib/crypto/verification/request/Channel.js.map +0 -1
  246. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  247. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  248. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  249. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  250. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  251. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  252. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  253. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  254. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  255. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  256. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  257. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  258. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  259. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  260. package/lib/crypto-api/CryptoEvent.js +0 -33
  261. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  262. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  263. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  264. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  265. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  266. package/lib/crypto-api/index.d.ts +0 -978
  267. package/lib/crypto-api/index.d.ts.map +0 -1
  268. package/lib/crypto-api/index.js +0 -304
  269. package/lib/crypto-api/index.js.map +0 -1
  270. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  271. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  272. package/lib/crypto-api/key-passphrase.js +0 -51
  273. package/lib/crypto-api/key-passphrase.js.map +0 -1
  274. package/lib/crypto-api/keybackup.d.ts +0 -88
  275. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  276. package/lib/crypto-api/keybackup.js +0 -1
  277. package/lib/crypto-api/keybackup.js.map +0 -1
  278. package/lib/crypto-api/recovery-key.d.ts +0 -11
  279. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  280. package/lib/crypto-api/recovery-key.js +0 -65
  281. package/lib/crypto-api/recovery-key.js.map +0 -1
  282. package/lib/crypto-api/verification.d.ts +0 -344
  283. package/lib/crypto-api/verification.d.ts.map +0 -1
  284. package/lib/crypto-api/verification.js +0 -91
  285. package/lib/crypto-api/verification.js.map +0 -1
  286. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  287. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  288. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  289. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  290. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  291. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  292. package/lib/rendezvous/RendezvousChannel.js +0 -1
  293. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  294. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  295. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  296. package/lib/rendezvous/RendezvousCode.js +0 -1
  297. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  298. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  299. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  300. package/lib/rendezvous/RendezvousError.js +0 -23
  301. package/lib/rendezvous/RendezvousError.js.map +0 -1
  302. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  303. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  304. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  305. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  306. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  307. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  308. package/lib/rendezvous/RendezvousIntent.js +0 -22
  309. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  310. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  311. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  312. package/lib/rendezvous/RendezvousTransport.js +0 -1
  313. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  314. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  315. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  316. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  317. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  318. package/lib/rendezvous/channels/index.d.ts +0 -2
  319. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  320. package/lib/rendezvous/channels/index.js +0 -18
  321. package/lib/rendezvous/channels/index.js.map +0 -1
  322. package/lib/rendezvous/index.d.ts +0 -10
  323. package/lib/rendezvous/index.d.ts.map +0 -1
  324. package/lib/rendezvous/index.js +0 -23
  325. package/lib/rendezvous/index.js.map +0 -1
  326. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  327. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  328. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  329. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  330. package/lib/rendezvous/transports/index.d.ts +0 -2
  331. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  332. package/lib/rendezvous/transports/index.js +0 -18
  333. package/lib/rendezvous/transports/index.js.map +0 -1
  334. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  335. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  336. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  337. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  338. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  339. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  340. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  341. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  342. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  343. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  344. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  345. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  346. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  347. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  348. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  349. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  350. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  351. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  352. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  353. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  354. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  355. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  356. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  357. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  358. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  359. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  360. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  361. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  362. package/lib/rust-crypto/backup.d.ts +0 -254
  363. package/lib/rust-crypto/backup.d.ts.map +0 -1
  364. package/lib/rust-crypto/backup.js +0 -837
  365. package/lib/rust-crypto/backup.js.map +0 -1
  366. package/lib/rust-crypto/constants.d.ts +0 -3
  367. package/lib/rust-crypto/constants.d.ts.map +0 -1
  368. package/lib/rust-crypto/constants.js +0 -19
  369. package/lib/rust-crypto/constants.js.map +0 -1
  370. package/lib/rust-crypto/device-converter.d.ts +0 -28
  371. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  372. package/lib/rust-crypto/device-converter.js +0 -123
  373. package/lib/rust-crypto/device-converter.js.map +0 -1
  374. package/lib/rust-crypto/index.d.ts +0 -61
  375. package/lib/rust-crypto/index.d.ts.map +0 -1
  376. package/lib/rust-crypto/index.js +0 -152
  377. package/lib/rust-crypto/index.js.map +0 -1
  378. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  379. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  380. package/lib/rust-crypto/libolm_migration.js +0 -459
  381. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  382. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  383. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  384. package/lib/rust-crypto/rust-crypto.js +0 -2016
  385. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  386. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  387. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  388. package/lib/rust-crypto/secret-storage.js +0 -63
  389. package/lib/rust-crypto/secret-storage.js.map +0 -1
  390. package/lib/rust-crypto/verification.d.ts +0 -319
  391. package/lib/rust-crypto/verification.d.ts.map +0 -1
  392. package/lib/rust-crypto/verification.js +0 -816
  393. package/lib/rust-crypto/verification.js.map +0 -1
  394. package/lib/secret-storage.d.ts +0 -370
  395. package/lib/secret-storage.d.ts.map +0 -1
  396. package/lib/secret-storage.js +0 -466
  397. package/lib/secret-storage.js.map +0 -1
  398. package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
  399. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
  400. package/lib/utils/decryptAESSecretStorageItem.js +0 -50
  401. package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
  402. package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
  403. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
  404. package/lib/utils/encryptAESSecretStorageItem.js +0 -68
  405. package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
  406. package/lib/utils/internal/deriveKeys.d.ts +0 -10
  407. package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
  408. package/lib/utils/internal/deriveKeys.js +0 -60
  409. package/lib/utils/internal/deriveKeys.js.map +0 -1
  410. package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
  411. package/src/@types/crypto.ts +0 -73
  412. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  413. package/src/common-crypto/CryptoBackend.ts +0 -302
  414. package/src/common-crypto/README.md +0 -4
  415. package/src/common-crypto/key-passphrase.ts +0 -43
  416. package/src/crypto/CrossSigning.ts +0 -773
  417. package/src/crypto/DeviceList.ts +0 -989
  418. package/src/crypto/EncryptionSetup.ts +0 -351
  419. package/src/crypto/OlmDevice.ts +0 -1500
  420. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  421. package/src/crypto/RoomList.ts +0 -70
  422. package/src/crypto/SecretSharing.ts +0 -240
  423. package/src/crypto/SecretStorage.ts +0 -136
  424. package/src/crypto/aes.ts +0 -23
  425. package/src/crypto/algorithms/base.ts +0 -236
  426. package/src/crypto/algorithms/index.ts +0 -20
  427. package/src/crypto/algorithms/megolm.ts +0 -2216
  428. package/src/crypto/algorithms/olm.ts +0 -381
  429. package/src/crypto/api.ts +0 -70
  430. package/src/crypto/backup.ts +0 -922
  431. package/src/crypto/crypto.ts +0 -18
  432. package/src/crypto/dehydration.ts +0 -272
  433. package/src/crypto/device-converter.ts +0 -45
  434. package/src/crypto/deviceinfo.ts +0 -158
  435. package/src/crypto/index.ts +0 -4414
  436. package/src/crypto/key_passphrase.ts +0 -42
  437. package/src/crypto/keybackup.ts +0 -47
  438. package/src/crypto/olmlib.ts +0 -539
  439. package/src/crypto/recoverykey.ts +0 -18
  440. package/src/crypto/store/base.ts +0 -348
  441. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  442. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  443. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  444. package/src/crypto/store/memory-crypto-store.ts +0 -680
  445. package/src/crypto/verification/Base.ts +0 -409
  446. package/src/crypto/verification/Error.ts +0 -76
  447. package/src/crypto/verification/IllegalMethod.ts +0 -50
  448. package/src/crypto/verification/QRCode.ts +0 -310
  449. package/src/crypto/verification/SAS.ts +0 -494
  450. package/src/crypto/verification/SASDecimal.ts +0 -37
  451. package/src/crypto/verification/request/Channel.ts +0 -34
  452. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  453. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  454. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  455. package/src/crypto-api/CryptoEvent.ts +0 -93
  456. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  457. package/src/crypto-api/index.ts +0 -1175
  458. package/src/crypto-api/key-passphrase.ts +0 -58
  459. package/src/crypto-api/keybackup.ts +0 -115
  460. package/src/crypto-api/recovery-key.ts +0 -69
  461. package/src/crypto-api/verification.ts +0 -408
  462. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  463. package/src/rendezvous/RendezvousChannel.ts +0 -48
  464. package/src/rendezvous/RendezvousCode.ts +0 -25
  465. package/src/rendezvous/RendezvousError.ts +0 -26
  466. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  467. package/src/rendezvous/RendezvousIntent.ts +0 -20
  468. package/src/rendezvous/RendezvousTransport.ts +0 -58
  469. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  470. package/src/rendezvous/channels/index.ts +0 -17
  471. package/src/rendezvous/index.ts +0 -25
  472. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  473. package/src/rendezvous/transports/index.ts +0 -17
  474. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  475. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  476. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  477. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  478. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  479. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  480. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  481. package/src/rust-crypto/backup.ts +0 -881
  482. package/src/rust-crypto/constants.ts +0 -18
  483. package/src/rust-crypto/device-converter.ts +0 -128
  484. package/src/rust-crypto/index.ts +0 -237
  485. package/src/rust-crypto/libolm_migration.ts +0 -530
  486. package/src/rust-crypto/rust-crypto.ts +0 -2205
  487. package/src/rust-crypto/secret-storage.ts +0 -60
  488. package/src/rust-crypto/verification.ts +0 -830
  489. package/src/secret-storage.ts +0 -693
  490. package/src/utils/decryptAESSecretStorageItem.ts +0 -54
  491. package/src/utils/encryptAESSecretStorageItem.ts +0 -73
  492. package/src/utils/internal/deriveKeys.ts +0 -63
@@ -1 +0,0 @@
1
- {"version":3,"file":"keybackup.js","names":[],"sources":["../../src/crypto-api/keybackup.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 { ISigned } from \"../@types/signed.ts\";\nimport { AESEncryptedSecretStoragePayload } from \"../@types/AESEncryptedSecretStoragePayload.ts\";\nimport { ImportRoomKeyProgressData } from \"./index.ts\";\n\nexport interface Curve25519AuthData {\n public_key: string;\n private_key_salt?: string;\n private_key_iterations?: number;\n private_key_bits?: number;\n}\n\nexport interface Aes256AuthData {\n iv: string;\n mac: string;\n private_key_salt?: string;\n private_key_iterations?: number;\n}\n\n/**\n * Information about a server-side key backup.\n *\n * Returned by [`GET /_matrix/client/v3/room_keys/version`](https://spec.matrix.org/v1.7/client-server-api/#get_matrixclientv3room_keysversion)\n * and hence {@link matrix.MatrixClient.getKeyBackupVersion}.\n */\nexport interface KeyBackupInfo {\n algorithm: string;\n auth_data: ISigned & (Curve25519AuthData | Aes256AuthData);\n count?: number;\n etag?: string;\n version?: string; // number contained within\n}\n\n/**\n * Information on whether a given server-side backup is trusted.\n */\nexport interface BackupTrustInfo {\n /**\n * Is this backup trusted?\n *\n * True if, and only if, there is a valid signature on the backup from a trusted device.\n */\n readonly trusted: boolean;\n\n /**\n * True if this backup matches the stored decryption key.\n */\n readonly matchesDecryptionKey: boolean;\n}\n\n/**\n * The result of {@link CryptoApi.checkKeyBackupAndEnable}.\n */\nexport interface KeyBackupCheck {\n backupInfo: KeyBackupInfo;\n trustInfo: BackupTrustInfo;\n}\n\nexport interface Curve25519SessionData {\n ciphertext: string;\n ephemeral: string;\n mac: string;\n}\n\n/* eslint-disable camelcase */\nexport interface KeyBackupSession<T = Curve25519SessionData | AESEncryptedSecretStoragePayload> {\n first_message_index: number;\n forwarded_count: number;\n is_verified: boolean;\n session_data: T;\n}\n\nexport interface KeyBackupRoomSessions {\n [sessionId: string]: KeyBackupSession;\n}\n\n/**\n * Extra parameters for {@link CryptoApi.restoreKeyBackup} and {@link CryptoApi.restoreKeyBackupWithPassphrase}.\n */\nexport interface KeyBackupRestoreOpts {\n /**\n * A callback which, if defined, will be called periodically to report ongoing progress of the backup restore process.\n * @param progress\n */\n progressCallback?: (progress: ImportRoomKeyProgressData) => void;\n}\n\n/**\n * The result of {@link CryptoApi.restoreKeyBackup}.\n */\nexport interface KeyBackupRestoreResult {\n /**\n * The total number of keys that were found in the backup.\n */\n total: number;\n /**\n * The number of keys that were imported.\n */\n imported: number;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- /**
2
- * Encode a recovery key using the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation}
3
- * @param key
4
- */
5
- export declare function encodeRecoveryKey(key: ArrayLike<number>): string | undefined;
6
- /**
7
- * Decode a recovery key encoded with the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation} encoding.
8
- * @param recoveryKey
9
- */
10
- export declare function decodeRecoveryKey(recoveryKey: string): Uint8Array;
11
- //# sourceMappingURL=recovery-key.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recovery-key.d.ts","sourceRoot":"","sources":["../../src/crypto-api/recovery-key.ts"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAa5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAsBjE"}
@@ -1,65 +0,0 @@
1
- /*
2
- * Copyright 2024 The Matrix.org Foundation C.I.C.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import bs58 from "bs58";
18
-
19
- // picked arbitrarily but to try & avoid clashing with any bitcoin ones
20
- // (which are also base58 encoded, but bitcoin's involve a lot more hashing)
21
- var OLM_RECOVERY_KEY_PREFIX = [0x8b, 0x01];
22
- var KEY_SIZE = 32;
23
-
24
- /**
25
- * Encode a recovery key using the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation}
26
- * @param key
27
- */
28
- export function encodeRecoveryKey(key) {
29
- var _base58key$match;
30
- var buf = Buffer.alloc(OLM_RECOVERY_KEY_PREFIX.length + key.length + 1);
31
- buf.set(OLM_RECOVERY_KEY_PREFIX, 0);
32
- buf.set(key, OLM_RECOVERY_KEY_PREFIX.length);
33
- var parity = 0;
34
- for (var i = 0; i < buf.length - 1; ++i) {
35
- parity ^= buf[i];
36
- }
37
- buf[buf.length - 1] = parity;
38
- var base58key = bs58.encode(buf);
39
- return (_base58key$match = base58key.match(/.{1,4}/g)) === null || _base58key$match === void 0 ? void 0 : _base58key$match.join(" ");
40
- }
41
-
42
- /**
43
- * Decode a recovery key encoded with the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation} encoding.
44
- * @param recoveryKey
45
- */
46
- export function decodeRecoveryKey(recoveryKey) {
47
- var result = bs58.decode(recoveryKey.replace(/ /g, ""));
48
- var parity = 0;
49
- for (var b of result) {
50
- parity ^= b;
51
- }
52
- if (parity !== 0) {
53
- throw new Error("Incorrect parity");
54
- }
55
- for (var i = 0; i < OLM_RECOVERY_KEY_PREFIX.length; ++i) {
56
- if (result[i] !== OLM_RECOVERY_KEY_PREFIX[i]) {
57
- throw new Error("Incorrect prefix");
58
- }
59
- }
60
- if (result.length !== OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE + 1) {
61
- throw new Error("Incorrect length");
62
- }
63
- return Uint8Array.from(result.slice(OLM_RECOVERY_KEY_PREFIX.length, OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE));
64
- }
65
- //# sourceMappingURL=recovery-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recovery-key.js","names":["bs58","OLM_RECOVERY_KEY_PREFIX","KEY_SIZE","encodeRecoveryKey","key","_base58key$match","buf","Buffer","alloc","length","set","parity","i","base58key","encode","match","join","decodeRecoveryKey","recoveryKey","result","decode","replace","b","Error","Uint8Array","from","slice"],"sources":["../../src/crypto-api/recovery-key.ts"],"sourcesContent":["/*\n * Copyright 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport bs58 from \"bs58\";\n\n// picked arbitrarily but to try & avoid clashing with any bitcoin ones\n// (which are also base58 encoded, but bitcoin's involve a lot more hashing)\nconst OLM_RECOVERY_KEY_PREFIX = [0x8b, 0x01];\nconst KEY_SIZE = 32;\n\n/**\n * Encode a recovery key using the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation}\n * @param key\n */\nexport function encodeRecoveryKey(key: ArrayLike<number>): string | undefined {\n const buf = Buffer.alloc(OLM_RECOVERY_KEY_PREFIX.length + key.length + 1);\n buf.set(OLM_RECOVERY_KEY_PREFIX, 0);\n buf.set(key, OLM_RECOVERY_KEY_PREFIX.length);\n\n let parity = 0;\n for (let i = 0; i < buf.length - 1; ++i) {\n parity ^= buf[i];\n }\n buf[buf.length - 1] = parity;\n const base58key = bs58.encode(buf);\n\n return base58key.match(/.{1,4}/g)?.join(\" \");\n}\n\n/**\n * Decode a recovery key encoded with the Matrix {@link https://spec.matrix.org/v1.11/appendices/#cryptographic-key-representation | Cryptographic key representation} encoding.\n * @param recoveryKey\n */\nexport function decodeRecoveryKey(recoveryKey: string): Uint8Array {\n const result = bs58.decode(recoveryKey.replace(/ /g, \"\"));\n\n let parity = 0;\n for (const b of result) {\n parity ^= b;\n }\n if (parity !== 0) {\n throw new Error(\"Incorrect parity\");\n }\n\n for (let i = 0; i < OLM_RECOVERY_KEY_PREFIX.length; ++i) {\n if (result[i] !== OLM_RECOVERY_KEY_PREFIX[i]) {\n throw new Error(\"Incorrect prefix\");\n }\n }\n\n if (result.length !== OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE + 1) {\n throw new Error(\"Incorrect length\");\n }\n\n return Uint8Array.from(result.slice(OLM_RECOVERY_KEY_PREFIX.length, OLM_RECOVERY_KEY_PREFIX.length + KEY_SIZE));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA,IAAMC,uBAAuB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5C,IAAMC,QAAQ,GAAG,EAAE;;AAEnB;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,GAAsB,EAAsB;EAAA,IAAAC,gBAAA;EAC1E,IAAMC,GAAG,GAAGC,MAAM,CAACC,KAAK,CAACP,uBAAuB,CAACQ,MAAM,GAAGL,GAAG,CAACK,MAAM,GAAG,CAAC,CAAC;EACzEH,GAAG,CAACI,GAAG,CAACT,uBAAuB,EAAE,CAAC,CAAC;EACnCK,GAAG,CAACI,GAAG,CAACN,GAAG,EAAEH,uBAAuB,CAACQ,MAAM,CAAC;EAE5C,IAAIE,MAAM,GAAG,CAAC;EACd,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,GAAG,CAACG,MAAM,GAAG,CAAC,EAAE,EAAEG,CAAC,EAAE;IACrCD,MAAM,IAAIL,GAAG,CAACM,CAAC,CAAC;EACpB;EACAN,GAAG,CAACA,GAAG,CAACG,MAAM,GAAG,CAAC,CAAC,GAAGE,MAAM;EAC5B,IAAME,SAAS,GAAGb,IAAI,CAACc,MAAM,CAACR,GAAG,CAAC;EAElC,QAAAD,gBAAA,GAAOQ,SAAS,CAACE,KAAK,CAAC,SAAS,CAAC,cAAAV,gBAAA,uBAA1BA,gBAAA,CAA4BW,IAAI,CAAC,GAAG,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,WAAmB,EAAc;EAC/D,IAAMC,MAAM,GAAGnB,IAAI,CAACoB,MAAM,CAACF,WAAW,CAACG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;EAEzD,IAAIV,MAAM,GAAG,CAAC;EACd,KAAK,IAAMW,CAAC,IAAIH,MAAM,EAAE;IACpBR,MAAM,IAAIW,CAAC;EACf;EACA,IAAIX,MAAM,KAAK,CAAC,EAAE;IACd,MAAM,IAAIY,KAAK,CAAC,kBAAkB,CAAC;EACvC;EAEA,KAAK,IAAIX,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,uBAAuB,CAACQ,MAAM,EAAE,EAAEG,CAAC,EAAE;IACrD,IAAIO,MAAM,CAACP,CAAC,CAAC,KAAKX,uBAAuB,CAACW,CAAC,CAAC,EAAE;MAC1C,MAAM,IAAIW,KAAK,CAAC,kBAAkB,CAAC;IACvC;EACJ;EAEA,IAAIJ,MAAM,CAACV,MAAM,KAAKR,uBAAuB,CAACQ,MAAM,GAAGP,QAAQ,GAAG,CAAC,EAAE;IACjE,MAAM,IAAIqB,KAAK,CAAC,kBAAkB,CAAC;EACvC;EAEA,OAAOC,UAAU,CAACC,IAAI,CAACN,MAAM,CAACO,KAAK,CAACzB,uBAAuB,CAACQ,MAAM,EAAER,uBAAuB,CAACQ,MAAM,GAAGP,QAAQ,CAAC,CAAC;AACnH","ignoreList":[]}
@@ -1,344 +0,0 @@
1
- import { MatrixEvent } from "../models/event.ts";
2
- import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
3
- /**
4
- * An incoming, or outgoing, request to verify a user or a device via cross-signing.
5
- */
6
- export interface VerificationRequest extends TypedEventEmitter<VerificationRequestEvent, VerificationRequestEventHandlerMap> {
7
- /**
8
- * Unique ID for this verification request.
9
- *
10
- * An ID isn't assigned until the first message is sent, so this may be `undefined` in the early phases.
11
- */
12
- get transactionId(): string | undefined;
13
- /**
14
- * For an in-room verification, the ID of the room.
15
- *
16
- * For to-device verifictions, `undefined`.
17
- */
18
- get roomId(): string | undefined;
19
- /**
20
- * True if this request was initiated by the local client.
21
- *
22
- * For in-room verifications, the initiator is who sent the `m.key.verification.request` event.
23
- * For to-device verifications, the initiator is who sent the `m.key.verification.start` event.
24
- */
25
- get initiatedByMe(): boolean;
26
- /** The user id of the other party in this request */
27
- get otherUserId(): string;
28
- /** For verifications via to-device messages: the ID of the other device. Otherwise, undefined. */
29
- get otherDeviceId(): string | undefined;
30
- /** True if the other party in this request is one of this user's own devices. */
31
- get isSelfVerification(): boolean;
32
- /** current phase of the request. */
33
- get phase(): VerificationPhase;
34
- /** True if the request has sent its initial event and needs more events to complete
35
- * (ie it is in phase `Requested`, `Ready` or `Started`).
36
- */
37
- get pending(): boolean;
38
- /**
39
- * True if we have started the process of sending an `m.key.verification.ready` (but have not necessarily received
40
- * the remote echo which causes a transition to {@link VerificationPhase.Ready}.
41
- */
42
- get accepting(): boolean;
43
- /**
44
- * True if we have started the process of sending an `m.key.verification.cancel` (but have not necessarily received
45
- * the remote echo which causes a transition to {@link VerificationPhase.Cancelled}).
46
- */
47
- get declining(): boolean;
48
- /**
49
- * The remaining number of ms before the request will be automatically cancelled.
50
- *
51
- * `null` indicates that there is no timeout
52
- */
53
- get timeout(): number | null;
54
- /** once the phase is Started (and !initiatedByMe) or Ready: common methods supported by both sides */
55
- get methods(): string[];
56
- /** the method picked in the .start event */
57
- get chosenMethod(): string | null;
58
- /**
59
- * Checks whether the other party supports a given verification method.
60
- * This is useful when setting up the QR code UI, as it is somewhat asymmetrical:
61
- * if the other party supports SCAN_QR, we should show a QR code in the UI, and vice versa.
62
- * For methods that need to be supported by both ends, use the `methods` property.
63
- *
64
- * @param method - the method to check
65
- * @returns true if the other party said they supported the method
66
- */
67
- otherPartySupportsMethod(method: string): boolean;
68
- /**
69
- * Accepts the request, sending a .ready event to the other party
70
- *
71
- * @returns Promise which resolves when the event has been sent.
72
- */
73
- accept(): Promise<void>;
74
- /**
75
- * Cancels the request, sending a cancellation to the other party
76
- *
77
- * @param params - Details for the cancellation, including `reason` (defaults to "User declined"), and `code`
78
- * (defaults to `m.user`). **Deprecated**: this parameter is ignored by the Rust cryptography implementation.
79
- *
80
- * @returns Promise which resolves when the event has been sent.
81
- */
82
- cancel(params?: {
83
- reason?: string;
84
- code?: string;
85
- }): Promise<void>;
86
- /**
87
- * Create a {@link Verifier} to do this verification via a particular method.
88
- *
89
- * If a verifier has already been created for this request, returns that verifier.
90
- *
91
- * This does *not* send the `m.key.verification.start` event - to do so, call {@link Verifier.verify} on the
92
- * returned verifier.
93
- *
94
- * If no previous events have been sent, pass in `targetDevice` to set who to direct this request to.
95
- *
96
- * @param method - the name of the verification method to use.
97
- * @param targetDevice - details of where to send the request to.
98
- *
99
- * @returns The verifier which will do the actual verification.
100
- *
101
- * @deprecated Use {@link VerificationRequest#startVerification} instead.
102
- */
103
- beginKeyVerification(method: string, targetDevice?: {
104
- userId?: string;
105
- deviceId?: string;
106
- }): Verifier;
107
- /**
108
- * Send an `m.key.verification.start` event to start verification via a particular method.
109
- *
110
- * This is normally used when starting a verification via emojis (ie, `method` is set to `m.sas.v1`).
111
- *
112
- * @param method - the name of the verification method to use.
113
- *
114
- * @returns The verifier which will do the actual verification.
115
- */
116
- startVerification(method: string): Promise<Verifier>;
117
- /**
118
- * Start a QR code verification by providing a scanned QR code for this verification flow.
119
- *
120
- * Validates the QR code, and if it is ok, sends an `m.key.verification.start` event with `method` set to
121
- * `m.reciprocate.v1`, to tell the other side the scan was successful.
122
- *
123
- * See also {@link VerificationRequest#startVerification} which can be used to start other verification methods.
124
- *
125
- * @param qrCodeData - the decoded QR code.
126
- * @returns A verifier; call `.verify()` on it to wait for the other side to complete the verification flow.
127
- */
128
- scanQRCode(qrCodeData: Uint8Array): Promise<Verifier>;
129
- /**
130
- * The verifier which is doing the actual verification, once the method has been established.
131
- * Only defined when the `phase` is Started.
132
- */
133
- get verifier(): Verifier | undefined;
134
- /**
135
- * Get the data for a QR code allowing the other device to verify this one, if it supports it.
136
- *
137
- * Only set after a .ready if the other party can scan a QR code, otherwise undefined.
138
- *
139
- * @deprecated Not supported in Rust Crypto. Use {@link VerificationRequest#generateQRCode} instead.
140
- */
141
- getQRCodeBytes(): Buffer | undefined;
142
- /**
143
- * Generate the data for a QR code allowing the other device to verify this one, if it supports it.
144
- *
145
- * Only returns data once `phase` is {@link VerificationPhase.Ready} and the other party can scan a QR code;
146
- * otherwise returns `undefined`.
147
- */
148
- generateQRCode(): Promise<Buffer | undefined>;
149
- /**
150
- * If this request has been cancelled, the cancellation code (e.g `m.user`) which is responsible for cancelling
151
- * this verification.
152
- */
153
- get cancellationCode(): string | null;
154
- /**
155
- * The id of the user that cancelled the request.
156
- *
157
- * Only defined when phase is Cancelled
158
- */
159
- get cancellingUserId(): string | undefined;
160
- }
161
- /** Events emitted by {@link VerificationRequest}. */
162
- export declare enum VerificationRequestEvent {
163
- /**
164
- * Fires whenever the state of the request object has changed.
165
- *
166
- * There is no payload to the event.
167
- */
168
- Change = "change"
169
- }
170
- /**
171
- * Listener type map for {@link VerificationRequestEvent}s.
172
- *
173
- * @internal
174
- */
175
- export type VerificationRequestEventHandlerMap = {
176
- [VerificationRequestEvent.Change]: () => void;
177
- };
178
- /** The current phase of a verification request. */
179
- export declare enum VerificationPhase {
180
- /** Initial state: no event yet exchanged */
181
- Unsent = 1,
182
- /** An `m.key.verification.request` event has been sent or received */
183
- Requested = 2,
184
- /** An `m.key.verification.ready` event has been sent or received, indicating the verification request is accepted. */
185
- Ready = 3,
186
- /**
187
- * The verification is in flight.
188
- *
189
- * This means that an `m.key.verification.start` event has been sent or received, choosing a verification method;
190
- * however the verification has not yet completed or been cancelled.
191
- */
192
- Started = 4,
193
- /**
194
- * An `m.key.verification.cancel` event has been sent or received at any time before the `done` event, cancelling
195
- * the verification request
196
- */
197
- Cancelled = 5,
198
- /**
199
- * The verification request is complete.
200
- *
201
- * Normally this means that `m.key.verification.done` events have been sent and received.
202
- */
203
- Done = 6
204
- }
205
- /**
206
- * A `Verifier` is responsible for performing the verification using a particular method, such as via QR code or SAS
207
- * (emojis).
208
- *
209
- * A verifier object can be created by calling `VerificationRequest.beginVerification`; one is also created
210
- * automatically when a `m.key.verification.start` event is received for an existing VerificationRequest.
211
- *
212
- * Once a verifier object is created, the verification can be started by calling the {@link Verifier#verify} method.
213
- */
214
- export interface Verifier extends TypedEventEmitter<VerifierEvent, VerifierEventHandlerMap> {
215
- /**
216
- * Returns true if the verification has been cancelled, either by us or the other side.
217
- */
218
- get hasBeenCancelled(): boolean;
219
- /**
220
- * The ID of the other user in the verification process.
221
- */
222
- get userId(): string;
223
- /**
224
- * Start the key verification, if it has not already been started.
225
- *
226
- * This means sending a `m.key.verification.start` if we are the first responder, or a `m.key.verification.accept`
227
- * if the other side has already sent a start event.
228
- *
229
- * @returns Promise which resolves when the verification has completed, or rejects if the verification is cancelled
230
- * or times out.
231
- */
232
- verify(): Promise<void>;
233
- /**
234
- * Cancel a verification.
235
- *
236
- * We will send an `m.key.verification.cancel` if the verification is still in flight. The verification promise
237
- * will reject, and a {@link crypto-api.VerifierEvent.Cancel | VerifierEvent.Cancel} will be emitted.
238
- *
239
- * @param e - the reason for the cancellation.
240
- */
241
- cancel(e: Error): void;
242
- /**
243
- * Get the details for an SAS verification, if one is in progress
244
- *
245
- * Returns `null`, unless this verifier is for a SAS-based verification and we are waiting for the user to confirm
246
- * the SAS matches.
247
- */
248
- getShowSasCallbacks(): ShowSasCallbacks | null;
249
- /**
250
- * Get the details for reciprocating QR code verification, if one is in progress
251
- *
252
- * Returns `null`, unless this verifier is for reciprocating a QR-code-based verification (ie, the other user has
253
- * already scanned our QR code), and we are waiting for the user to confirm.
254
- */
255
- getReciprocateQrCodeCallbacks(): ShowQrCodeCallbacks | null;
256
- }
257
- /** Events emitted by {@link Verifier} */
258
- export declare enum VerifierEvent {
259
- /**
260
- * The verification has been cancelled, by us or the other side.
261
- *
262
- * The payload is either an {@link Error}, or an (incoming or outgoing) {@link MatrixEvent}, depending on
263
- * unspecified reasons.
264
- */
265
- Cancel = "cancel",
266
- /**
267
- * SAS data has been exchanged and should be displayed to the user.
268
- *
269
- * The payload is the {@link ShowSasCallbacks} object.
270
- */
271
- ShowSas = "show_sas",
272
- /**
273
- * The user should confirm if the other side has scanned our QR code.
274
- *
275
- * The payload is the {@link ShowQrCodeCallbacks} object.
276
- */
277
- ShowReciprocateQr = "show_reciprocate_qr"
278
- }
279
- /** Listener type map for {@link VerifierEvent}s. */
280
- export type VerifierEventHandlerMap = {
281
- [VerifierEvent.Cancel]: (e: Error | MatrixEvent) => void;
282
- [VerifierEvent.ShowSas]: (sas: ShowSasCallbacks) => void;
283
- [VerifierEvent.ShowReciprocateQr]: (qr: ShowQrCodeCallbacks) => void;
284
- };
285
- /**
286
- * Callbacks for user actions to confirm that the other side has scanned our QR code.
287
- *
288
- * This is exposed as the payload of a `VerifierEvent.ShowReciprocateQr` event, or can be retrieved directly from the
289
- * verifier as `reciprocateQREvent`.
290
- */
291
- export interface ShowQrCodeCallbacks {
292
- /** The user confirms that the verification data matches */
293
- confirm(): void;
294
- /** Cancel the verification flow */
295
- cancel(): void;
296
- }
297
- /**
298
- * Callbacks for user actions while a SAS is displayed.
299
- *
300
- * This is exposed as the payload of a `VerifierEvent.ShowSas` event, or directly from the verifier as `sasEvent`.
301
- */
302
- export interface ShowSasCallbacks {
303
- /** The generated SAS to be shown to the user */
304
- sas: GeneratedSas;
305
- /** Function to call if the user confirms that the SAS matches.
306
- *
307
- * @returns A Promise that completes once the m.key.verification.mac is queued.
308
- */
309
- confirm(): Promise<void>;
310
- /**
311
- * Function to call if the user finds the SAS does not match.
312
- *
313
- * Sends an `m.key.verification.cancel` event with a `m.mismatched_sas` error code.
314
- */
315
- mismatch(): void;
316
- /** Cancel the verification flow */
317
- cancel(): void;
318
- }
319
- /** A generated SAS to be shown to the user, in alternative formats */
320
- export interface GeneratedSas {
321
- /**
322
- * The SAS as three numbers between 0 and 8191.
323
- *
324
- * Only populated if the `decimal` SAS method was negotiated.
325
- */
326
- decimal?: [number, number, number];
327
- /**
328
- * The SAS as seven emojis.
329
- *
330
- * Only populated if the `emoji` SAS method was negotiated.
331
- */
332
- emoji?: EmojiMapping[];
333
- }
334
- /**
335
- * An emoji for the generated SAS. A tuple `[emoji, name]` where `emoji` is the emoji itself and `name` is the
336
- * English name.
337
- */
338
- export type EmojiMapping = [emoji: string, name: string];
339
- /**
340
- * True if the request is in a state where it can be accepted (ie, that we're in phases {@link VerificationPhase.Unsent}
341
- * or {@link VerificationPhase.Requested}, and that we're not in the process of sending a `ready` or `cancel`).
342
- */
343
- export declare function canAcceptVerificationRequest(req: VerificationRequest): boolean;
344
- //# sourceMappingURL=verification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/crypto-api/verification.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,mBACb,SAAQ,iBAAiB,CAAC,wBAAwB,EAAE,kCAAkC,CAAC;IACvF;;;;OAIG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IAExC;;;;OAIG;IACH,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC;IAEjC;;;;;OAKG;IACH,IAAI,aAAa,IAAI,OAAO,CAAC;IAE7B,qDAAqD;IACrD,IAAI,WAAW,IAAI,MAAM,CAAC;IAE1B,kGAAkG;IAClG,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAAC;IAExC,iFAAiF;IACjF,IAAI,kBAAkB,IAAI,OAAO,CAAC;IAElC,oCAAoC;IACpC,IAAI,KAAK,IAAI,iBAAiB,CAAC;IAE/B;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAAC;IAEvB;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAAC;IAEzB;;;OAGG;IACH,IAAI,SAAS,IAAI,OAAO,CAAC;IAEzB;;;;OAIG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC;IAE7B,sGAAsG;IACtG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;IAExB,4CAA4C;IAC5C,IAAI,YAAY,IAAI,MAAM,GAAG,IAAI,CAAC;IAElC;;;;;;;;OAQG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAElD;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;;;;;;;;;;;;;;OAgBG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,QAAQ,CAAC;IAEtG;;;;;;;;OAQG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,GAAG,SAAS,CAAC;IAErC;;;;;;OAMG;IACH,cAAc,IAAI,MAAM,GAAG,SAAS,CAAC;IAErC;;;;;OAKG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;;OAGG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAAC;IAEtC;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,qDAAqD;AACrD,oBAAY,wBAAwB;IAChC;;;;OAIG;IACH,MAAM,WAAW;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC7C,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACjD,CAAC;AAEF,mDAAmD;AACnD,oBAAY,iBAAiB;IACzB,4CAA4C;IAC5C,MAAM,IAAI;IAEV,sEAAsE;IACtE,SAAS,IAAA;IAET,sHAAsH;IACtH,KAAK,IAAA;IAEL;;;;;OAKG;IACH,OAAO,IAAA;IAEP;;;OAGG;IACH,SAAS,IAAA;IAET;;;;OAIG;IACH,IAAI,IAAA;CACP;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAS,SAAQ,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,CAAC;IACvF;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAAC;IAEhC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAEvB;;;;;OAKG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE/C;;;;;OAKG;IACH,6BAA6B,IAAI,mBAAmB,GAAG,IAAI,CAAC;CAC/D;AAED,yCAAyC;AACzC,oBAAY,aAAa;IACrB;;;;;OAKG;IACH,MAAM,WAAW;IAEjB;;;;OAIG;IACH,OAAO,aAAa;IAEpB;;;;OAIG;IACH,iBAAiB,wBAAwB;CAC5C;AAED,oDAAoD;AACpD,MAAM,MAAM,uBAAuB,GAAG;IAClC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,WAAW,KAAK,IAAI,CAAC;IACzD,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACxE,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAChC,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;IAEhB,mCAAmC;IACnC,MAAM,IAAI,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC7B,gDAAgD;IAChD,GAAG,EAAE,YAAY,CAAC;IAElB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,IAAI,IAAI,CAAC;IAEjB,mCAAmC;IACnC,MAAM,IAAI,IAAI,CAAC;CAClB;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAE9E"}
@@ -1,91 +0,0 @@
1
- /*
2
- Copyright 2023 The Matrix.org Foundation C.I.C.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
-
17
- /**
18
- * An incoming, or outgoing, request to verify a user or a device via cross-signing.
19
- */
20
-
21
- /** Events emitted by {@link VerificationRequest}. */
22
- export var VerificationRequestEvent = /*#__PURE__*/function (VerificationRequestEvent) {
23
- VerificationRequestEvent["Change"] = "change";
24
- return VerificationRequestEvent;
25
- }({});
26
-
27
- /**
28
- * Listener type map for {@link VerificationRequestEvent}s.
29
- *
30
- * @internal
31
- */
32
-
33
- /** The current phase of a verification request. */
34
- export var VerificationPhase = /*#__PURE__*/function (VerificationPhase) {
35
- VerificationPhase[VerificationPhase["Unsent"] = 1] = "Unsent";
36
- VerificationPhase[VerificationPhase["Requested"] = 2] = "Requested";
37
- VerificationPhase[VerificationPhase["Ready"] = 3] = "Ready";
38
- VerificationPhase[VerificationPhase["Started"] = 4] = "Started";
39
- VerificationPhase[VerificationPhase["Cancelled"] = 5] = "Cancelled";
40
- VerificationPhase[VerificationPhase["Done"] = 6] = "Done";
41
- return VerificationPhase;
42
- }({});
43
-
44
- /**
45
- * A `Verifier` is responsible for performing the verification using a particular method, such as via QR code or SAS
46
- * (emojis).
47
- *
48
- * A verifier object can be created by calling `VerificationRequest.beginVerification`; one is also created
49
- * automatically when a `m.key.verification.start` event is received for an existing VerificationRequest.
50
- *
51
- * Once a verifier object is created, the verification can be started by calling the {@link Verifier#verify} method.
52
- */
53
-
54
- /** Events emitted by {@link Verifier} */
55
- export var VerifierEvent = /*#__PURE__*/function (VerifierEvent) {
56
- VerifierEvent["Cancel"] = "cancel";
57
- VerifierEvent["ShowSas"] = "show_sas";
58
- VerifierEvent["ShowReciprocateQr"] = "show_reciprocate_qr";
59
- return VerifierEvent;
60
- }({});
61
-
62
- /** Listener type map for {@link VerifierEvent}s. */
63
-
64
- /**
65
- * Callbacks for user actions to confirm that the other side has scanned our QR code.
66
- *
67
- * This is exposed as the payload of a `VerifierEvent.ShowReciprocateQr` event, or can be retrieved directly from the
68
- * verifier as `reciprocateQREvent`.
69
- */
70
-
71
- /**
72
- * Callbacks for user actions while a SAS is displayed.
73
- *
74
- * This is exposed as the payload of a `VerifierEvent.ShowSas` event, or directly from the verifier as `sasEvent`.
75
- */
76
-
77
- /** A generated SAS to be shown to the user, in alternative formats */
78
-
79
- /**
80
- * An emoji for the generated SAS. A tuple `[emoji, name]` where `emoji` is the emoji itself and `name` is the
81
- * English name.
82
- */
83
-
84
- /**
85
- * True if the request is in a state where it can be accepted (ie, that we're in phases {@link VerificationPhase.Unsent}
86
- * or {@link VerificationPhase.Requested}, and that we're not in the process of sending a `ready` or `cancel`).
87
- */
88
- export function canAcceptVerificationRequest(req) {
89
- return req.phase < VerificationPhase.Ready && !req.accepting && !req.declining;
90
- }
91
- //# sourceMappingURL=verification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification.js","names":["VerificationRequestEvent","VerificationPhase","VerifierEvent","canAcceptVerificationRequest","req","phase","Ready","accepting","declining"],"sources":["../../src/crypto-api/verification.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 { MatrixEvent } from \"../models/event.ts\";\nimport { TypedEventEmitter } from \"../models/typed-event-emitter.ts\";\n\n/**\n * An incoming, or outgoing, request to verify a user or a device via cross-signing.\n */\nexport interface VerificationRequest\n extends TypedEventEmitter<VerificationRequestEvent, VerificationRequestEventHandlerMap> {\n /**\n * Unique ID for this verification request.\n *\n * An ID isn't assigned until the first message is sent, so this may be `undefined` in the early phases.\n */\n get transactionId(): string | undefined;\n\n /**\n * For an in-room verification, the ID of the room.\n *\n * For to-device verifictions, `undefined`.\n */\n get roomId(): string | undefined;\n\n /**\n * True if this request was initiated by the local client.\n *\n * For in-room verifications, the initiator is who sent the `m.key.verification.request` event.\n * For to-device verifications, the initiator is who sent the `m.key.verification.start` event.\n */\n get initiatedByMe(): boolean;\n\n /** The user id of the other party in this request */\n get otherUserId(): string;\n\n /** For verifications via to-device messages: the ID of the other device. Otherwise, undefined. */\n get otherDeviceId(): string | undefined;\n\n /** True if the other party in this request is one of this user's own devices. */\n get isSelfVerification(): boolean;\n\n /** current phase of the request. */\n get phase(): VerificationPhase;\n\n /** True if the request has sent its initial event and needs more events to complete\n * (ie it is in phase `Requested`, `Ready` or `Started`).\n */\n get pending(): boolean;\n\n /**\n * True if we have started the process of sending an `m.key.verification.ready` (but have not necessarily received\n * the remote echo which causes a transition to {@link VerificationPhase.Ready}.\n */\n get accepting(): boolean;\n\n /**\n * True if we have started the process of sending an `m.key.verification.cancel` (but have not necessarily received\n * the remote echo which causes a transition to {@link VerificationPhase.Cancelled}).\n */\n get declining(): boolean;\n\n /**\n * The remaining number of ms before the request will be automatically cancelled.\n *\n * `null` indicates that there is no timeout\n */\n get timeout(): number | null;\n\n /** once the phase is Started (and !initiatedByMe) or Ready: common methods supported by both sides */\n get methods(): string[];\n\n /** the method picked in the .start event */\n get chosenMethod(): string | null;\n\n /**\n * Checks whether the other party supports a given verification method.\n * This is useful when setting up the QR code UI, as it is somewhat asymmetrical:\n * if the other party supports SCAN_QR, we should show a QR code in the UI, and vice versa.\n * For methods that need to be supported by both ends, use the `methods` property.\n *\n * @param method - the method to check\n * @returns true if the other party said they supported the method\n */\n otherPartySupportsMethod(method: string): boolean;\n\n /**\n * Accepts the request, sending a .ready event to the other party\n *\n * @returns Promise which resolves when the event has been sent.\n */\n accept(): Promise<void>;\n\n /**\n * Cancels the request, sending a cancellation to the other party\n *\n * @param params - Details for the cancellation, including `reason` (defaults to \"User declined\"), and `code`\n * (defaults to `m.user`). **Deprecated**: this parameter is ignored by the Rust cryptography implementation.\n *\n * @returns Promise which resolves when the event has been sent.\n */\n cancel(params?: { reason?: string; code?: string }): Promise<void>;\n\n /**\n * Create a {@link Verifier} to do this verification via a particular method.\n *\n * If a verifier has already been created for this request, returns that verifier.\n *\n * This does *not* send the `m.key.verification.start` event - to do so, call {@link Verifier.verify} on the\n * returned verifier.\n *\n * If no previous events have been sent, pass in `targetDevice` to set who to direct this request to.\n *\n * @param method - the name of the verification method to use.\n * @param targetDevice - details of where to send the request to.\n *\n * @returns The verifier which will do the actual verification.\n *\n * @deprecated Use {@link VerificationRequest#startVerification} instead.\n */\n beginKeyVerification(method: string, targetDevice?: { userId?: string; deviceId?: string }): Verifier;\n\n /**\n * Send an `m.key.verification.start` event to start verification via a particular method.\n *\n * This is normally used when starting a verification via emojis (ie, `method` is set to `m.sas.v1`).\n *\n * @param method - the name of the verification method to use.\n *\n * @returns The verifier which will do the actual verification.\n */\n startVerification(method: string): Promise<Verifier>;\n\n /**\n * Start a QR code verification by providing a scanned QR code for this verification flow.\n *\n * Validates the QR code, and if it is ok, sends an `m.key.verification.start` event with `method` set to\n * `m.reciprocate.v1`, to tell the other side the scan was successful.\n *\n * See also {@link VerificationRequest#startVerification} which can be used to start other verification methods.\n *\n * @param qrCodeData - the decoded QR code.\n * @returns A verifier; call `.verify()` on it to wait for the other side to complete the verification flow.\n */\n scanQRCode(qrCodeData: Uint8Array): Promise<Verifier>;\n\n /**\n * The verifier which is doing the actual verification, once the method has been established.\n * Only defined when the `phase` is Started.\n */\n get verifier(): Verifier | undefined;\n\n /**\n * Get the data for a QR code allowing the other device to verify this one, if it supports it.\n *\n * Only set after a .ready if the other party can scan a QR code, otherwise undefined.\n *\n * @deprecated Not supported in Rust Crypto. Use {@link VerificationRequest#generateQRCode} instead.\n */\n getQRCodeBytes(): Buffer | undefined;\n\n /**\n * Generate the data for a QR code allowing the other device to verify this one, if it supports it.\n *\n * Only returns data once `phase` is {@link VerificationPhase.Ready} and the other party can scan a QR code;\n * otherwise returns `undefined`.\n */\n generateQRCode(): Promise<Buffer | undefined>;\n\n /**\n * If this request has been cancelled, the cancellation code (e.g `m.user`) which is responsible for cancelling\n * this verification.\n */\n get cancellationCode(): string | null;\n\n /**\n * The id of the user that cancelled the request.\n *\n * Only defined when phase is Cancelled\n */\n get cancellingUserId(): string | undefined;\n}\n\n/** Events emitted by {@link VerificationRequest}. */\nexport enum VerificationRequestEvent {\n /**\n * Fires whenever the state of the request object has changed.\n *\n * There is no payload to the event.\n */\n Change = \"change\",\n}\n\n/**\n * Listener type map for {@link VerificationRequestEvent}s.\n *\n * @internal\n */\nexport type VerificationRequestEventHandlerMap = {\n [VerificationRequestEvent.Change]: () => void;\n};\n\n/** The current phase of a verification request. */\nexport enum VerificationPhase {\n /** Initial state: no event yet exchanged */\n Unsent = 1,\n\n /** An `m.key.verification.request` event has been sent or received */\n Requested,\n\n /** An `m.key.verification.ready` event has been sent or received, indicating the verification request is accepted. */\n Ready,\n\n /**\n * The verification is in flight.\n *\n * This means that an `m.key.verification.start` event has been sent or received, choosing a verification method;\n * however the verification has not yet completed or been cancelled.\n */\n Started,\n\n /**\n * An `m.key.verification.cancel` event has been sent or received at any time before the `done` event, cancelling\n * the verification request\n */\n Cancelled,\n\n /**\n * The verification request is complete.\n *\n * Normally this means that `m.key.verification.done` events have been sent and received.\n */\n Done,\n}\n\n/**\n * A `Verifier` is responsible for performing the verification using a particular method, such as via QR code or SAS\n * (emojis).\n *\n * A verifier object can be created by calling `VerificationRequest.beginVerification`; one is also created\n * automatically when a `m.key.verification.start` event is received for an existing VerificationRequest.\n *\n * Once a verifier object is created, the verification can be started by calling the {@link Verifier#verify} method.\n */\nexport interface Verifier extends TypedEventEmitter<VerifierEvent, VerifierEventHandlerMap> {\n /**\n * Returns true if the verification has been cancelled, either by us or the other side.\n */\n get hasBeenCancelled(): boolean;\n\n /**\n * The ID of the other user in the verification process.\n */\n get userId(): string;\n\n /**\n * Start the key verification, if it has not already been started.\n *\n * This means sending a `m.key.verification.start` if we are the first responder, or a `m.key.verification.accept`\n * if the other side has already sent a start event.\n *\n * @returns Promise which resolves when the verification has completed, or rejects if the verification is cancelled\n * or times out.\n */\n verify(): Promise<void>;\n\n /**\n * Cancel a verification.\n *\n * We will send an `m.key.verification.cancel` if the verification is still in flight. The verification promise\n * will reject, and a {@link crypto-api.VerifierEvent.Cancel | VerifierEvent.Cancel} will be emitted.\n *\n * @param e - the reason for the cancellation.\n */\n cancel(e: Error): void;\n\n /**\n * Get the details for an SAS verification, if one is in progress\n *\n * Returns `null`, unless this verifier is for a SAS-based verification and we are waiting for the user to confirm\n * the SAS matches.\n */\n getShowSasCallbacks(): ShowSasCallbacks | null;\n\n /**\n * Get the details for reciprocating QR code verification, if one is in progress\n *\n * Returns `null`, unless this verifier is for reciprocating a QR-code-based verification (ie, the other user has\n * already scanned our QR code), and we are waiting for the user to confirm.\n */\n getReciprocateQrCodeCallbacks(): ShowQrCodeCallbacks | null;\n}\n\n/** Events emitted by {@link Verifier} */\nexport enum VerifierEvent {\n /**\n * The verification has been cancelled, by us or the other side.\n *\n * The payload is either an {@link Error}, or an (incoming or outgoing) {@link MatrixEvent}, depending on\n * unspecified reasons.\n */\n Cancel = \"cancel\",\n\n /**\n * SAS data has been exchanged and should be displayed to the user.\n *\n * The payload is the {@link ShowSasCallbacks} object.\n */\n ShowSas = \"show_sas\",\n\n /**\n * The user should confirm if the other side has scanned our QR code.\n *\n * The payload is the {@link ShowQrCodeCallbacks} object.\n */\n ShowReciprocateQr = \"show_reciprocate_qr\",\n}\n\n/** Listener type map for {@link VerifierEvent}s. */\nexport type VerifierEventHandlerMap = {\n [VerifierEvent.Cancel]: (e: Error | MatrixEvent) => void;\n [VerifierEvent.ShowSas]: (sas: ShowSasCallbacks) => void;\n [VerifierEvent.ShowReciprocateQr]: (qr: ShowQrCodeCallbacks) => void;\n};\n\n/**\n * Callbacks for user actions to confirm that the other side has scanned our QR code.\n *\n * This is exposed as the payload of a `VerifierEvent.ShowReciprocateQr` event, or can be retrieved directly from the\n * verifier as `reciprocateQREvent`.\n */\nexport interface ShowQrCodeCallbacks {\n /** The user confirms that the verification data matches */\n confirm(): void;\n\n /** Cancel the verification flow */\n cancel(): void;\n}\n\n/**\n * Callbacks for user actions while a SAS is displayed.\n *\n * This is exposed as the payload of a `VerifierEvent.ShowSas` event, or directly from the verifier as `sasEvent`.\n */\nexport interface ShowSasCallbacks {\n /** The generated SAS to be shown to the user */\n sas: GeneratedSas;\n\n /** Function to call if the user confirms that the SAS matches.\n *\n * @returns A Promise that completes once the m.key.verification.mac is queued.\n */\n confirm(): Promise<void>;\n\n /**\n * Function to call if the user finds the SAS does not match.\n *\n * Sends an `m.key.verification.cancel` event with a `m.mismatched_sas` error code.\n */\n mismatch(): void;\n\n /** Cancel the verification flow */\n cancel(): void;\n}\n\n/** A generated SAS to be shown to the user, in alternative formats */\nexport interface GeneratedSas {\n /**\n * The SAS as three numbers between 0 and 8191.\n *\n * Only populated if the `decimal` SAS method was negotiated.\n */\n decimal?: [number, number, number];\n\n /**\n * The SAS as seven emojis.\n *\n * Only populated if the `emoji` SAS method was negotiated.\n */\n emoji?: EmojiMapping[];\n}\n\n/**\n * An emoji for the generated SAS. A tuple `[emoji, name]` where `emoji` is the emoji itself and `name` is the\n * English name.\n */\nexport type EmojiMapping = [emoji: string, name: string];\n\n/**\n * True if the request is in a state where it can be accepted (ie, that we're in phases {@link VerificationPhase.Unsent}\n * or {@link VerificationPhase.Requested}, and that we're not in the process of sending a `ready` or `cancel`).\n */\nexport function canAcceptVerificationRequest(req: VerificationRequest): boolean {\n return req.phase < VerificationPhase.Ready && !req.accepting && !req.declining;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;;AA+KA;AACA,WAAYA,wBAAwB,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;;AASpC;AACA;AACA;AACA;AACA;;AAKA;AACA,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAjBA,iBAAiB,CAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AAgC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkDA;AACA,WAAYC,aAAa,0BAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;;AAwBzB;;AAOA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;;AAsBA;;AAiBA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA,OAAO,SAASC,4BAA4BA,CAACC,GAAwB,EAAW;EAC5E,OAAOA,GAAG,CAACC,KAAK,GAAGJ,iBAAiB,CAACK,KAAK,IAAI,CAACF,GAAG,CAACG,SAAS,IAAI,CAACH,GAAG,CAACI,SAAS;AAClF","ignoreList":[]}