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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (636) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +0 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js.map +1 -1
  5. package/lib/@types/global.d.js +0 -2
  6. package/lib/@types/global.d.js.map +1 -1
  7. package/lib/browser-index.d.ts.map +1 -1
  8. package/lib/browser-index.js +0 -11
  9. package/lib/browser-index.js.map +1 -1
  10. package/lib/client.d.ts +2 -1224
  11. package/lib/client.d.ts.map +1 -1
  12. package/lib/client.js +345 -2826
  13. package/lib/client.js.map +1 -1
  14. package/lib/embedded.d.ts +0 -22
  15. package/lib/embedded.d.ts.map +1 -1
  16. package/lib/embedded.js +24 -167
  17. package/lib/embedded.js.map +1 -1
  18. package/lib/event-mapper.d.ts.map +1 -1
  19. package/lib/event-mapper.js +0 -4
  20. package/lib/event-mapper.js.map +1 -1
  21. package/lib/matrix.d.ts +0 -25
  22. package/lib/matrix.d.ts.map +1 -1
  23. package/lib/matrix.js +1 -30
  24. package/lib/matrix.js.map +1 -1
  25. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  26. package/lib/models/MSC3089Branch.js +0 -3
  27. package/lib/models/MSC3089Branch.js.map +1 -1
  28. package/lib/models/event.d.ts +0 -94
  29. package/lib/models/event.d.ts.map +1 -1
  30. package/lib/models/event.js +0 -274
  31. package/lib/models/event.js.map +1 -1
  32. package/lib/models/poll.d.ts.map +1 -1
  33. package/lib/models/poll.js +1 -5
  34. package/lib/models/poll.js.map +1 -1
  35. package/lib/models/relations-container.d.ts.map +1 -1
  36. package/lib/models/relations-container.js +1 -7
  37. package/lib/models/relations-container.js.map +1 -1
  38. package/lib/models/relations.d.ts +0 -1
  39. package/lib/models/relations.d.ts.map +1 -1
  40. package/lib/models/relations.js +0 -8
  41. package/lib/models/relations.js.map +1 -1
  42. package/lib/models/room-state.d.ts.map +1 -1
  43. package/lib/models/room-state.js +10 -26
  44. package/lib/models/room-state.js.map +1 -1
  45. package/lib/models/room.d.ts +0 -18
  46. package/lib/models/room.d.ts.map +1 -1
  47. package/lib/models/room.js +94 -148
  48. package/lib/models/room.js.map +1 -1
  49. package/lib/models/thread.d.ts.map +1 -1
  50. package/lib/models/thread.js +0 -1
  51. package/lib/models/thread.js.map +1 -1
  52. package/lib/sliding-sync-sdk.d.ts +2 -3
  53. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  54. package/lib/sliding-sync-sdk.js +41 -90
  55. package/lib/sliding-sync-sdk.js.map +1 -1
  56. package/lib/sync.d.ts +0 -12
  57. package/lib/sync.d.ts.map +1 -1
  58. package/lib/sync.js +1 -73
  59. package/lib/sync.js.map +1 -1
  60. package/lib/testing.d.ts +0 -48
  61. package/lib/testing.d.ts.map +1 -1
  62. package/lib/testing.js +0 -105
  63. package/lib/testing.js.map +1 -1
  64. package/package.json +1 -3
  65. package/src/@types/event.ts +2 -36
  66. package/src/@types/global.d.ts +0 -3
  67. package/src/browser-index.ts +0 -11
  68. package/src/client.ts +52 -2876
  69. package/src/embedded.ts +3 -132
  70. package/src/event-mapper.ts +0 -4
  71. package/src/matrix.ts +0 -41
  72. package/src/models/MSC3089Branch.ts +0 -3
  73. package/src/models/event.ts +0 -289
  74. package/src/models/poll.ts +0 -6
  75. package/src/models/relations-container.ts +1 -8
  76. package/src/models/relations.ts +0 -8
  77. package/src/models/room-state.ts +2 -8
  78. package/src/models/room.ts +0 -62
  79. package/src/models/thread.ts +0 -1
  80. package/src/sliding-sync-sdk.ts +2 -72
  81. package/src/sync.ts +1 -98
  82. package/src/testing.ts +0 -108
  83. package/lib/@types/crypto.d.ts +0 -47
  84. package/lib/@types/crypto.d.ts.map +0 -1
  85. package/lib/@types/crypto.js +0 -1
  86. package/lib/@types/crypto.js.map +0 -1
  87. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  88. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  89. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  90. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  91. package/lib/common-crypto/CryptoBackend.js +0 -73
  92. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  93. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  94. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  95. package/lib/common-crypto/key-passphrase.js +0 -33
  96. package/lib/common-crypto/key-passphrase.js.map +0 -1
  97. package/lib/crypto/CrossSigning.d.ts +0 -184
  98. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  99. package/lib/crypto/CrossSigning.js +0 -718
  100. package/lib/crypto/CrossSigning.js.map +0 -1
  101. package/lib/crypto/DeviceList.d.ts +0 -216
  102. package/lib/crypto/DeviceList.d.ts.map +0 -1
  103. package/lib/crypto/DeviceList.js +0 -892
  104. package/lib/crypto/DeviceList.js.map +0 -1
  105. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  106. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  107. package/lib/crypto/EncryptionSetup.js +0 -356
  108. package/lib/crypto/EncryptionSetup.js.map +0 -1
  109. package/lib/crypto/OlmDevice.d.ts +0 -457
  110. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  111. package/lib/crypto/OlmDevice.js +0 -1241
  112. package/lib/crypto/OlmDevice.js.map +0 -1
  113. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  114. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  115. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  116. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  117. package/lib/crypto/RoomList.d.ts +0 -26
  118. package/lib/crypto/RoomList.d.ts.map +0 -1
  119. package/lib/crypto/RoomList.js +0 -71
  120. package/lib/crypto/RoomList.js.map +0 -1
  121. package/lib/crypto/SecretSharing.d.ts +0 -24
  122. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  123. package/lib/crypto/SecretSharing.js +0 -194
  124. package/lib/crypto/SecretSharing.js.map +0 -1
  125. package/lib/crypto/SecretStorage.d.ts +0 -55
  126. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  127. package/lib/crypto/SecretStorage.js +0 -118
  128. package/lib/crypto/SecretStorage.js.map +0 -1
  129. package/lib/crypto/aes.d.ts +0 -6
  130. package/lib/crypto/aes.d.ts.map +0 -1
  131. package/lib/crypto/aes.js +0 -24
  132. package/lib/crypto/aes.js.map +0 -1
  133. package/lib/crypto/algorithms/base.d.ts +0 -156
  134. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  135. package/lib/crypto/algorithms/base.js +0 -187
  136. package/lib/crypto/algorithms/base.js.map +0 -1
  137. package/lib/crypto/algorithms/index.d.ts +0 -4
  138. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  139. package/lib/crypto/algorithms/index.js +0 -20
  140. package/lib/crypto/algorithms/index.js.map +0 -1
  141. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  142. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  143. package/lib/crypto/algorithms/megolm.js +0 -1822
  144. package/lib/crypto/algorithms/megolm.js.map +0 -1
  145. package/lib/crypto/algorithms/olm.d.ts +0 -5
  146. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  147. package/lib/crypto/algorithms/olm.js +0 -299
  148. package/lib/crypto/algorithms/olm.js.map +0 -1
  149. package/lib/crypto/api.d.ts +0 -32
  150. package/lib/crypto/api.d.ts.map +0 -1
  151. package/lib/crypto/api.js +0 -22
  152. package/lib/crypto/api.js.map +0 -1
  153. package/lib/crypto/backup.d.ts +0 -227
  154. package/lib/crypto/backup.d.ts.map +0 -1
  155. package/lib/crypto/backup.js +0 -824
  156. package/lib/crypto/backup.js.map +0 -1
  157. package/lib/crypto/crypto.d.ts +0 -3
  158. package/lib/crypto/crypto.d.ts.map +0 -1
  159. package/lib/crypto/crypto.js +0 -19
  160. package/lib/crypto/crypto.js.map +0 -1
  161. package/lib/crypto/dehydration.d.ts +0 -34
  162. package/lib/crypto/dehydration.d.ts.map +0 -1
  163. package/lib/crypto/dehydration.js +0 -252
  164. package/lib/crypto/dehydration.js.map +0 -1
  165. package/lib/crypto/device-converter.d.ts +0 -9
  166. package/lib/crypto/device-converter.d.ts.map +0 -1
  167. package/lib/crypto/device-converter.js +0 -42
  168. package/lib/crypto/device-converter.js.map +0 -1
  169. package/lib/crypto/deviceinfo.d.ts +0 -99
  170. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  171. package/lib/crypto/deviceinfo.js +0 -148
  172. package/lib/crypto/deviceinfo.js.map +0 -1
  173. package/lib/crypto/index.d.ts +0 -1209
  174. package/lib/crypto/index.d.ts.map +0 -1
  175. package/lib/crypto/index.js +0 -4097
  176. package/lib/crypto/index.js.map +0 -1
  177. package/lib/crypto/key_passphrase.d.ts +0 -14
  178. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  179. package/lib/crypto/key_passphrase.js +0 -44
  180. package/lib/crypto/key_passphrase.js.map +0 -1
  181. package/lib/crypto/keybackup.d.ts +0 -18
  182. package/lib/crypto/keybackup.d.ts.map +0 -1
  183. package/lib/crypto/keybackup.js +0 -1
  184. package/lib/crypto/keybackup.js.map +0 -1
  185. package/lib/crypto/olmlib.d.ts +0 -129
  186. package/lib/crypto/olmlib.d.ts.map +0 -1
  187. package/lib/crypto/olmlib.js +0 -492
  188. package/lib/crypto/olmlib.js.map +0 -1
  189. package/lib/crypto/recoverykey.d.ts +0 -2
  190. package/lib/crypto/recoverykey.d.ts.map +0 -1
  191. package/lib/crypto/recoverykey.js +0 -19
  192. package/lib/crypto/recoverykey.js.map +0 -1
  193. package/lib/crypto/store/base.d.ts +0 -252
  194. package/lib/crypto/store/base.d.ts.map +0 -1
  195. package/lib/crypto/store/base.js +0 -64
  196. package/lib/crypto/store/base.js.map +0 -1
  197. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  198. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  199. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  200. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  201. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  202. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  203. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  204. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  205. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  206. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  207. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  208. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  209. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  210. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  211. package/lib/crypto/store/memory-crypto-store.js +0 -622
  212. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  213. package/lib/crypto/verification/Base.d.ts +0 -105
  214. package/lib/crypto/verification/Base.d.ts.map +0 -1
  215. package/lib/crypto/verification/Base.js +0 -372
  216. package/lib/crypto/verification/Base.js.map +0 -1
  217. package/lib/crypto/verification/Error.d.ts +0 -35
  218. package/lib/crypto/verification/Error.d.ts.map +0 -1
  219. package/lib/crypto/verification/Error.js +0 -86
  220. package/lib/crypto/verification/Error.js.map +0 -1
  221. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  222. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  223. package/lib/crypto/verification/IllegalMethod.js +0 -43
  224. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  225. package/lib/crypto/verification/QRCode.d.ts +0 -51
  226. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  227. package/lib/crypto/verification/QRCode.js +0 -277
  228. package/lib/crypto/verification/QRCode.js.map +0 -1
  229. package/lib/crypto/verification/SAS.d.ts +0 -27
  230. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  231. package/lib/crypto/verification/SAS.js +0 -485
  232. package/lib/crypto/verification/SAS.js.map +0 -1
  233. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  234. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  235. package/lib/crypto/verification/SASDecimal.js +0 -34
  236. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  237. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  238. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  239. package/lib/crypto/verification/request/Channel.js +0 -1
  240. package/lib/crypto/verification/request/Channel.js.map +0 -1
  241. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  242. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  243. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  244. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  245. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  246. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  247. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  248. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  249. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  250. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  251. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  252. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  253. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  254. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  255. package/lib/crypto-api/CryptoEvent.js +0 -33
  256. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  257. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  258. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  259. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  260. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  261. package/lib/crypto-api/index.d.ts +0 -978
  262. package/lib/crypto-api/index.d.ts.map +0 -1
  263. package/lib/crypto-api/index.js +0 -304
  264. package/lib/crypto-api/index.js.map +0 -1
  265. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  266. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  267. package/lib/crypto-api/key-passphrase.js +0 -51
  268. package/lib/crypto-api/key-passphrase.js.map +0 -1
  269. package/lib/crypto-api/keybackup.d.ts +0 -88
  270. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  271. package/lib/crypto-api/keybackup.js +0 -1
  272. package/lib/crypto-api/keybackup.js.map +0 -1
  273. package/lib/crypto-api/recovery-key.d.ts +0 -11
  274. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  275. package/lib/crypto-api/recovery-key.js +0 -65
  276. package/lib/crypto-api/recovery-key.js.map +0 -1
  277. package/lib/crypto-api/verification.d.ts +0 -344
  278. package/lib/crypto-api/verification.d.ts.map +0 -1
  279. package/lib/crypto-api/verification.js +0 -91
  280. package/lib/crypto-api/verification.js.map +0 -1
  281. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  282. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  283. package/lib/matrixrtc/CallMembership.js +0 -197
  284. package/lib/matrixrtc/CallMembership.js.map +0 -1
  285. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  286. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  287. package/lib/matrixrtc/LivekitFocus.js +0 -20
  288. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  289. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  290. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  291. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  292. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  293. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  294. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  295. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  296. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  297. package/lib/matrixrtc/focus.d.ts +0 -10
  298. package/lib/matrixrtc/focus.d.ts.map +0 -1
  299. package/lib/matrixrtc/focus.js +0 -1
  300. package/lib/matrixrtc/focus.js.map +0 -1
  301. package/lib/matrixrtc/index.d.ts +0 -7
  302. package/lib/matrixrtc/index.d.ts.map +0 -1
  303. package/lib/matrixrtc/index.js +0 -21
  304. package/lib/matrixrtc/index.js.map +0 -1
  305. package/lib/matrixrtc/types.d.ts +0 -19
  306. package/lib/matrixrtc/types.d.ts.map +0 -1
  307. package/lib/matrixrtc/types.js +0 -1
  308. package/lib/matrixrtc/types.js.map +0 -1
  309. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  310. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  311. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  312. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  313. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  314. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  315. package/lib/rendezvous/RendezvousChannel.js +0 -1
  316. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  317. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  318. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  319. package/lib/rendezvous/RendezvousCode.js +0 -1
  320. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  321. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  322. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  323. package/lib/rendezvous/RendezvousError.js +0 -23
  324. package/lib/rendezvous/RendezvousError.js.map +0 -1
  325. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  326. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  327. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  328. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  329. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  330. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  331. package/lib/rendezvous/RendezvousIntent.js +0 -22
  332. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  333. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  334. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  335. package/lib/rendezvous/RendezvousTransport.js +0 -1
  336. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  337. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  338. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  339. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  340. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  341. package/lib/rendezvous/channels/index.d.ts +0 -2
  342. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  343. package/lib/rendezvous/channels/index.js +0 -18
  344. package/lib/rendezvous/channels/index.js.map +0 -1
  345. package/lib/rendezvous/index.d.ts +0 -10
  346. package/lib/rendezvous/index.d.ts.map +0 -1
  347. package/lib/rendezvous/index.js +0 -23
  348. package/lib/rendezvous/index.js.map +0 -1
  349. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  350. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  351. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  352. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  353. package/lib/rendezvous/transports/index.d.ts +0 -2
  354. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  355. package/lib/rendezvous/transports/index.js +0 -18
  356. package/lib/rendezvous/transports/index.js.map +0 -1
  357. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  358. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  359. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  360. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  361. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  362. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  363. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  364. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  365. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  366. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  367. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  368. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  369. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  370. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  371. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  372. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  373. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  374. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  375. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  376. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  377. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  378. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  379. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  380. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  381. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  382. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  383. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  384. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  385. package/lib/rust-crypto/backup.d.ts +0 -254
  386. package/lib/rust-crypto/backup.d.ts.map +0 -1
  387. package/lib/rust-crypto/backup.js +0 -837
  388. package/lib/rust-crypto/backup.js.map +0 -1
  389. package/lib/rust-crypto/constants.d.ts +0 -3
  390. package/lib/rust-crypto/constants.d.ts.map +0 -1
  391. package/lib/rust-crypto/constants.js +0 -19
  392. package/lib/rust-crypto/constants.js.map +0 -1
  393. package/lib/rust-crypto/device-converter.d.ts +0 -28
  394. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  395. package/lib/rust-crypto/device-converter.js +0 -123
  396. package/lib/rust-crypto/device-converter.js.map +0 -1
  397. package/lib/rust-crypto/index.d.ts +0 -61
  398. package/lib/rust-crypto/index.d.ts.map +0 -1
  399. package/lib/rust-crypto/index.js +0 -152
  400. package/lib/rust-crypto/index.js.map +0 -1
  401. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  402. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  403. package/lib/rust-crypto/libolm_migration.js +0 -459
  404. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  405. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  406. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  407. package/lib/rust-crypto/rust-crypto.js +0 -2016
  408. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  409. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  410. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  411. package/lib/rust-crypto/secret-storage.js +0 -63
  412. package/lib/rust-crypto/secret-storage.js.map +0 -1
  413. package/lib/rust-crypto/verification.d.ts +0 -319
  414. package/lib/rust-crypto/verification.d.ts.map +0 -1
  415. package/lib/rust-crypto/verification.js +0 -816
  416. package/lib/rust-crypto/verification.js.map +0 -1
  417. package/lib/secret-storage.d.ts +0 -370
  418. package/lib/secret-storage.d.ts.map +0 -1
  419. package/lib/secret-storage.js +0 -466
  420. package/lib/secret-storage.js.map +0 -1
  421. package/lib/webrtc/audioContext.d.ts +0 -15
  422. package/lib/webrtc/audioContext.d.ts.map +0 -1
  423. package/lib/webrtc/audioContext.js +0 -46
  424. package/lib/webrtc/audioContext.js.map +0 -1
  425. package/lib/webrtc/call.d.ts +0 -560
  426. package/lib/webrtc/call.d.ts.map +0 -1
  427. package/lib/webrtc/call.js +0 -2541
  428. package/lib/webrtc/call.js.map +0 -1
  429. package/lib/webrtc/callEventHandler.d.ts +0 -37
  430. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  431. package/lib/webrtc/callEventHandler.js +0 -344
  432. package/lib/webrtc/callEventHandler.js.map +0 -1
  433. package/lib/webrtc/callEventTypes.d.ts +0 -73
  434. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  435. package/lib/webrtc/callEventTypes.js +0 -13
  436. package/lib/webrtc/callEventTypes.js.map +0 -1
  437. package/lib/webrtc/callFeed.d.ts +0 -128
  438. package/lib/webrtc/callFeed.d.ts.map +0 -1
  439. package/lib/webrtc/callFeed.js +0 -289
  440. package/lib/webrtc/callFeed.js.map +0 -1
  441. package/lib/webrtc/groupCall.d.ts +0 -323
  442. package/lib/webrtc/groupCall.d.ts.map +0 -1
  443. package/lib/webrtc/groupCall.js +0 -1337
  444. package/lib/webrtc/groupCall.js.map +0 -1
  445. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  446. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  447. package/lib/webrtc/groupCallEventHandler.js +0 -178
  448. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  449. package/lib/webrtc/mediaHandler.d.ts +0 -89
  450. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  451. package/lib/webrtc/mediaHandler.js +0 -437
  452. package/lib/webrtc/mediaHandler.js.map +0 -1
  453. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  454. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  455. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  456. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  457. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  458. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  459. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  460. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  461. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  462. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  463. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  464. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  465. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  466. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  467. package/lib/webrtc/stats/connectionStats.js +0 -26
  468. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  469. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  470. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  471. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  472. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  473. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  474. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  475. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  476. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  477. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  478. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  479. package/lib/webrtc/stats/groupCallStats.js +0 -78
  480. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  481. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  482. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  483. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  484. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  485. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  486. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  487. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  488. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  489. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  490. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  491. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  492. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  493. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  494. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  495. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  496. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  497. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  498. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  499. package/lib/webrtc/stats/statsReport.js +0 -32
  500. package/lib/webrtc/stats/statsReport.js.map +0 -1
  501. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  502. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  503. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  504. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  505. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  506. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  507. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  508. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  509. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  510. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  511. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  512. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  513. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  514. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  515. package/lib/webrtc/stats/transportStats.js +0 -1
  516. package/lib/webrtc/stats/transportStats.js.map +0 -1
  517. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  518. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  519. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  520. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  521. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  522. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  523. package/lib/webrtc/stats/valueFormatter.js +0 -25
  524. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  525. package/src/@types/crypto.ts +0 -73
  526. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  527. package/src/common-crypto/CryptoBackend.ts +0 -302
  528. package/src/common-crypto/README.md +0 -4
  529. package/src/common-crypto/key-passphrase.ts +0 -43
  530. package/src/crypto/CrossSigning.ts +0 -773
  531. package/src/crypto/DeviceList.ts +0 -989
  532. package/src/crypto/EncryptionSetup.ts +0 -351
  533. package/src/crypto/OlmDevice.ts +0 -1500
  534. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  535. package/src/crypto/RoomList.ts +0 -70
  536. package/src/crypto/SecretSharing.ts +0 -240
  537. package/src/crypto/SecretStorage.ts +0 -136
  538. package/src/crypto/aes.ts +0 -23
  539. package/src/crypto/algorithms/base.ts +0 -236
  540. package/src/crypto/algorithms/index.ts +0 -20
  541. package/src/crypto/algorithms/megolm.ts +0 -2216
  542. package/src/crypto/algorithms/olm.ts +0 -381
  543. package/src/crypto/api.ts +0 -70
  544. package/src/crypto/backup.ts +0 -922
  545. package/src/crypto/crypto.ts +0 -18
  546. package/src/crypto/dehydration.ts +0 -272
  547. package/src/crypto/device-converter.ts +0 -45
  548. package/src/crypto/deviceinfo.ts +0 -158
  549. package/src/crypto/index.ts +0 -4414
  550. package/src/crypto/key_passphrase.ts +0 -42
  551. package/src/crypto/keybackup.ts +0 -47
  552. package/src/crypto/olmlib.ts +0 -539
  553. package/src/crypto/recoverykey.ts +0 -18
  554. package/src/crypto/store/base.ts +0 -348
  555. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  556. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  557. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  558. package/src/crypto/store/memory-crypto-store.ts +0 -680
  559. package/src/crypto/verification/Base.ts +0 -409
  560. package/src/crypto/verification/Error.ts +0 -76
  561. package/src/crypto/verification/IllegalMethod.ts +0 -50
  562. package/src/crypto/verification/QRCode.ts +0 -310
  563. package/src/crypto/verification/SAS.ts +0 -494
  564. package/src/crypto/verification/SASDecimal.ts +0 -37
  565. package/src/crypto/verification/request/Channel.ts +0 -34
  566. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  567. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  568. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  569. package/src/crypto-api/CryptoEvent.ts +0 -93
  570. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  571. package/src/crypto-api/index.ts +0 -1175
  572. package/src/crypto-api/key-passphrase.ts +0 -58
  573. package/src/crypto-api/keybackup.ts +0 -115
  574. package/src/crypto-api/recovery-key.ts +0 -69
  575. package/src/crypto-api/verification.ts +0 -408
  576. package/src/matrixrtc/CallMembership.ts +0 -247
  577. package/src/matrixrtc/LivekitFocus.ts +0 -39
  578. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  579. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  580. package/src/matrixrtc/focus.ts +0 -25
  581. package/src/matrixrtc/index.ts +0 -22
  582. package/src/matrixrtc/types.ts +0 -36
  583. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  584. package/src/rendezvous/RendezvousChannel.ts +0 -48
  585. package/src/rendezvous/RendezvousCode.ts +0 -25
  586. package/src/rendezvous/RendezvousError.ts +0 -26
  587. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  588. package/src/rendezvous/RendezvousIntent.ts +0 -20
  589. package/src/rendezvous/RendezvousTransport.ts +0 -58
  590. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  591. package/src/rendezvous/channels/index.ts +0 -17
  592. package/src/rendezvous/index.ts +0 -25
  593. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  594. package/src/rendezvous/transports/index.ts +0 -17
  595. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  596. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  597. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  598. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  599. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  600. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  601. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  602. package/src/rust-crypto/backup.ts +0 -881
  603. package/src/rust-crypto/constants.ts +0 -18
  604. package/src/rust-crypto/device-converter.ts +0 -128
  605. package/src/rust-crypto/index.ts +0 -237
  606. package/src/rust-crypto/libolm_migration.ts +0 -530
  607. package/src/rust-crypto/rust-crypto.ts +0 -2205
  608. package/src/rust-crypto/secret-storage.ts +0 -60
  609. package/src/rust-crypto/verification.ts +0 -830
  610. package/src/secret-storage.ts +0 -693
  611. package/src/webrtc/audioContext.ts +0 -44
  612. package/src/webrtc/call.ts +0 -3074
  613. package/src/webrtc/callEventHandler.ts +0 -425
  614. package/src/webrtc/callEventTypes.ts +0 -93
  615. package/src/webrtc/callFeed.ts +0 -364
  616. package/src/webrtc/groupCall.ts +0 -1735
  617. package/src/webrtc/groupCallEventHandler.ts +0 -234
  618. package/src/webrtc/mediaHandler.ts +0 -484
  619. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  620. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  621. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  622. package/src/webrtc/stats/connectionStats.ts +0 -47
  623. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  624. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  625. package/src/webrtc/stats/groupCallStats.ts +0 -93
  626. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  627. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  628. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  629. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  630. package/src/webrtc/stats/statsReport.ts +0 -133
  631. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  632. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  633. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  634. package/src/webrtc/stats/transportStats.ts +0 -26
  635. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  636. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -1,112 +0,0 @@
1
- import { ClientRendezvousFailureReason, MSC4108FailureReason, RendezvousFailureListener } from "./index.ts";
2
- import { MatrixClient } from "../client.ts";
3
- import { MSC4108SecureChannel } from "./channels/MSC4108SecureChannel.ts";
4
- import { CryptoApi } from "../crypto-api/index.ts";
5
- /**
6
- * Enum representing the payload types transmissible over [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
7
- * secure channels.
8
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
9
- */
10
- export declare enum PayloadType {
11
- Protocols = "m.login.protocols",
12
- Protocol = "m.login.protocol",
13
- Failure = "m.login.failure",
14
- Success = "m.login.success",
15
- Secrets = "m.login.secrets",
16
- ProtocolAccepted = "m.login.protocol_accepted",
17
- Declined = "m.login.declined"
18
- }
19
- /**
20
- * Type representing the base payload format for [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
21
- * messages sent over the secure channel.
22
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
23
- */
24
- export interface MSC4108Payload {
25
- type: PayloadType;
26
- }
27
- interface SecretsPayload extends MSC4108Payload, Awaited<ReturnType<NonNullable<CryptoApi["exportSecretsBundle"]>>> {
28
- type: PayloadType.Secrets;
29
- }
30
- /**
31
- * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
32
- * sign in with QR + OIDC flow.
33
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
34
- */
35
- export declare class MSC4108SignInWithQR {
36
- private readonly channel;
37
- private readonly didScanCode;
38
- private readonly client?;
39
- onFailure?: RendezvousFailureListener | undefined;
40
- private readonly ourIntent;
41
- private _code?;
42
- private expectingNewDeviceId?;
43
- /**
44
- * Returns the check code for the secure channel or undefined if not generated yet.
45
- */
46
- get checkCode(): string | undefined;
47
- /**
48
- * @param channel - The secure channel used for communication
49
- * @param client - The Matrix client in used on the device already logged in
50
- * @param didScanCode - Whether this side of the channel scanned the QR code from the other party
51
- * @param onFailure - Callback for when the rendezvous fails
52
- */
53
- constructor(channel: MSC4108SecureChannel, didScanCode: boolean, client?: MatrixClient | undefined, onFailure?: RendezvousFailureListener | undefined);
54
- /**
55
- * Returns the code representing the rendezvous suitable for rendering in a QR code or undefined if not generated yet.
56
- */
57
- get code(): Uint8Array | undefined;
58
- /**
59
- * Generate the code including doing partial set up of the channel where required.
60
- */
61
- generateCode(): Promise<void>;
62
- /**
63
- * Returns true if the device is the already logged in device reciprocating a new login on the other side of the channel.
64
- */
65
- get isExistingDevice(): boolean;
66
- /**
67
- * Returns true if the device is the new device logging in being reciprocated by the device on the other side of the channel.
68
- */
69
- get isNewDevice(): boolean;
70
- /**
71
- * The first step in the OIDC QR login process.
72
- * To be called after the QR code has been rendered or scanned.
73
- * The scanning device has to discover the homeserver details, if they scanned the code then they already have it.
74
- * If the new device is the one rendering the QR code then it has to wait be sent the homeserver details via the rendezvous channel.
75
- */
76
- negotiateProtocols(): Promise<{
77
- serverName?: string;
78
- }>;
79
- /**
80
- * The second & third step in the OIDC QR login process.
81
- * To be called after `negotiateProtocols` for the existing device.
82
- * To be called after OIDC negotiation for the new device. (Currently unsupported)
83
- */
84
- deviceAuthorizationGrant(): Promise<{
85
- verificationUri?: string;
86
- userCode?: string;
87
- }>;
88
- /**
89
- * The fifth (and final) step in the OIDC QR login process.
90
- * To be called after the new device has completed authentication.
91
- */
92
- shareSecrets(): Promise<{
93
- secrets?: Omit<SecretsPayload, "type">;
94
- }>;
95
- private receive;
96
- private send;
97
- /**
98
- * Decline the login on the existing device.
99
- */
100
- declineLoginOnExistingDevice(): Promise<void>;
101
- /**
102
- * Cancels the rendezvous session.
103
- * @param reason the reason for the cancellation
104
- */
105
- cancel(reason: MSC4108FailureReason | ClientRendezvousFailureReason): Promise<void>;
106
- /**
107
- * Closes the rendezvous session.
108
- */
109
- close(): Promise<void>;
110
- }
111
- export {};
112
- //# sourceMappingURL=MSC4108SignInWithQR.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MSC4108SignInWithQR.d.ts","sourceRoot":"","sources":["../../src/rendezvous/MSC4108SignInWithQR.ts"],"names":[],"mappings":"AAkBA,OAAO,EACH,6BAA6B,EAC7B,oBAAoB,EAEpB,yBAAyB,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD;;;;GAIG;AACH,oBAAY,WAAW;IACnB,SAAS,sBAAsB;IAC/B,QAAQ,qBAAqB;IAC7B,OAAO,oBAAoB;IAC3B,OAAO,oBAAoB;IAC3B,OAAO,oBAAoB;IAC3B,gBAAgB,8BAA8B;IAC9C,QAAQ,qBAAqB;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,WAAW,CAAC;CACrB;AA8CD,UAAU,cAAe,SAAQ,cAAc,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC/G,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAmBxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,yBAAyB;IArBhD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,oBAAoB,CAAC,CAAS;IAEtC;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,GAAG,SAAS,CAEzC;IAED;;;;;OAKG;gBAEkB,OAAO,EAAE,oBAAoB,EAC7B,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,YAAY,YAAA,EAC/B,SAAS,CAAC,EAAE,yBAAyB,YAAA;IAKhD;;OAEG;IACH,IAAW,IAAI,IAAI,UAAU,GAAG,SAAS,CAExC;IAED;;OAEG;IACU,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAY1C;;OAEG;IACH,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED;;;;;OAKG;IACU,kBAAkB,IAAI,OAAO,CAAC;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA+DnE;;;;OAIG;IACU,wBAAwB,IAAI,OAAO,CAAC;QAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IAiEF;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC;QAAE,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;YAyFlE,OAAO;YAIP,IAAI;IAIlB;;OAEG;IACU,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1D;;;OAGG;IACU,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhG;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
@@ -1,392 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- /*
6
- Copyright 2024 The Matrix.org Foundation C.I.C.
7
-
8
- Licensed under the Apache License, Version 2.0 (the "License");
9
- you may not use this file except in compliance with the License.
10
- You may obtain a copy of the License at
11
-
12
- http://www.apache.org/licenses/LICENSE-2.0
13
-
14
- Unless required by applicable law or agreed to in writing, software
15
- distributed under the License is distributed on an "AS IS" BASIS,
16
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- See the License for the specific language governing permissions and
18
- limitations under the License.
19
- */
20
-
21
- import { QrCodeMode } from "@matrix-org/matrix-sdk-crypto-wasm";
22
- import { ClientRendezvousFailureReason, MSC4108FailureReason, RendezvousError } from "./index.js";
23
- import { logger } from "../logger.js";
24
- import { MatrixError } from "../http-api/index.js";
25
- import { sleep } from "../utils.js";
26
- import { DEVICE_CODE_SCOPE, discoverAndValidateOIDCIssuerWellKnown } from "../oidc/index.js";
27
- /**
28
- * Enum representing the payload types transmissible over [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
29
- * secure channels.
30
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
31
- */
32
- export var PayloadType = /*#__PURE__*/function (PayloadType) {
33
- PayloadType["Protocols"] = "m.login.protocols";
34
- PayloadType["Protocol"] = "m.login.protocol";
35
- PayloadType["Failure"] = "m.login.failure";
36
- PayloadType["Success"] = "m.login.success";
37
- PayloadType["Secrets"] = "m.login.secrets";
38
- PayloadType["ProtocolAccepted"] = "m.login.protocol_accepted";
39
- PayloadType["Declined"] = "m.login.declined";
40
- return PayloadType;
41
- }({});
42
-
43
- /**
44
- * Type representing the base payload format for [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
45
- * messages sent over the secure channel.
46
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
47
- */
48
-
49
- function isDeviceAuthorizationGrantProtocolPayload(payload) {
50
- return payload.protocol === "device_authorization_grant";
51
- }
52
- /**
53
- * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
54
- * sign in with QR + OIDC flow.
55
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
56
- */
57
- export class MSC4108SignInWithQR {
58
- /**
59
- * Returns the check code for the secure channel or undefined if not generated yet.
60
- */
61
- get checkCode() {
62
- var _this$channel;
63
- return (_this$channel = this.channel) === null || _this$channel === void 0 ? void 0 : _this$channel.getCheckCode();
64
- }
65
-
66
- /**
67
- * @param channel - The secure channel used for communication
68
- * @param client - The Matrix client in used on the device already logged in
69
- * @param didScanCode - Whether this side of the channel scanned the QR code from the other party
70
- * @param onFailure - Callback for when the rendezvous fails
71
- */
72
- constructor(channel, didScanCode, client, onFailure) {
73
- this.channel = channel;
74
- this.didScanCode = didScanCode;
75
- this.client = client;
76
- this.onFailure = onFailure;
77
- _defineProperty(this, "ourIntent", void 0);
78
- _defineProperty(this, "_code", void 0);
79
- _defineProperty(this, "expectingNewDeviceId", void 0);
80
- this.ourIntent = client ? QrCodeMode.Reciprocate : QrCodeMode.Login;
81
- }
82
-
83
- /**
84
- * Returns the code representing the rendezvous suitable for rendering in a QR code or undefined if not generated yet.
85
- */
86
- get code() {
87
- return this._code;
88
- }
89
-
90
- /**
91
- * Generate the code including doing partial set up of the channel where required.
92
- */
93
- generateCode() {
94
- var _this = this;
95
- return _asyncToGenerator(function* () {
96
- if (_this._code) {
97
- return;
98
- }
99
- if (_this.ourIntent === QrCodeMode.Reciprocate && _this.client) {
100
- _this._code = yield _this.channel.generateCode(_this.ourIntent, _this.client.getDomain());
101
- } else if (_this.ourIntent === QrCodeMode.Login) {
102
- _this._code = yield _this.channel.generateCode(_this.ourIntent);
103
- }
104
- })();
105
- }
106
-
107
- /**
108
- * Returns true if the device is the already logged in device reciprocating a new login on the other side of the channel.
109
- */
110
- get isExistingDevice() {
111
- return this.ourIntent === QrCodeMode.Reciprocate;
112
- }
113
-
114
- /**
115
- * Returns true if the device is the new device logging in being reciprocated by the device on the other side of the channel.
116
- */
117
- get isNewDevice() {
118
- return !this.isExistingDevice;
119
- }
120
-
121
- /**
122
- * The first step in the OIDC QR login process.
123
- * To be called after the QR code has been rendered or scanned.
124
- * The scanning device has to discover the homeserver details, if they scanned the code then they already have it.
125
- * If the new device is the one rendering the QR code then it has to wait be sent the homeserver details via the rendezvous channel.
126
- */
127
- negotiateProtocols() {
128
- var _this2 = this;
129
- return _asyncToGenerator(function* () {
130
- logger.info("negotiateProtocols(isNewDevice=".concat(_this2.isNewDevice, " didScanCode=").concat(_this2.didScanCode, ")"));
131
- yield _this2.channel.connect();
132
- if (_this2.didScanCode) {
133
- // Secure Channel step 6 completed, we trust the channel
134
-
135
- if (_this2.isNewDevice) {
136
- // MSC4108-Flow: ExistingScanned - take homeserver from QR code which should already be set
137
- } else {
138
- var _oidcClientConfig;
139
- // MSC4108-Flow: NewScanned -send protocols message
140
- var oidcClientConfig;
141
- try {
142
- var {
143
- issuer
144
- } = yield _this2.client.getAuthIssuer();
145
- oidcClientConfig = yield discoverAndValidateOIDCIssuerWellKnown(issuer);
146
- } catch (e) {
147
- logger.error("Failed to discover OIDC metadata", e);
148
- }
149
- if ((_oidcClientConfig = oidcClientConfig) !== null && _oidcClientConfig !== void 0 && _oidcClientConfig.metadata.grant_types_supported.includes(DEVICE_CODE_SCOPE)) {
150
- yield _this2.send({
151
- type: PayloadType.Protocols,
152
- protocols: ["device_authorization_grant"],
153
- homeserver: _this2.client.getDomain()
154
- });
155
- } else {
156
- yield _this2.send({
157
- type: PayloadType.Failure,
158
- reason: MSC4108FailureReason.UnsupportedProtocol
159
- });
160
- throw new RendezvousError("Device code grant unsupported", MSC4108FailureReason.UnsupportedProtocol);
161
- }
162
- }
163
- } else if (_this2.isNewDevice) {
164
- // MSC4108-Flow: ExistingScanned - wait for protocols message
165
- logger.info("Waiting for protocols message");
166
- var payload = yield _this2.receive();
167
- if ((payload === null || payload === void 0 ? void 0 : payload.type) === PayloadType.Failure) {
168
- throw new RendezvousError("Failed", payload.reason);
169
- }
170
- if ((payload === null || payload === void 0 ? void 0 : payload.type) !== PayloadType.Protocols) {
171
- yield _this2.send({
172
- type: PayloadType.Failure,
173
- reason: MSC4108FailureReason.UnexpectedMessageReceived
174
- });
175
- throw new RendezvousError("Unexpected message received", MSC4108FailureReason.UnexpectedMessageReceived);
176
- }
177
- return {
178
- serverName: payload.homeserver
179
- };
180
- } else {
181
- // MSC4108-Flow: NewScanned - nothing to do
182
- }
183
- return {};
184
- })();
185
- }
186
-
187
- /**
188
- * The second & third step in the OIDC QR login process.
189
- * To be called after `negotiateProtocols` for the existing device.
190
- * To be called after OIDC negotiation for the new device. (Currently unsupported)
191
- */
192
- deviceAuthorizationGrant() {
193
- var _this3 = this;
194
- return _asyncToGenerator(function* () {
195
- if (_this3.isNewDevice) {
196
- throw new Error("New device flows around OIDC are not yet implemented");
197
- } else {
198
- // The user needs to do step 7 for the out-of-band confirmation
199
- // but, first we receive the protocol chosen by the other device so that
200
- // the confirmation_uri is ready to go
201
- logger.info("Waiting for protocol message");
202
- var payload = yield _this3.receive();
203
- if ((payload === null || payload === void 0 ? void 0 : payload.type) === PayloadType.Failure) {
204
- throw new RendezvousError("Failed", payload.reason);
205
- }
206
- if ((payload === null || payload === void 0 ? void 0 : payload.type) !== PayloadType.Protocol) {
207
- yield _this3.send({
208
- type: PayloadType.Failure,
209
- reason: MSC4108FailureReason.UnexpectedMessageReceived
210
- });
211
- throw new RendezvousError("Unexpected message received", MSC4108FailureReason.UnexpectedMessageReceived);
212
- }
213
- if (isDeviceAuthorizationGrantProtocolPayload(payload)) {
214
- var {
215
- device_authorization_grant: dag,
216
- device_id: expectingNewDeviceId
217
- } = payload;
218
- var {
219
- verification_uri: verificationUri,
220
- verification_uri_complete: verificationUriComplete
221
- } = dag;
222
- var deviceAlreadyExists = true;
223
- try {
224
- var _this3$client;
225
- yield (_this3$client = _this3.client) === null || _this3$client === void 0 ? void 0 : _this3$client.getDevice(expectingNewDeviceId);
226
- } catch (err) {
227
- if (err instanceof MatrixError && err.httpStatus === 404) {
228
- deviceAlreadyExists = false;
229
- }
230
- }
231
- if (deviceAlreadyExists) {
232
- yield _this3.send({
233
- type: PayloadType.Failure,
234
- reason: MSC4108FailureReason.DeviceAlreadyExists
235
- });
236
- throw new RendezvousError("Specified device ID already exists", MSC4108FailureReason.DeviceAlreadyExists);
237
- }
238
- _this3.expectingNewDeviceId = expectingNewDeviceId;
239
- return {
240
- verificationUri: verificationUriComplete !== null && verificationUriComplete !== void 0 ? verificationUriComplete : verificationUri
241
- };
242
- }
243
- yield _this3.send({
244
- type: PayloadType.Failure,
245
- reason: MSC4108FailureReason.UnsupportedProtocol
246
- });
247
- throw new RendezvousError("Received a request for an unsupported protocol", MSC4108FailureReason.UnsupportedProtocol);
248
- }
249
- })();
250
- }
251
-
252
- /**
253
- * The fifth (and final) step in the OIDC QR login process.
254
- * To be called after the new device has completed authentication.
255
- */
256
- shareSecrets() {
257
- var _this4 = this;
258
- return _asyncToGenerator(function* () {
259
- if (_this4.isNewDevice) {
260
- yield _this4.send({
261
- type: PayloadType.Success
262
- });
263
- // then wait for secrets
264
- logger.info("Waiting for secrets message");
265
- var payload = yield _this4.receive();
266
- if ((payload === null || payload === void 0 ? void 0 : payload.type) === PayloadType.Failure) {
267
- throw new RendezvousError("Failed", payload.reason);
268
- }
269
- if ((payload === null || payload === void 0 ? void 0 : payload.type) !== PayloadType.Secrets) {
270
- yield _this4.send({
271
- type: PayloadType.Failure,
272
- reason: MSC4108FailureReason.UnexpectedMessageReceived
273
- });
274
- throw new RendezvousError("Unexpected message received", MSC4108FailureReason.UnexpectedMessageReceived);
275
- }
276
- return {
277
- secrets: payload
278
- };
279
- // then done?
280
- } else {
281
- if (!_this4.expectingNewDeviceId) {
282
- throw new Error("No new device ID expected");
283
- }
284
- yield _this4.send({
285
- type: PayloadType.ProtocolAccepted
286
- });
287
- logger.info("Waiting for outcome message");
288
- var _payload = yield _this4.receive();
289
- if ((_payload === null || _payload === void 0 ? void 0 : _payload.type) === PayloadType.Failure) {
290
- throw new RendezvousError("Failed", _payload.reason);
291
- }
292
- if ((_payload === null || _payload === void 0 ? void 0 : _payload.type) === PayloadType.Declined) {
293
- throw new RendezvousError("User declined", ClientRendezvousFailureReason.UserDeclined);
294
- }
295
- if ((_payload === null || _payload === void 0 ? void 0 : _payload.type) !== PayloadType.Success) {
296
- yield _this4.send({
297
- type: PayloadType.Failure,
298
- reason: MSC4108FailureReason.UnexpectedMessageReceived
299
- });
300
- throw new RendezvousError("Unexpected message", MSC4108FailureReason.UnexpectedMessageReceived);
301
- }
302
- var timeout = Date.now() + 10000; // wait up to 10 seconds
303
- do {
304
- // is the device visible via the Homeserver?
305
- try {
306
- var _this4$client;
307
- var device = yield (_this4$client = _this4.client) === null || _this4$client === void 0 ? void 0 : _this4$client.getDevice(_this4.expectingNewDeviceId);
308
- if (device) {
309
- // if so, return the secrets
310
- var secretsBundle = yield _this4.client.getCrypto().exportSecretsBundle();
311
- if (_this4.channel.cancelled) {
312
- throw new RendezvousError("User cancelled", MSC4108FailureReason.UserCancelled);
313
- }
314
- // send secrets
315
- yield _this4.send(_objectSpread({
316
- type: PayloadType.Secrets
317
- }, secretsBundle));
318
- return {
319
- secrets: secretsBundle
320
- };
321
- // let the other side close the rendezvous session
322
- }
323
- } catch (err) {
324
- if (err instanceof MatrixError && err.httpStatus === 404) {
325
- // not found, so keep waiting until timeout
326
- } else {
327
- throw err;
328
- }
329
- }
330
- yield sleep(1000);
331
- } while (Date.now() < timeout);
332
- yield _this4.send({
333
- type: PayloadType.Failure,
334
- reason: MSC4108FailureReason.DeviceNotFound
335
- });
336
- throw new RendezvousError("New device not found", MSC4108FailureReason.DeviceNotFound);
337
- }
338
- })();
339
- }
340
- receive() {
341
- var _this5 = this;
342
- return _asyncToGenerator(function* () {
343
- return yield _this5.channel.secureReceive();
344
- })();
345
- }
346
- send(payload) {
347
- var _this6 = this;
348
- return _asyncToGenerator(function* () {
349
- yield _this6.channel.secureSend(payload);
350
- })();
351
- }
352
-
353
- /**
354
- * Decline the login on the existing device.
355
- */
356
- declineLoginOnExistingDevice() {
357
- var _this7 = this;
358
- return _asyncToGenerator(function* () {
359
- if (!_this7.isExistingDevice) {
360
- throw new Error("Can only decline login on existing device");
361
- }
362
- yield _this7.send({
363
- type: PayloadType.Failure,
364
- reason: MSC4108FailureReason.UserCancelled
365
- });
366
- })();
367
- }
368
-
369
- /**
370
- * Cancels the rendezvous session.
371
- * @param reason the reason for the cancellation
372
- */
373
- cancel(reason) {
374
- var _this8 = this;
375
- return _asyncToGenerator(function* () {
376
- var _this8$onFailure;
377
- (_this8$onFailure = _this8.onFailure) === null || _this8$onFailure === void 0 || _this8$onFailure.call(_this8, reason);
378
- yield _this8.channel.cancel(reason);
379
- })();
380
- }
381
-
382
- /**
383
- * Closes the rendezvous session.
384
- */
385
- close() {
386
- var _this9 = this;
387
- return _asyncToGenerator(function* () {
388
- yield _this9.channel.close();
389
- })();
390
- }
391
- }
392
- //# sourceMappingURL=MSC4108SignInWithQR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MSC4108SignInWithQR.js","names":["QrCodeMode","ClientRendezvousFailureReason","MSC4108FailureReason","RendezvousError","logger","MatrixError","sleep","DEVICE_CODE_SCOPE","discoverAndValidateOIDCIssuerWellKnown","PayloadType","isDeviceAuthorizationGrantProtocolPayload","payload","protocol","MSC4108SignInWithQR","checkCode","_this$channel","channel","getCheckCode","constructor","didScanCode","client","onFailure","_defineProperty","ourIntent","Reciprocate","Login","code","_code","generateCode","_this","_asyncToGenerator","getDomain","isExistingDevice","isNewDevice","negotiateProtocols","_this2","info","concat","connect","_oidcClientConfig","oidcClientConfig","issuer","getAuthIssuer","e","error","metadata","grant_types_supported","includes","send","type","Protocols","protocols","homeserver","Failure","reason","UnsupportedProtocol","receive","UnexpectedMessageReceived","serverName","deviceAuthorizationGrant","_this3","Error","Protocol","device_authorization_grant","dag","device_id","expectingNewDeviceId","verification_uri","verificationUri","verification_uri_complete","verificationUriComplete","deviceAlreadyExists","_this3$client","getDevice","err","httpStatus","DeviceAlreadyExists","shareSecrets","_this4","Success","Secrets","secrets","ProtocolAccepted","Declined","UserDeclined","timeout","Date","now","_this4$client","device","secretsBundle","getCrypto","exportSecretsBundle","cancelled","UserCancelled","_objectSpread","DeviceNotFound","_this5","secureReceive","_this6","secureSend","declineLoginOnExistingDevice","_this7","cancel","_this8","_this8$onFailure","call","close","_this9"],"sources":["../../src/rendezvous/MSC4108SignInWithQR.ts"],"sourcesContent":["/*\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { QrCodeMode } from \"@matrix-org/matrix-sdk-crypto-wasm\";\n\nimport {\n ClientRendezvousFailureReason,\n MSC4108FailureReason,\n RendezvousError,\n RendezvousFailureListener,\n} from \"./index.ts\";\nimport { MatrixClient } from \"../client.ts\";\nimport { logger } from \"../logger.ts\";\nimport { MSC4108SecureChannel } from \"./channels/MSC4108SecureChannel.ts\";\nimport { MatrixError } from \"../http-api/index.ts\";\nimport { sleep } from \"../utils.ts\";\nimport { DEVICE_CODE_SCOPE, discoverAndValidateOIDCIssuerWellKnown, OidcClientConfig } from \"../oidc/index.ts\";\nimport { CryptoApi } from \"../crypto-api/index.ts\";\n\n/**\n * Enum representing the payload types transmissible over [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)\n * secure channels.\n * @experimental Note that this is UNSTABLE and may have breaking changes without notice.\n */\nexport enum PayloadType {\n Protocols = \"m.login.protocols\",\n Protocol = \"m.login.protocol\",\n Failure = \"m.login.failure\",\n Success = \"m.login.success\",\n Secrets = \"m.login.secrets\",\n ProtocolAccepted = \"m.login.protocol_accepted\",\n Declined = \"m.login.declined\",\n}\n\n/**\n * Type representing the base payload format for [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)\n * messages sent over the secure channel.\n * @experimental Note that this is UNSTABLE and may have breaking changes without notice.\n */\nexport interface MSC4108Payload {\n type: PayloadType;\n}\n\ninterface ProtocolsPayload extends MSC4108Payload {\n type: PayloadType.Protocols;\n protocols: string[];\n homeserver: string;\n}\n\ninterface ProtocolPayload extends MSC4108Payload {\n type: PayloadType.Protocol;\n protocol: Exclude<string, \"device_authorization_grant\">;\n device_id: string;\n}\n\ninterface DeviceAuthorizationGrantProtocolPayload extends ProtocolPayload {\n protocol: \"device_authorization_grant\";\n device_authorization_grant: {\n verification_uri: string;\n verification_uri_complete?: string;\n };\n}\n\nfunction isDeviceAuthorizationGrantProtocolPayload(\n payload: ProtocolPayload,\n): payload is DeviceAuthorizationGrantProtocolPayload {\n return payload.protocol === \"device_authorization_grant\";\n}\n\ninterface FailurePayload extends MSC4108Payload {\n type: PayloadType.Failure;\n reason: MSC4108FailureReason;\n homeserver?: string;\n}\n\ninterface DeclinedPayload extends MSC4108Payload {\n type: PayloadType.Declined;\n}\n\ninterface SuccessPayload extends MSC4108Payload {\n type: PayloadType.Success;\n}\n\ninterface AcceptedPayload extends MSC4108Payload {\n type: PayloadType.ProtocolAccepted;\n}\n\ninterface SecretsPayload extends MSC4108Payload, Awaited<ReturnType<NonNullable<CryptoApi[\"exportSecretsBundle\"]>>> {\n type: PayloadType.Secrets;\n}\n\n/**\n * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)\n * sign in with QR + OIDC flow.\n * @experimental Note that this is UNSTABLE and may have breaking changes without notice.\n */\nexport class MSC4108SignInWithQR {\n private readonly ourIntent: QrCodeMode;\n private _code?: Uint8Array;\n private expectingNewDeviceId?: string;\n\n /**\n * Returns the check code for the secure channel or undefined if not generated yet.\n */\n public get checkCode(): string | undefined {\n return this.channel?.getCheckCode();\n }\n\n /**\n * @param channel - The secure channel used for communication\n * @param client - The Matrix client in used on the device already logged in\n * @param didScanCode - Whether this side of the channel scanned the QR code from the other party\n * @param onFailure - Callback for when the rendezvous fails\n */\n public constructor(\n private readonly channel: MSC4108SecureChannel,\n private readonly didScanCode: boolean,\n private readonly client?: MatrixClient,\n public onFailure?: RendezvousFailureListener,\n ) {\n this.ourIntent = client ? QrCodeMode.Reciprocate : QrCodeMode.Login;\n }\n\n /**\n * Returns the code representing the rendezvous suitable for rendering in a QR code or undefined if not generated yet.\n */\n public get code(): Uint8Array | undefined {\n return this._code;\n }\n\n /**\n * Generate the code including doing partial set up of the channel where required.\n */\n public async generateCode(): Promise<void> {\n if (this._code) {\n return;\n }\n\n if (this.ourIntent === QrCodeMode.Reciprocate && this.client) {\n this._code = await this.channel.generateCode(this.ourIntent, this.client.getDomain()!);\n } else if (this.ourIntent === QrCodeMode.Login) {\n this._code = await this.channel.generateCode(this.ourIntent);\n }\n }\n\n /**\n * Returns true if the device is the already logged in device reciprocating a new login on the other side of the channel.\n */\n public get isExistingDevice(): boolean {\n return this.ourIntent === QrCodeMode.Reciprocate;\n }\n\n /**\n * Returns true if the device is the new device logging in being reciprocated by the device on the other side of the channel.\n */\n public get isNewDevice(): boolean {\n return !this.isExistingDevice;\n }\n\n /**\n * The first step in the OIDC QR login process.\n * To be called after the QR code has been rendered or scanned.\n * The scanning device has to discover the homeserver details, if they scanned the code then they already have it.\n * If the new device is the one rendering the QR code then it has to wait be sent the homeserver details via the rendezvous channel.\n */\n public async negotiateProtocols(): Promise<{ serverName?: string }> {\n logger.info(`negotiateProtocols(isNewDevice=${this.isNewDevice} didScanCode=${this.didScanCode})`);\n await this.channel.connect();\n\n if (this.didScanCode) {\n // Secure Channel step 6 completed, we trust the channel\n\n if (this.isNewDevice) {\n // MSC4108-Flow: ExistingScanned - take homeserver from QR code which should already be set\n } else {\n // MSC4108-Flow: NewScanned -send protocols message\n let oidcClientConfig: OidcClientConfig | undefined;\n try {\n const { issuer } = await this.client!.getAuthIssuer();\n oidcClientConfig = await discoverAndValidateOIDCIssuerWellKnown(issuer);\n } catch (e) {\n logger.error(\"Failed to discover OIDC metadata\", e);\n }\n\n if (oidcClientConfig?.metadata.grant_types_supported.includes(DEVICE_CODE_SCOPE)) {\n await this.send<ProtocolsPayload>({\n type: PayloadType.Protocols,\n protocols: [\"device_authorization_grant\"],\n homeserver: this.client!.getDomain()!,\n });\n } else {\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UnsupportedProtocol,\n });\n throw new RendezvousError(\n \"Device code grant unsupported\",\n MSC4108FailureReason.UnsupportedProtocol,\n );\n }\n }\n } else if (this.isNewDevice) {\n // MSC4108-Flow: ExistingScanned - wait for protocols message\n logger.info(\"Waiting for protocols message\");\n const payload = await this.receive<ProtocolsPayload>();\n\n if (payload?.type === PayloadType.Failure) {\n throw new RendezvousError(\"Failed\", payload.reason);\n }\n\n if (payload?.type !== PayloadType.Protocols) {\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UnexpectedMessageReceived,\n });\n throw new RendezvousError(\n \"Unexpected message received\",\n MSC4108FailureReason.UnexpectedMessageReceived,\n );\n }\n\n return { serverName: payload.homeserver };\n } else {\n // MSC4108-Flow: NewScanned - nothing to do\n }\n return {};\n }\n\n /**\n * The second & third step in the OIDC QR login process.\n * To be called after `negotiateProtocols` for the existing device.\n * To be called after OIDC negotiation for the new device. (Currently unsupported)\n */\n public async deviceAuthorizationGrant(): Promise<{\n verificationUri?: string;\n userCode?: string;\n }> {\n if (this.isNewDevice) {\n throw new Error(\"New device flows around OIDC are not yet implemented\");\n } else {\n // The user needs to do step 7 for the out-of-band confirmation\n // but, first we receive the protocol chosen by the other device so that\n // the confirmation_uri is ready to go\n logger.info(\"Waiting for protocol message\");\n const payload = await this.receive<ProtocolPayload | DeviceAuthorizationGrantProtocolPayload>();\n\n if (payload?.type === PayloadType.Failure) {\n throw new RendezvousError(\"Failed\", payload.reason);\n }\n\n if (payload?.type !== PayloadType.Protocol) {\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UnexpectedMessageReceived,\n });\n throw new RendezvousError(\n \"Unexpected message received\",\n MSC4108FailureReason.UnexpectedMessageReceived,\n );\n }\n\n if (isDeviceAuthorizationGrantProtocolPayload(payload)) {\n const { device_authorization_grant: dag, device_id: expectingNewDeviceId } = payload;\n const { verification_uri: verificationUri, verification_uri_complete: verificationUriComplete } = dag;\n\n let deviceAlreadyExists = true;\n try {\n await this.client?.getDevice(expectingNewDeviceId);\n } catch (err: MatrixError | unknown) {\n if (err instanceof MatrixError && err.httpStatus === 404) {\n deviceAlreadyExists = false;\n }\n }\n\n if (deviceAlreadyExists) {\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.DeviceAlreadyExists,\n });\n throw new RendezvousError(\n \"Specified device ID already exists\",\n MSC4108FailureReason.DeviceAlreadyExists,\n );\n }\n\n this.expectingNewDeviceId = expectingNewDeviceId;\n\n return { verificationUri: verificationUriComplete ?? verificationUri };\n }\n\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UnsupportedProtocol,\n });\n throw new RendezvousError(\n \"Received a request for an unsupported protocol\",\n MSC4108FailureReason.UnsupportedProtocol,\n );\n }\n }\n\n /**\n * The fifth (and final) step in the OIDC QR login process.\n * To be called after the new device has completed authentication.\n */\n public async shareSecrets(): Promise<{ secrets?: Omit<SecretsPayload, \"type\"> }> {\n if (this.isNewDevice) {\n await this.send<SuccessPayload>({\n type: PayloadType.Success,\n });\n // then wait for secrets\n logger.info(\"Waiting for secrets message\");\n const payload = await this.receive<SecretsPayload>();\n if (payload?.type === PayloadType.Failure) {\n throw new RendezvousError(\"Failed\", payload.reason);\n }\n\n if (payload?.type !== PayloadType.Secrets) {\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UnexpectedMessageReceived,\n });\n throw new RendezvousError(\n \"Unexpected message received\",\n MSC4108FailureReason.UnexpectedMessageReceived,\n );\n }\n return { secrets: payload };\n // then done?\n } else {\n if (!this.expectingNewDeviceId) {\n throw new Error(\"No new device ID expected\");\n }\n await this.send<AcceptedPayload>({\n type: PayloadType.ProtocolAccepted,\n });\n\n logger.info(\"Waiting for outcome message\");\n const payload = await this.receive<SuccessPayload | DeclinedPayload>();\n\n if (payload?.type === PayloadType.Failure) {\n throw new RendezvousError(\"Failed\", payload.reason);\n }\n\n if (payload?.type === PayloadType.Declined) {\n throw new RendezvousError(\"User declined\", ClientRendezvousFailureReason.UserDeclined);\n }\n\n if (payload?.type !== PayloadType.Success) {\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UnexpectedMessageReceived,\n });\n throw new RendezvousError(\"Unexpected message\", MSC4108FailureReason.UnexpectedMessageReceived);\n }\n\n const timeout = Date.now() + 10000; // wait up to 10 seconds\n do {\n // is the device visible via the Homeserver?\n try {\n const device = await this.client?.getDevice(this.expectingNewDeviceId);\n\n if (device) {\n // if so, return the secrets\n const secretsBundle = await this.client!.getCrypto()!.exportSecretsBundle!();\n if (this.channel.cancelled) {\n throw new RendezvousError(\"User cancelled\", MSC4108FailureReason.UserCancelled);\n }\n // send secrets\n await this.send<SecretsPayload>({\n type: PayloadType.Secrets,\n ...secretsBundle,\n });\n return { secrets: secretsBundle };\n // let the other side close the rendezvous session\n }\n } catch (err: MatrixError | unknown) {\n if (err instanceof MatrixError && err.httpStatus === 404) {\n // not found, so keep waiting until timeout\n } else {\n throw err;\n }\n }\n await sleep(1000);\n } while (Date.now() < timeout);\n\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.DeviceNotFound,\n });\n throw new RendezvousError(\"New device not found\", MSC4108FailureReason.DeviceNotFound);\n }\n }\n\n private async receive<T extends MSC4108Payload>(): Promise<T | FailurePayload | undefined> {\n return (await this.channel.secureReceive()) as T | undefined;\n }\n\n private async send<T extends MSC4108Payload>(payload: T): Promise<void> {\n await this.channel.secureSend(payload);\n }\n\n /**\n * Decline the login on the existing device.\n */\n public async declineLoginOnExistingDevice(): Promise<void> {\n if (!this.isExistingDevice) {\n throw new Error(\"Can only decline login on existing device\");\n }\n await this.send<FailurePayload>({\n type: PayloadType.Failure,\n reason: MSC4108FailureReason.UserCancelled,\n });\n }\n\n /**\n * Cancels the rendezvous session.\n * @param reason the reason for the cancellation\n */\n public async cancel(reason: MSC4108FailureReason | ClientRendezvousFailureReason): Promise<void> {\n this.onFailure?.(reason);\n await this.channel.cancel(reason);\n }\n\n /**\n * Closes the rendezvous session.\n */\n public async close(): Promise<void> {\n await this.channel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,27 +0,0 @@
1
- import { RendezvousCode, RendezvousIntent, RendezvousFailureReason } from "./index.ts";
2
- export interface RendezvousChannel<T> {
3
- /**
4
- * @returns the checksum/confirmation digits to be shown to the user
5
- */
6
- connect(): Promise<string>;
7
- /**
8
- * Send a payload via the channel.
9
- * @param data - payload to send
10
- */
11
- send(data: T): Promise<void>;
12
- /**
13
- * Receive a payload from the channel.
14
- * @returns the received payload
15
- */
16
- receive(): Promise<Partial<T> | undefined>;
17
- /**
18
- * Close the channel and clear up any resources.
19
- */
20
- close(): Promise<void>;
21
- /**
22
- * @returns a representation of the channel that can be encoded in a QR or similar
23
- */
24
- generateCode(intent: RendezvousIntent): Promise<RendezvousCode>;
25
- cancel(reason: RendezvousFailureReason): Promise<void>;
26
- }
27
- //# sourceMappingURL=RendezvousChannel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousChannel.d.ts","sourceRoot":"","sources":["../../src/rendezvous/RendezvousChannel.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE3C;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhE,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousChannel.js","names":[],"sources":["../../src/rendezvous/RendezvousChannel.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { RendezvousCode, RendezvousIntent, RendezvousFailureReason } from \"./index.ts\";\n\nexport interface RendezvousChannel<T> {\n /**\n * @returns the checksum/confirmation digits to be shown to the user\n */\n connect(): Promise<string>;\n\n /**\n * Send a payload via the channel.\n * @param data - payload to send\n */\n send(data: T): Promise<void>;\n\n /**\n * Receive a payload from the channel.\n * @returns the received payload\n */\n receive(): Promise<Partial<T> | undefined>;\n\n /**\n * Close the channel and clear up any resources.\n */\n close(): Promise<void>;\n\n /**\n * @returns a representation of the channel that can be encoded in a QR or similar\n */\n generateCode(intent: RendezvousIntent): Promise<RendezvousCode>;\n\n cancel(reason: RendezvousFailureReason): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import { RendezvousTransportDetails, RendezvousIntent } from "./index.ts";
2
- export interface RendezvousCode {
3
- intent: RendezvousIntent;
4
- rendezvous?: {
5
- transport: RendezvousTransportDetails;
6
- algorithm: string;
7
- };
8
- }
9
- //# sourceMappingURL=RendezvousCode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousCode.d.ts","sourceRoot":"","sources":["../../src/rendezvous/RendezvousCode.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE;QACT,SAAS,EAAE,0BAA0B,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL"}
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousCode.js","names":[],"sources":["../../src/rendezvous/RendezvousCode.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { RendezvousTransportDetails, RendezvousIntent } from \"./index.ts\";\n\nexport interface RendezvousCode {\n intent: RendezvousIntent;\n rendezvous?: {\n transport: RendezvousTransportDetails;\n algorithm: string;\n };\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- import { RendezvousFailureReason } from "./index.ts";
2
- export declare class RendezvousError extends Error {
3
- readonly code: RendezvousFailureReason;
4
- constructor(message: string, code: RendezvousFailureReason);
5
- }
6
- //# sourceMappingURL=RendezvousError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendezvousError.d.ts","sourceRoot":"","sources":["../../src/rendezvous/RendezvousError.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAErD,qBAAa,eAAgB,SAAQ,KAAK;aAGlB,IAAI,EAAE,uBAAuB;gBAD7C,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,uBAAuB;CAIpD"}