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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (467) 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 -1176
  8. package/lib/client.d.ts.map +1 -1
  9. package/lib/client.js +346 -2717
  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/package.json +1 -3
  62. package/src/@types/global.d.ts +0 -3
  63. package/src/browser-index.ts +0 -11
  64. package/src/client.ts +57 -2732
  65. package/src/embedded.ts +3 -130
  66. package/src/event-mapper.ts +0 -4
  67. package/src/matrix.ts +0 -28
  68. package/src/models/MSC3089Branch.ts +0 -3
  69. package/src/models/event.ts +0 -289
  70. package/src/models/poll.ts +0 -6
  71. package/src/models/relations-container.ts +1 -8
  72. package/src/models/relations.ts +0 -8
  73. package/src/models/room-state.ts +2 -8
  74. package/src/models/room.ts +0 -62
  75. package/src/models/thread.ts +0 -1
  76. package/src/sliding-sync-sdk.ts +2 -72
  77. package/src/sync.ts +1 -98
  78. package/src/testing.ts +0 -108
  79. package/lib/@types/crypto.d.ts +0 -47
  80. package/lib/@types/crypto.d.ts.map +0 -1
  81. package/lib/@types/crypto.js +0 -1
  82. package/lib/@types/crypto.js.map +0 -1
  83. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  84. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  85. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  86. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  87. package/lib/common-crypto/CryptoBackend.js +0 -73
  88. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  89. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  90. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  91. package/lib/common-crypto/key-passphrase.js +0 -33
  92. package/lib/common-crypto/key-passphrase.js.map +0 -1
  93. package/lib/crypto/CrossSigning.d.ts +0 -184
  94. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  95. package/lib/crypto/CrossSigning.js +0 -718
  96. package/lib/crypto/CrossSigning.js.map +0 -1
  97. package/lib/crypto/DeviceList.d.ts +0 -216
  98. package/lib/crypto/DeviceList.d.ts.map +0 -1
  99. package/lib/crypto/DeviceList.js +0 -892
  100. package/lib/crypto/DeviceList.js.map +0 -1
  101. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  102. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  103. package/lib/crypto/EncryptionSetup.js +0 -356
  104. package/lib/crypto/EncryptionSetup.js.map +0 -1
  105. package/lib/crypto/OlmDevice.d.ts +0 -457
  106. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  107. package/lib/crypto/OlmDevice.js +0 -1241
  108. package/lib/crypto/OlmDevice.js.map +0 -1
  109. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  110. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  111. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  112. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  113. package/lib/crypto/RoomList.d.ts +0 -26
  114. package/lib/crypto/RoomList.d.ts.map +0 -1
  115. package/lib/crypto/RoomList.js +0 -71
  116. package/lib/crypto/RoomList.js.map +0 -1
  117. package/lib/crypto/SecretSharing.d.ts +0 -24
  118. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  119. package/lib/crypto/SecretSharing.js +0 -194
  120. package/lib/crypto/SecretSharing.js.map +0 -1
  121. package/lib/crypto/SecretStorage.d.ts +0 -55
  122. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  123. package/lib/crypto/SecretStorage.js +0 -118
  124. package/lib/crypto/SecretStorage.js.map +0 -1
  125. package/lib/crypto/aes.d.ts +0 -6
  126. package/lib/crypto/aes.d.ts.map +0 -1
  127. package/lib/crypto/aes.js +0 -24
  128. package/lib/crypto/aes.js.map +0 -1
  129. package/lib/crypto/algorithms/base.d.ts +0 -156
  130. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  131. package/lib/crypto/algorithms/base.js +0 -187
  132. package/lib/crypto/algorithms/base.js.map +0 -1
  133. package/lib/crypto/algorithms/index.d.ts +0 -4
  134. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  135. package/lib/crypto/algorithms/index.js +0 -20
  136. package/lib/crypto/algorithms/index.js.map +0 -1
  137. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  138. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  139. package/lib/crypto/algorithms/megolm.js +0 -1822
  140. package/lib/crypto/algorithms/megolm.js.map +0 -1
  141. package/lib/crypto/algorithms/olm.d.ts +0 -5
  142. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  143. package/lib/crypto/algorithms/olm.js +0 -299
  144. package/lib/crypto/algorithms/olm.js.map +0 -1
  145. package/lib/crypto/api.d.ts +0 -32
  146. package/lib/crypto/api.d.ts.map +0 -1
  147. package/lib/crypto/api.js +0 -22
  148. package/lib/crypto/api.js.map +0 -1
  149. package/lib/crypto/backup.d.ts +0 -227
  150. package/lib/crypto/backup.d.ts.map +0 -1
  151. package/lib/crypto/backup.js +0 -824
  152. package/lib/crypto/backup.js.map +0 -1
  153. package/lib/crypto/crypto.d.ts +0 -3
  154. package/lib/crypto/crypto.d.ts.map +0 -1
  155. package/lib/crypto/crypto.js +0 -19
  156. package/lib/crypto/crypto.js.map +0 -1
  157. package/lib/crypto/dehydration.d.ts +0 -34
  158. package/lib/crypto/dehydration.d.ts.map +0 -1
  159. package/lib/crypto/dehydration.js +0 -252
  160. package/lib/crypto/dehydration.js.map +0 -1
  161. package/lib/crypto/device-converter.d.ts +0 -9
  162. package/lib/crypto/device-converter.d.ts.map +0 -1
  163. package/lib/crypto/device-converter.js +0 -42
  164. package/lib/crypto/device-converter.js.map +0 -1
  165. package/lib/crypto/deviceinfo.d.ts +0 -99
  166. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  167. package/lib/crypto/deviceinfo.js +0 -148
  168. package/lib/crypto/deviceinfo.js.map +0 -1
  169. package/lib/crypto/index.d.ts +0 -1209
  170. package/lib/crypto/index.d.ts.map +0 -1
  171. package/lib/crypto/index.js +0 -4097
  172. package/lib/crypto/index.js.map +0 -1
  173. package/lib/crypto/key_passphrase.d.ts +0 -14
  174. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  175. package/lib/crypto/key_passphrase.js +0 -44
  176. package/lib/crypto/key_passphrase.js.map +0 -1
  177. package/lib/crypto/keybackup.d.ts +0 -18
  178. package/lib/crypto/keybackup.d.ts.map +0 -1
  179. package/lib/crypto/keybackup.js +0 -1
  180. package/lib/crypto/keybackup.js.map +0 -1
  181. package/lib/crypto/olmlib.d.ts +0 -129
  182. package/lib/crypto/olmlib.d.ts.map +0 -1
  183. package/lib/crypto/olmlib.js +0 -492
  184. package/lib/crypto/olmlib.js.map +0 -1
  185. package/lib/crypto/recoverykey.d.ts +0 -2
  186. package/lib/crypto/recoverykey.d.ts.map +0 -1
  187. package/lib/crypto/recoverykey.js +0 -19
  188. package/lib/crypto/recoverykey.js.map +0 -1
  189. package/lib/crypto/store/base.d.ts +0 -252
  190. package/lib/crypto/store/base.d.ts.map +0 -1
  191. package/lib/crypto/store/base.js +0 -64
  192. package/lib/crypto/store/base.js.map +0 -1
  193. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  194. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  195. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  196. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  197. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  198. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  199. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  200. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  201. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  202. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  203. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  204. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  205. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  206. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  207. package/lib/crypto/store/memory-crypto-store.js +0 -622
  208. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  209. package/lib/crypto/verification/Base.d.ts +0 -105
  210. package/lib/crypto/verification/Base.d.ts.map +0 -1
  211. package/lib/crypto/verification/Base.js +0 -372
  212. package/lib/crypto/verification/Base.js.map +0 -1
  213. package/lib/crypto/verification/Error.d.ts +0 -35
  214. package/lib/crypto/verification/Error.d.ts.map +0 -1
  215. package/lib/crypto/verification/Error.js +0 -86
  216. package/lib/crypto/verification/Error.js.map +0 -1
  217. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  218. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  219. package/lib/crypto/verification/IllegalMethod.js +0 -43
  220. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  221. package/lib/crypto/verification/QRCode.d.ts +0 -51
  222. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  223. package/lib/crypto/verification/QRCode.js +0 -277
  224. package/lib/crypto/verification/QRCode.js.map +0 -1
  225. package/lib/crypto/verification/SAS.d.ts +0 -27
  226. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  227. package/lib/crypto/verification/SAS.js +0 -485
  228. package/lib/crypto/verification/SAS.js.map +0 -1
  229. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  230. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  231. package/lib/crypto/verification/SASDecimal.js +0 -34
  232. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  233. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  234. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  235. package/lib/crypto/verification/request/Channel.js +0 -1
  236. package/lib/crypto/verification/request/Channel.js.map +0 -1
  237. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  238. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  239. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  240. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  241. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  242. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  243. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  244. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  245. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  246. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  247. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  248. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  249. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  250. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  251. package/lib/crypto-api/CryptoEvent.js +0 -33
  252. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  253. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  254. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  255. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  256. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  257. package/lib/crypto-api/index.d.ts +0 -978
  258. package/lib/crypto-api/index.d.ts.map +0 -1
  259. package/lib/crypto-api/index.js +0 -304
  260. package/lib/crypto-api/index.js.map +0 -1
  261. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  262. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  263. package/lib/crypto-api/key-passphrase.js +0 -51
  264. package/lib/crypto-api/key-passphrase.js.map +0 -1
  265. package/lib/crypto-api/keybackup.d.ts +0 -88
  266. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  267. package/lib/crypto-api/keybackup.js +0 -1
  268. package/lib/crypto-api/keybackup.js.map +0 -1
  269. package/lib/crypto-api/recovery-key.d.ts +0 -11
  270. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  271. package/lib/crypto-api/recovery-key.js +0 -65
  272. package/lib/crypto-api/recovery-key.js.map +0 -1
  273. package/lib/crypto-api/verification.d.ts +0 -344
  274. package/lib/crypto-api/verification.d.ts.map +0 -1
  275. package/lib/crypto-api/verification.js +0 -91
  276. package/lib/crypto-api/verification.js.map +0 -1
  277. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  278. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  279. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  280. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  281. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  282. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  283. package/lib/rendezvous/RendezvousChannel.js +0 -1
  284. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  285. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  286. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  287. package/lib/rendezvous/RendezvousCode.js +0 -1
  288. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  289. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  290. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  291. package/lib/rendezvous/RendezvousError.js +0 -23
  292. package/lib/rendezvous/RendezvousError.js.map +0 -1
  293. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  294. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  295. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  296. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  297. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  298. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  299. package/lib/rendezvous/RendezvousIntent.js +0 -22
  300. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  301. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  302. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  303. package/lib/rendezvous/RendezvousTransport.js +0 -1
  304. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  305. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  306. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  307. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  308. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  309. package/lib/rendezvous/channels/index.d.ts +0 -2
  310. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  311. package/lib/rendezvous/channels/index.js +0 -18
  312. package/lib/rendezvous/channels/index.js.map +0 -1
  313. package/lib/rendezvous/index.d.ts +0 -10
  314. package/lib/rendezvous/index.d.ts.map +0 -1
  315. package/lib/rendezvous/index.js +0 -23
  316. package/lib/rendezvous/index.js.map +0 -1
  317. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  318. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  319. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  320. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  321. package/lib/rendezvous/transports/index.d.ts +0 -2
  322. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  323. package/lib/rendezvous/transports/index.js +0 -18
  324. package/lib/rendezvous/transports/index.js.map +0 -1
  325. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  326. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  327. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  328. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  329. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  330. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  331. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  332. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  333. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  334. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  335. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  336. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  337. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  338. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  339. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  340. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  341. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  342. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  343. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  344. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  345. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  346. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  347. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  348. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  349. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  350. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  351. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  352. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  353. package/lib/rust-crypto/backup.d.ts +0 -254
  354. package/lib/rust-crypto/backup.d.ts.map +0 -1
  355. package/lib/rust-crypto/backup.js +0 -837
  356. package/lib/rust-crypto/backup.js.map +0 -1
  357. package/lib/rust-crypto/constants.d.ts +0 -3
  358. package/lib/rust-crypto/constants.d.ts.map +0 -1
  359. package/lib/rust-crypto/constants.js +0 -19
  360. package/lib/rust-crypto/constants.js.map +0 -1
  361. package/lib/rust-crypto/device-converter.d.ts +0 -28
  362. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  363. package/lib/rust-crypto/device-converter.js +0 -123
  364. package/lib/rust-crypto/device-converter.js.map +0 -1
  365. package/lib/rust-crypto/index.d.ts +0 -61
  366. package/lib/rust-crypto/index.d.ts.map +0 -1
  367. package/lib/rust-crypto/index.js +0 -152
  368. package/lib/rust-crypto/index.js.map +0 -1
  369. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  370. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  371. package/lib/rust-crypto/libolm_migration.js +0 -459
  372. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  373. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  374. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  375. package/lib/rust-crypto/rust-crypto.js +0 -2016
  376. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  377. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  378. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  379. package/lib/rust-crypto/secret-storage.js +0 -63
  380. package/lib/rust-crypto/secret-storage.js.map +0 -1
  381. package/lib/rust-crypto/verification.d.ts +0 -319
  382. package/lib/rust-crypto/verification.d.ts.map +0 -1
  383. package/lib/rust-crypto/verification.js +0 -816
  384. package/lib/rust-crypto/verification.js.map +0 -1
  385. package/lib/secret-storage.d.ts +0 -370
  386. package/lib/secret-storage.d.ts.map +0 -1
  387. package/lib/secret-storage.js +0 -466
  388. package/lib/secret-storage.js.map +0 -1
  389. package/src/@types/crypto.ts +0 -73
  390. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  391. package/src/common-crypto/CryptoBackend.ts +0 -302
  392. package/src/common-crypto/README.md +0 -4
  393. package/src/common-crypto/key-passphrase.ts +0 -43
  394. package/src/crypto/CrossSigning.ts +0 -773
  395. package/src/crypto/DeviceList.ts +0 -989
  396. package/src/crypto/EncryptionSetup.ts +0 -351
  397. package/src/crypto/OlmDevice.ts +0 -1500
  398. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  399. package/src/crypto/RoomList.ts +0 -70
  400. package/src/crypto/SecretSharing.ts +0 -240
  401. package/src/crypto/SecretStorage.ts +0 -136
  402. package/src/crypto/aes.ts +0 -23
  403. package/src/crypto/algorithms/base.ts +0 -236
  404. package/src/crypto/algorithms/index.ts +0 -20
  405. package/src/crypto/algorithms/megolm.ts +0 -2216
  406. package/src/crypto/algorithms/olm.ts +0 -381
  407. package/src/crypto/api.ts +0 -70
  408. package/src/crypto/backup.ts +0 -922
  409. package/src/crypto/crypto.ts +0 -18
  410. package/src/crypto/dehydration.ts +0 -272
  411. package/src/crypto/device-converter.ts +0 -45
  412. package/src/crypto/deviceinfo.ts +0 -158
  413. package/src/crypto/index.ts +0 -4414
  414. package/src/crypto/key_passphrase.ts +0 -42
  415. package/src/crypto/keybackup.ts +0 -47
  416. package/src/crypto/olmlib.ts +0 -539
  417. package/src/crypto/recoverykey.ts +0 -18
  418. package/src/crypto/store/base.ts +0 -348
  419. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  420. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  421. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  422. package/src/crypto/store/memory-crypto-store.ts +0 -680
  423. package/src/crypto/verification/Base.ts +0 -409
  424. package/src/crypto/verification/Error.ts +0 -76
  425. package/src/crypto/verification/IllegalMethod.ts +0 -50
  426. package/src/crypto/verification/QRCode.ts +0 -310
  427. package/src/crypto/verification/SAS.ts +0 -494
  428. package/src/crypto/verification/SASDecimal.ts +0 -37
  429. package/src/crypto/verification/request/Channel.ts +0 -34
  430. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  431. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  432. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  433. package/src/crypto-api/CryptoEvent.ts +0 -93
  434. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  435. package/src/crypto-api/index.ts +0 -1175
  436. package/src/crypto-api/key-passphrase.ts +0 -58
  437. package/src/crypto-api/keybackup.ts +0 -115
  438. package/src/crypto-api/recovery-key.ts +0 -69
  439. package/src/crypto-api/verification.ts +0 -408
  440. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  441. package/src/rendezvous/RendezvousChannel.ts +0 -48
  442. package/src/rendezvous/RendezvousCode.ts +0 -25
  443. package/src/rendezvous/RendezvousError.ts +0 -26
  444. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  445. package/src/rendezvous/RendezvousIntent.ts +0 -20
  446. package/src/rendezvous/RendezvousTransport.ts +0 -58
  447. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  448. package/src/rendezvous/channels/index.ts +0 -17
  449. package/src/rendezvous/index.ts +0 -25
  450. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  451. package/src/rendezvous/transports/index.ts +0 -17
  452. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  453. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  454. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  455. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  456. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  457. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  458. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  459. package/src/rust-crypto/backup.ts +0 -881
  460. package/src/rust-crypto/constants.ts +0 -18
  461. package/src/rust-crypto/device-converter.ts +0 -128
  462. package/src/rust-crypto/index.ts +0 -237
  463. package/src/rust-crypto/libolm_migration.ts +0 -530
  464. package/src/rust-crypto/rust-crypto.ts +0 -2205
  465. package/src/rust-crypto/secret-storage.ts +0 -60
  466. package/src/rust-crypto/verification.ts +0 -830
  467. package/src/secret-storage.ts +0 -693
@@ -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":"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"}
@@ -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":[]}