@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.
- package/git-revision.txt +1 -1
- package/lib/@types/global.d.js +0 -2
- package/lib/@types/global.d.js.map +1 -1
- package/lib/browser-index.d.ts.map +1 -1
- package/lib/browser-index.js +0 -11
- package/lib/browser-index.js.map +1 -1
- package/lib/client.d.ts +2 -1176
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +346 -2717
- package/lib/client.js.map +1 -1
- package/lib/embedded.d.ts +0 -22
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +24 -166
- package/lib/embedded.js.map +1 -1
- package/lib/event-mapper.d.ts.map +1 -1
- package/lib/event-mapper.js +0 -4
- package/lib/event-mapper.js.map +1 -1
- package/lib/matrix.d.ts +0 -19
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -26
- package/lib/matrix.js.map +1 -1
- package/lib/models/MSC3089Branch.d.ts.map +1 -1
- package/lib/models/MSC3089Branch.js +0 -3
- package/lib/models/MSC3089Branch.js.map +1 -1
- package/lib/models/event.d.ts +0 -94
- package/lib/models/event.d.ts.map +1 -1
- package/lib/models/event.js +0 -274
- package/lib/models/event.js.map +1 -1
- package/lib/models/poll.d.ts.map +1 -1
- package/lib/models/poll.js +1 -5
- package/lib/models/poll.js.map +1 -1
- package/lib/models/relations-container.d.ts.map +1 -1
- package/lib/models/relations-container.js +1 -7
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.d.ts +0 -1
- package/lib/models/relations.d.ts.map +1 -1
- package/lib/models/relations.js +0 -8
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-state.d.ts.map +1 -1
- package/lib/models/room-state.js +10 -26
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room.d.ts +0 -18
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +94 -148
- package/lib/models/room.js.map +1 -1
- package/lib/models/thread.d.ts.map +1 -1
- package/lib/models/thread.js +0 -1
- package/lib/models/thread.js.map +1 -1
- package/lib/sliding-sync-sdk.d.ts +2 -3
- package/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/lib/sliding-sync-sdk.js +41 -90
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sync.d.ts +0 -12
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +1 -73
- package/lib/sync.js.map +1 -1
- package/lib/testing.d.ts +0 -48
- package/lib/testing.d.ts.map +1 -1
- package/lib/testing.js +0 -105
- package/lib/testing.js.map +1 -1
- package/package.json +1 -3
- package/src/@types/global.d.ts +0 -3
- package/src/browser-index.ts +0 -11
- package/src/client.ts +57 -2732
- package/src/embedded.ts +3 -130
- package/src/event-mapper.ts +0 -4
- package/src/matrix.ts +0 -28
- package/src/models/MSC3089Branch.ts +0 -3
- package/src/models/event.ts +0 -289
- package/src/models/poll.ts +0 -6
- package/src/models/relations-container.ts +1 -8
- package/src/models/relations.ts +0 -8
- package/src/models/room-state.ts +2 -8
- package/src/models/room.ts +0 -62
- package/src/models/thread.ts +0 -1
- package/src/sliding-sync-sdk.ts +2 -72
- package/src/sync.ts +1 -98
- package/src/testing.ts +0 -108
- package/lib/@types/crypto.d.ts +0 -47
- package/lib/@types/crypto.d.ts.map +0 -1
- package/lib/@types/crypto.js +0 -1
- package/lib/@types/crypto.js.map +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
- package/lib/common-crypto/CryptoBackend.d.ts +0 -240
- package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
- package/lib/common-crypto/CryptoBackend.js +0 -73
- package/lib/common-crypto/CryptoBackend.js.map +0 -1
- package/lib/common-crypto/key-passphrase.d.ts +0 -14
- package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
- package/lib/common-crypto/key-passphrase.js +0 -33
- package/lib/common-crypto/key-passphrase.js.map +0 -1
- package/lib/crypto/CrossSigning.d.ts +0 -184
- package/lib/crypto/CrossSigning.d.ts.map +0 -1
- package/lib/crypto/CrossSigning.js +0 -718
- package/lib/crypto/CrossSigning.js.map +0 -1
- package/lib/crypto/DeviceList.d.ts +0 -216
- package/lib/crypto/DeviceList.d.ts.map +0 -1
- package/lib/crypto/DeviceList.js +0 -892
- package/lib/crypto/DeviceList.js.map +0 -1
- package/lib/crypto/EncryptionSetup.d.ts +0 -152
- package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
- package/lib/crypto/EncryptionSetup.js +0 -356
- package/lib/crypto/EncryptionSetup.js.map +0 -1
- package/lib/crypto/OlmDevice.d.ts +0 -457
- package/lib/crypto/OlmDevice.d.ts.map +0 -1
- package/lib/crypto/OlmDevice.js +0 -1241
- package/lib/crypto/OlmDevice.js.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
- package/lib/crypto/RoomList.d.ts +0 -26
- package/lib/crypto/RoomList.d.ts.map +0 -1
- package/lib/crypto/RoomList.js +0 -71
- package/lib/crypto/RoomList.js.map +0 -1
- package/lib/crypto/SecretSharing.d.ts +0 -24
- package/lib/crypto/SecretSharing.d.ts.map +0 -1
- package/lib/crypto/SecretSharing.js +0 -194
- package/lib/crypto/SecretSharing.js.map +0 -1
- package/lib/crypto/SecretStorage.d.ts +0 -55
- package/lib/crypto/SecretStorage.d.ts.map +0 -1
- package/lib/crypto/SecretStorage.js +0 -118
- package/lib/crypto/SecretStorage.js.map +0 -1
- package/lib/crypto/aes.d.ts +0 -6
- package/lib/crypto/aes.d.ts.map +0 -1
- package/lib/crypto/aes.js +0 -24
- package/lib/crypto/aes.js.map +0 -1
- package/lib/crypto/algorithms/base.d.ts +0 -156
- package/lib/crypto/algorithms/base.d.ts.map +0 -1
- package/lib/crypto/algorithms/base.js +0 -187
- package/lib/crypto/algorithms/base.js.map +0 -1
- package/lib/crypto/algorithms/index.d.ts +0 -4
- package/lib/crypto/algorithms/index.d.ts.map +0 -1
- package/lib/crypto/algorithms/index.js +0 -20
- package/lib/crypto/algorithms/index.js.map +0 -1
- package/lib/crypto/algorithms/megolm.d.ts +0 -385
- package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
- package/lib/crypto/algorithms/megolm.js +0 -1822
- package/lib/crypto/algorithms/megolm.js.map +0 -1
- package/lib/crypto/algorithms/olm.d.ts +0 -5
- package/lib/crypto/algorithms/olm.d.ts.map +0 -1
- package/lib/crypto/algorithms/olm.js +0 -299
- package/lib/crypto/algorithms/olm.js.map +0 -1
- package/lib/crypto/api.d.ts +0 -32
- package/lib/crypto/api.d.ts.map +0 -1
- package/lib/crypto/api.js +0 -22
- package/lib/crypto/api.js.map +0 -1
- package/lib/crypto/backup.d.ts +0 -227
- package/lib/crypto/backup.d.ts.map +0 -1
- package/lib/crypto/backup.js +0 -824
- package/lib/crypto/backup.js.map +0 -1
- package/lib/crypto/crypto.d.ts +0 -3
- package/lib/crypto/crypto.d.ts.map +0 -1
- package/lib/crypto/crypto.js +0 -19
- package/lib/crypto/crypto.js.map +0 -1
- package/lib/crypto/dehydration.d.ts +0 -34
- package/lib/crypto/dehydration.d.ts.map +0 -1
- package/lib/crypto/dehydration.js +0 -252
- package/lib/crypto/dehydration.js.map +0 -1
- package/lib/crypto/device-converter.d.ts +0 -9
- package/lib/crypto/device-converter.d.ts.map +0 -1
- package/lib/crypto/device-converter.js +0 -42
- package/lib/crypto/device-converter.js.map +0 -1
- package/lib/crypto/deviceinfo.d.ts +0 -99
- package/lib/crypto/deviceinfo.d.ts.map +0 -1
- package/lib/crypto/deviceinfo.js +0 -148
- package/lib/crypto/deviceinfo.js.map +0 -1
- package/lib/crypto/index.d.ts +0 -1209
- package/lib/crypto/index.d.ts.map +0 -1
- package/lib/crypto/index.js +0 -4097
- package/lib/crypto/index.js.map +0 -1
- package/lib/crypto/key_passphrase.d.ts +0 -14
- package/lib/crypto/key_passphrase.d.ts.map +0 -1
- package/lib/crypto/key_passphrase.js +0 -44
- package/lib/crypto/key_passphrase.js.map +0 -1
- package/lib/crypto/keybackup.d.ts +0 -18
- package/lib/crypto/keybackup.d.ts.map +0 -1
- package/lib/crypto/keybackup.js +0 -1
- package/lib/crypto/keybackup.js.map +0 -1
- package/lib/crypto/olmlib.d.ts +0 -129
- package/lib/crypto/olmlib.d.ts.map +0 -1
- package/lib/crypto/olmlib.js +0 -492
- package/lib/crypto/olmlib.js.map +0 -1
- package/lib/crypto/recoverykey.d.ts +0 -2
- package/lib/crypto/recoverykey.d.ts.map +0 -1
- package/lib/crypto/recoverykey.js +0 -19
- package/lib/crypto/recoverykey.js.map +0 -1
- package/lib/crypto/store/base.d.ts +0 -252
- package/lib/crypto/store/base.d.ts.map +0 -1
- package/lib/crypto/store/base.js +0 -64
- package/lib/crypto/store/base.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
- package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.js +0 -531
- package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
- package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
- package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/memory-crypto-store.js +0 -622
- package/lib/crypto/store/memory-crypto-store.js.map +0 -1
- package/lib/crypto/verification/Base.d.ts +0 -105
- package/lib/crypto/verification/Base.d.ts.map +0 -1
- package/lib/crypto/verification/Base.js +0 -372
- package/lib/crypto/verification/Base.js.map +0 -1
- package/lib/crypto/verification/Error.d.ts +0 -35
- package/lib/crypto/verification/Error.d.ts.map +0 -1
- package/lib/crypto/verification/Error.js +0 -86
- package/lib/crypto/verification/Error.js.map +0 -1
- package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
- package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
- package/lib/crypto/verification/IllegalMethod.js +0 -43
- package/lib/crypto/verification/IllegalMethod.js.map +0 -1
- package/lib/crypto/verification/QRCode.d.ts +0 -51
- package/lib/crypto/verification/QRCode.d.ts.map +0 -1
- package/lib/crypto/verification/QRCode.js +0 -277
- package/lib/crypto/verification/QRCode.js.map +0 -1
- package/lib/crypto/verification/SAS.d.ts +0 -27
- package/lib/crypto/verification/SAS.d.ts.map +0 -1
- package/lib/crypto/verification/SAS.js +0 -485
- package/lib/crypto/verification/SAS.js.map +0 -1
- package/lib/crypto/verification/SASDecimal.d.ts +0 -8
- package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
- package/lib/crypto/verification/SASDecimal.js +0 -34
- package/lib/crypto/verification/SASDecimal.js.map +0 -1
- package/lib/crypto/verification/request/Channel.d.ts +0 -18
- package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
- package/lib/crypto/verification/request/Channel.js +0 -1
- package/lib/crypto/verification/request/Channel.js.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.js +0 -351
- package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.js +0 -937
- package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
- package/lib/crypto-api/CryptoEvent.d.ts +0 -69
- package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEvent.js +0 -33
- package/lib/crypto-api/CryptoEvent.js.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
- package/lib/crypto-api/index.d.ts +0 -978
- package/lib/crypto-api/index.d.ts.map +0 -1
- package/lib/crypto-api/index.js +0 -304
- package/lib/crypto-api/index.js.map +0 -1
- package/lib/crypto-api/key-passphrase.d.ts +0 -11
- package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
- package/lib/crypto-api/key-passphrase.js +0 -51
- package/lib/crypto-api/key-passphrase.js.map +0 -1
- package/lib/crypto-api/keybackup.d.ts +0 -88
- package/lib/crypto-api/keybackup.d.ts.map +0 -1
- package/lib/crypto-api/keybackup.js +0 -1
- package/lib/crypto-api/keybackup.js.map +0 -1
- package/lib/crypto-api/recovery-key.d.ts +0 -11
- package/lib/crypto-api/recovery-key.d.ts.map +0 -1
- package/lib/crypto-api/recovery-key.js +0 -65
- package/lib/crypto-api/recovery-key.js.map +0 -1
- package/lib/crypto-api/verification.d.ts +0 -344
- package/lib/crypto-api/verification.d.ts.map +0 -1
- package/lib/crypto-api/verification.js +0 -91
- package/lib/crypto-api/verification.js.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
- package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
- package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousChannel.js +0 -1
- package/lib/rendezvous/RendezvousChannel.js.map +0 -1
- package/lib/rendezvous/RendezvousCode.d.ts +0 -9
- package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousCode.js +0 -1
- package/lib/rendezvous/RendezvousCode.js.map +0 -1
- package/lib/rendezvous/RendezvousError.d.ts +0 -6
- package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousError.js +0 -23
- package/lib/rendezvous/RendezvousError.js.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.js +0 -38
- package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
- package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
- package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousIntent.js +0 -22
- package/lib/rendezvous/RendezvousIntent.js.map +0 -1
- package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
- package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousTransport.js +0 -1
- package/lib/rendezvous/RendezvousTransport.js.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
- package/lib/rendezvous/channels/index.d.ts +0 -2
- package/lib/rendezvous/channels/index.d.ts.map +0 -1
- package/lib/rendezvous/channels/index.js +0 -18
- package/lib/rendezvous/channels/index.js.map +0 -1
- package/lib/rendezvous/index.d.ts +0 -10
- package/lib/rendezvous/index.d.ts.map +0 -1
- package/lib/rendezvous/index.js +0 -23
- package/lib/rendezvous/index.js.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
- package/lib/rendezvous/transports/index.d.ts +0 -2
- package/lib/rendezvous/transports/index.d.ts.map +0 -1
- package/lib/rendezvous/transports/index.js +0 -18
- package/lib/rendezvous/transports/index.js.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
- package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.js +0 -82
- package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.js +0 -299
- package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
- package/lib/rust-crypto/backup.d.ts +0 -254
- package/lib/rust-crypto/backup.d.ts.map +0 -1
- package/lib/rust-crypto/backup.js +0 -837
- package/lib/rust-crypto/backup.js.map +0 -1
- package/lib/rust-crypto/constants.d.ts +0 -3
- package/lib/rust-crypto/constants.d.ts.map +0 -1
- package/lib/rust-crypto/constants.js +0 -19
- package/lib/rust-crypto/constants.js.map +0 -1
- package/lib/rust-crypto/device-converter.d.ts +0 -28
- package/lib/rust-crypto/device-converter.d.ts.map +0 -1
- package/lib/rust-crypto/device-converter.js +0 -123
- package/lib/rust-crypto/device-converter.js.map +0 -1
- package/lib/rust-crypto/index.d.ts +0 -61
- package/lib/rust-crypto/index.d.ts.map +0 -1
- package/lib/rust-crypto/index.js +0 -152
- package/lib/rust-crypto/index.js.map +0 -1
- package/lib/rust-crypto/libolm_migration.d.ts +0 -81
- package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
- package/lib/rust-crypto/libolm_migration.js +0 -459
- package/lib/rust-crypto/libolm_migration.js.map +0 -1
- package/lib/rust-crypto/rust-crypto.d.ts +0 -556
- package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
- package/lib/rust-crypto/rust-crypto.js +0 -2016
- package/lib/rust-crypto/rust-crypto.js.map +0 -1
- package/lib/rust-crypto/secret-storage.d.ts +0 -22
- package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
- package/lib/rust-crypto/secret-storage.js +0 -63
- package/lib/rust-crypto/secret-storage.js.map +0 -1
- package/lib/rust-crypto/verification.d.ts +0 -319
- package/lib/rust-crypto/verification.d.ts.map +0 -1
- package/lib/rust-crypto/verification.js +0 -816
- package/lib/rust-crypto/verification.js.map +0 -1
- package/lib/secret-storage.d.ts +0 -370
- package/lib/secret-storage.d.ts.map +0 -1
- package/lib/secret-storage.js +0 -466
- package/lib/secret-storage.js.map +0 -1
- package/src/@types/crypto.ts +0 -73
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
- package/src/common-crypto/CryptoBackend.ts +0 -302
- package/src/common-crypto/README.md +0 -4
- package/src/common-crypto/key-passphrase.ts +0 -43
- package/src/crypto/CrossSigning.ts +0 -773
- package/src/crypto/DeviceList.ts +0 -989
- package/src/crypto/EncryptionSetup.ts +0 -351
- package/src/crypto/OlmDevice.ts +0 -1500
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
- package/src/crypto/RoomList.ts +0 -70
- package/src/crypto/SecretSharing.ts +0 -240
- package/src/crypto/SecretStorage.ts +0 -136
- package/src/crypto/aes.ts +0 -23
- package/src/crypto/algorithms/base.ts +0 -236
- package/src/crypto/algorithms/index.ts +0 -20
- package/src/crypto/algorithms/megolm.ts +0 -2216
- package/src/crypto/algorithms/olm.ts +0 -381
- package/src/crypto/api.ts +0 -70
- package/src/crypto/backup.ts +0 -922
- package/src/crypto/crypto.ts +0 -18
- package/src/crypto/dehydration.ts +0 -272
- package/src/crypto/device-converter.ts +0 -45
- package/src/crypto/deviceinfo.ts +0 -158
- package/src/crypto/index.ts +0 -4414
- package/src/crypto/key_passphrase.ts +0 -42
- package/src/crypto/keybackup.ts +0 -47
- package/src/crypto/olmlib.ts +0 -539
- package/src/crypto/recoverykey.ts +0 -18
- package/src/crypto/store/base.ts +0 -348
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
- package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
- package/src/crypto/store/localStorage-crypto-store.ts +0 -579
- package/src/crypto/store/memory-crypto-store.ts +0 -680
- package/src/crypto/verification/Base.ts +0 -409
- package/src/crypto/verification/Error.ts +0 -76
- package/src/crypto/verification/IllegalMethod.ts +0 -50
- package/src/crypto/verification/QRCode.ts +0 -310
- package/src/crypto/verification/SAS.ts +0 -494
- package/src/crypto/verification/SASDecimal.ts +0 -37
- package/src/crypto/verification/request/Channel.ts +0 -34
- package/src/crypto/verification/request/InRoomChannel.ts +0 -371
- package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
- package/src/crypto/verification/request/VerificationRequest.ts +0 -976
- package/src/crypto-api/CryptoEvent.ts +0 -93
- package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
- package/src/crypto-api/index.ts +0 -1175
- package/src/crypto-api/key-passphrase.ts +0 -58
- package/src/crypto-api/keybackup.ts +0 -115
- package/src/crypto-api/recovery-key.ts +0 -69
- package/src/crypto-api/verification.ts +0 -408
- package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
- package/src/rendezvous/RendezvousChannel.ts +0 -48
- package/src/rendezvous/RendezvousCode.ts +0 -25
- package/src/rendezvous/RendezvousError.ts +0 -26
- package/src/rendezvous/RendezvousFailureReason.ts +0 -49
- package/src/rendezvous/RendezvousIntent.ts +0 -20
- package/src/rendezvous/RendezvousTransport.ts +0 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
- package/src/rendezvous/channels/index.ts +0 -17
- package/src/rendezvous/index.ts +0 -25
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
- package/src/rendezvous/transports/index.ts +0 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
- package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
- package/src/rust-crypto/KeyClaimManager.ts +0 -86
- package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
- package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
- package/src/rust-crypto/RoomEncryptor.ts +0 -352
- package/src/rust-crypto/backup.ts +0 -881
- package/src/rust-crypto/constants.ts +0 -18
- package/src/rust-crypto/device-converter.ts +0 -128
- package/src/rust-crypto/index.ts +0 -237
- package/src/rust-crypto/libolm_migration.ts +0 -530
- package/src/rust-crypto/rust-crypto.ts +0 -2205
- package/src/rust-crypto/secret-storage.ts +0 -60
- package/src/rust-crypto/verification.ts +0 -830
- package/src/secret-storage.ts +0 -693
@@ -1,187 +0,0 @@
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
3
|
-
/*
|
4
|
-
Copyright 2016 - 2021 The Matrix.org Foundation C.I.C.
|
5
|
-
|
6
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
-
you may not use this file except in compliance with the License.
|
8
|
-
You may obtain a copy of the License at
|
9
|
-
|
10
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
|
12
|
-
Unless required by applicable law or agreed to in writing, software
|
13
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
-
See the License for the specific language governing permissions and
|
16
|
-
limitations under the License.
|
17
|
-
*/
|
18
|
-
|
19
|
-
/**
|
20
|
-
* Internal module. Defines the base classes of the encryption implementations
|
21
|
-
*/
|
22
|
-
|
23
|
-
/**
|
24
|
-
* Map of registered encryption algorithm classes. A map from string to {@link EncryptionAlgorithm} class
|
25
|
-
*/
|
26
|
-
export var ENCRYPTION_CLASSES = new Map();
|
27
|
-
/**
|
28
|
-
* map of registered encryption algorithm classes. Map from string to {@link DecryptionAlgorithm} class
|
29
|
-
*/
|
30
|
-
export var DECRYPTION_CLASSES = new Map();
|
31
|
-
/**
|
32
|
-
* base type for encryption implementations
|
33
|
-
*/
|
34
|
-
export class EncryptionAlgorithm {
|
35
|
-
/**
|
36
|
-
* @param params - parameters
|
37
|
-
*/
|
38
|
-
constructor(params) {
|
39
|
-
_defineProperty(this, "userId", void 0);
|
40
|
-
_defineProperty(this, "deviceId", void 0);
|
41
|
-
_defineProperty(this, "crypto", void 0);
|
42
|
-
_defineProperty(this, "olmDevice", void 0);
|
43
|
-
_defineProperty(this, "baseApis", void 0);
|
44
|
-
this.userId = params.userId;
|
45
|
-
this.deviceId = params.deviceId;
|
46
|
-
this.crypto = params.crypto;
|
47
|
-
this.olmDevice = params.olmDevice;
|
48
|
-
this.baseApis = params.baseApis;
|
49
|
-
}
|
50
|
-
|
51
|
-
/**
|
52
|
-
* Perform any background tasks that can be done before a message is ready to
|
53
|
-
* send, in order to speed up sending of the message.
|
54
|
-
*
|
55
|
-
* @param room - the room the event is in
|
56
|
-
*/
|
57
|
-
prepareToEncrypt(room) {}
|
58
|
-
|
59
|
-
/**
|
60
|
-
* Encrypt a message event
|
61
|
-
*
|
62
|
-
* @public
|
63
|
-
*
|
64
|
-
* @param content - event content
|
65
|
-
*
|
66
|
-
* @returns Promise which resolves to the new event body
|
67
|
-
*/
|
68
|
-
|
69
|
-
/**
|
70
|
-
* Called when the membership of a member of the room changes.
|
71
|
-
*
|
72
|
-
* @param event - event causing the change
|
73
|
-
* @param member - user whose membership changed
|
74
|
-
* @param oldMembership - previous membership
|
75
|
-
* @public
|
76
|
-
*/
|
77
|
-
onRoomMembership(event, member, oldMembership) {}
|
78
|
-
}
|
79
|
-
|
80
|
-
/**
|
81
|
-
* base type for decryption implementations
|
82
|
-
*/
|
83
|
-
export class DecryptionAlgorithm {
|
84
|
-
constructor(params) {
|
85
|
-
_defineProperty(this, "userId", void 0);
|
86
|
-
_defineProperty(this, "crypto", void 0);
|
87
|
-
_defineProperty(this, "olmDevice", void 0);
|
88
|
-
_defineProperty(this, "baseApis", void 0);
|
89
|
-
this.userId = params.userId;
|
90
|
-
this.crypto = params.crypto;
|
91
|
-
this.olmDevice = params.olmDevice;
|
92
|
-
this.baseApis = params.baseApis;
|
93
|
-
}
|
94
|
-
|
95
|
-
/**
|
96
|
-
* Decrypt an event
|
97
|
-
*
|
98
|
-
* @param event - undecrypted event
|
99
|
-
*
|
100
|
-
* @returns promise which
|
101
|
-
* resolves once we have finished decrypting. Rejects with an
|
102
|
-
* `algorithms.DecryptionError` if there is a problem decrypting the event.
|
103
|
-
*/
|
104
|
-
|
105
|
-
/**
|
106
|
-
* Handle a key event
|
107
|
-
*
|
108
|
-
* @param params - event key event
|
109
|
-
*/
|
110
|
-
onRoomKeyEvent(params) {
|
111
|
-
return _asyncToGenerator(function* () {})();
|
112
|
-
} // ignore by default
|
113
|
-
|
114
|
-
/**
|
115
|
-
* Import a room key
|
116
|
-
*
|
117
|
-
* @param opts - object
|
118
|
-
*/
|
119
|
-
importRoomKey(session, opts) {
|
120
|
-
return _asyncToGenerator(function* () {})();
|
121
|
-
} // ignore by default
|
122
|
-
|
123
|
-
/**
|
124
|
-
* Determine if we have the keys necessary to respond to a room key request
|
125
|
-
*
|
126
|
-
* @returns true if we have the keys and could (theoretically) share
|
127
|
-
* them; else false.
|
128
|
-
*/
|
129
|
-
hasKeysForKeyRequest(keyRequest) {
|
130
|
-
return Promise.resolve(false);
|
131
|
-
}
|
132
|
-
|
133
|
-
/**
|
134
|
-
* Send the response to a room key request
|
135
|
-
*
|
136
|
-
*/
|
137
|
-
shareKeysWithDevice(keyRequest) {
|
138
|
-
throw new Error("shareKeysWithDevice not supported for this DecryptionAlgorithm");
|
139
|
-
}
|
140
|
-
|
141
|
-
/**
|
142
|
-
* Retry decrypting all the events from a sender that haven't been
|
143
|
-
* decrypted yet.
|
144
|
-
*
|
145
|
-
* @param senderKey - the sender's key
|
146
|
-
*/
|
147
|
-
retryDecryptionFromSender(senderKey) {
|
148
|
-
return _asyncToGenerator(function* () {
|
149
|
-
// ignore by default
|
150
|
-
return false;
|
151
|
-
})();
|
152
|
-
}
|
153
|
-
}
|
154
|
-
export class UnknownDeviceError extends Error {
|
155
|
-
/**
|
156
|
-
* Exception thrown specifically when we want to warn the user to consider
|
157
|
-
* the security of their conversation before continuing
|
158
|
-
*
|
159
|
-
* @param msg - message describing the problem
|
160
|
-
* @param devices - set of unknown devices per user we're warning about
|
161
|
-
*/
|
162
|
-
constructor(msg, devices, event) {
|
163
|
-
super(msg);
|
164
|
-
this.devices = devices;
|
165
|
-
this.event = event;
|
166
|
-
this.name = "UnknownDeviceError";
|
167
|
-
this.devices = devices;
|
168
|
-
}
|
169
|
-
}
|
170
|
-
|
171
|
-
/**
|
172
|
-
* Registers an encryption/decryption class for a particular algorithm
|
173
|
-
*
|
174
|
-
* @param algorithm - algorithm tag to register for
|
175
|
-
*
|
176
|
-
* @param encryptor - {@link EncryptionAlgorithm} implementation
|
177
|
-
*
|
178
|
-
* @param decryptor - {@link DecryptionAlgorithm} implementation
|
179
|
-
*/
|
180
|
-
export function registerAlgorithm(algorithm, encryptor, decryptor) {
|
181
|
-
ENCRYPTION_CLASSES.set(algorithm, encryptor);
|
182
|
-
DECRYPTION_CLASSES.set(algorithm, decryptor);
|
183
|
-
}
|
184
|
-
|
185
|
-
/* Re-export for backwards compatibility. Deprecated: this is an internal class. */
|
186
|
-
export { DecryptionError } from "../../common-crypto/CryptoBackend.js";
|
187
|
-
//# sourceMappingURL=base.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"base.js","names":["ENCRYPTION_CLASSES","Map","DECRYPTION_CLASSES","EncryptionAlgorithm","constructor","params","_defineProperty","userId","deviceId","crypto","olmDevice","baseApis","prepareToEncrypt","room","onRoomMembership","event","member","oldMembership","DecryptionAlgorithm","onRoomKeyEvent","_asyncToGenerator","importRoomKey","session","opts","hasKeysForKeyRequest","keyRequest","Promise","resolve","shareKeysWithDevice","Error","retryDecryptionFromSender","senderKey","UnknownDeviceError","msg","devices","name","registerAlgorithm","algorithm","encryptor","decryptor","set","DecryptionError"],"sources":["../../../src/crypto/algorithms/base.ts"],"sourcesContent":["/*\nCopyright 2016 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Internal module. Defines the base classes of the encryption implementations\n */\n\nimport type { IMegolmSessionData } from \"../../@types/crypto.ts\";\nimport { MatrixClient } from \"../../client.ts\";\nimport { Room } from \"../../models/room.ts\";\nimport { OlmDevice } from \"../OlmDevice.ts\";\nimport { IContent, MatrixEvent, RoomMember } from \"../../matrix.ts\";\nimport { Crypto, IEncryptedContent, IEventDecryptionResult, IncomingRoomKeyRequest } from \"../index.ts\";\nimport { DeviceInfo } from \"../deviceinfo.ts\";\nimport { IRoomEncryption } from \"../RoomList.ts\";\nimport { DeviceInfoMap } from \"../DeviceList.ts\";\n\n/**\n * Map of registered encryption algorithm classes. A map from string to {@link EncryptionAlgorithm} class\n */\nexport const ENCRYPTION_CLASSES = new Map<string, new (params: IParams) => EncryptionAlgorithm>();\n\nexport type DecryptionClassParams<P extends IParams = IParams> = Omit<P, \"deviceId\" | \"config\">;\n\n/**\n * map of registered encryption algorithm classes. Map from string to {@link DecryptionAlgorithm} class\n */\nexport const DECRYPTION_CLASSES = new Map<string, new (params: DecryptionClassParams) => DecryptionAlgorithm>();\n\nexport interface IParams {\n /** The UserID for the local user */\n userId: string;\n /** The identifier for this device. */\n deviceId: string;\n /** crypto core */\n crypto: Crypto;\n /** olm.js wrapper */\n olmDevice: OlmDevice;\n /** base matrix api interface */\n baseApis: MatrixClient;\n /** The ID of the room we will be sending to */\n roomId?: string;\n /** The body of the m.room.encryption event */\n config: IRoomEncryption & object;\n}\n\n/**\n * base type for encryption implementations\n */\nexport abstract class EncryptionAlgorithm {\n protected readonly userId: string;\n protected readonly deviceId: string;\n protected readonly crypto: Crypto;\n protected readonly olmDevice: OlmDevice;\n protected readonly baseApis: MatrixClient;\n\n /**\n * @param params - parameters\n */\n public constructor(params: IParams) {\n this.userId = params.userId;\n this.deviceId = params.deviceId;\n this.crypto = params.crypto;\n this.olmDevice = params.olmDevice;\n this.baseApis = params.baseApis;\n }\n\n /**\n * Perform any background tasks that can be done before a message is ready to\n * send, in order to speed up sending of the message.\n *\n * @param room - the room the event is in\n */\n public prepareToEncrypt(room: Room): void {}\n\n /**\n * Encrypt a message event\n *\n * @public\n *\n * @param content - event content\n *\n * @returns Promise which resolves to the new event body\n */\n public abstract encryptMessage(room: Room, eventType: string, content: IContent): Promise<IEncryptedContent>;\n\n /**\n * Called when the membership of a member of the room changes.\n *\n * @param event - event causing the change\n * @param member - user whose membership changed\n * @param oldMembership - previous membership\n * @public\n */\n public onRoomMembership(event: MatrixEvent, member: RoomMember, oldMembership?: string): void {}\n\n public reshareKeyWithDevice?(\n senderKey: string,\n sessionId: string,\n userId: string,\n device: DeviceInfo,\n ): Promise<void>;\n\n public forceDiscardSession?(): void;\n}\n\n/**\n * base type for decryption implementations\n */\nexport abstract class DecryptionAlgorithm {\n protected readonly userId: string;\n protected readonly crypto: Crypto;\n protected readonly olmDevice: OlmDevice;\n protected readonly baseApis: MatrixClient;\n\n public constructor(params: DecryptionClassParams) {\n this.userId = params.userId;\n this.crypto = params.crypto;\n this.olmDevice = params.olmDevice;\n this.baseApis = params.baseApis;\n }\n\n /**\n * Decrypt an event\n *\n * @param event - undecrypted event\n *\n * @returns promise which\n * resolves once we have finished decrypting. Rejects with an\n * `algorithms.DecryptionError` if there is a problem decrypting the event.\n */\n public abstract decryptEvent(event: MatrixEvent): Promise<IEventDecryptionResult>;\n\n /**\n * Handle a key event\n *\n * @param params - event key event\n */\n public async onRoomKeyEvent(params: MatrixEvent): Promise<void> {\n // ignore by default\n }\n\n /**\n * Import a room key\n *\n * @param opts - object\n */\n public async importRoomKey(session: IMegolmSessionData, opts: object): Promise<void> {\n // ignore by default\n }\n\n /**\n * Determine if we have the keys necessary to respond to a room key request\n *\n * @returns true if we have the keys and could (theoretically) share\n * them; else false.\n */\n public hasKeysForKeyRequest(keyRequest: IncomingRoomKeyRequest): Promise<boolean> {\n return Promise.resolve(false);\n }\n\n /**\n * Send the response to a room key request\n *\n */\n public shareKeysWithDevice(keyRequest: IncomingRoomKeyRequest): void {\n throw new Error(\"shareKeysWithDevice not supported for this DecryptionAlgorithm\");\n }\n\n /**\n * Retry decrypting all the events from a sender that haven't been\n * decrypted yet.\n *\n * @param senderKey - the sender's key\n */\n public async retryDecryptionFromSender(senderKey: string): Promise<boolean> {\n // ignore by default\n return false;\n }\n\n public onRoomKeyWithheldEvent?(event: MatrixEvent): Promise<void>;\n public sendSharedHistoryInboundSessions?(devicesByUser: Map<string, DeviceInfo[]>): Promise<void>;\n}\n\nexport class UnknownDeviceError extends Error {\n /**\n * Exception thrown specifically when we want to warn the user to consider\n * the security of their conversation before continuing\n *\n * @param msg - message describing the problem\n * @param devices - set of unknown devices per user we're warning about\n */\n public constructor(\n msg: string,\n public readonly devices: DeviceInfoMap,\n public event?: MatrixEvent,\n ) {\n super(msg);\n this.name = \"UnknownDeviceError\";\n this.devices = devices;\n }\n}\n\n/**\n * Registers an encryption/decryption class for a particular algorithm\n *\n * @param algorithm - algorithm tag to register for\n *\n * @param encryptor - {@link EncryptionAlgorithm} implementation\n *\n * @param decryptor - {@link DecryptionAlgorithm} implementation\n */\nexport function registerAlgorithm<P extends IParams = IParams>(\n algorithm: string,\n encryptor: new (params: P) => EncryptionAlgorithm,\n decryptor: new (params: DecryptionClassParams<P>) => DecryptionAlgorithm,\n): void {\n ENCRYPTION_CLASSES.set(algorithm, encryptor as new (params: IParams) => EncryptionAlgorithm);\n DECRYPTION_CLASSES.set(algorithm, decryptor as new (params: DecryptionClassParams) => DecryptionAlgorithm);\n}\n\n/* Re-export for backwards compatibility. Deprecated: this is an internal class. */\nexport { DecryptionError } from \"../../common-crypto/CryptoBackend.ts\";\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/algorithms/index.ts"],"names":[],"mappings":"AAgBA,OAAO,UAAU,CAAC;AAClB,OAAO,aAAa,CAAC;AAErB,cAAc,WAAW,CAAC"}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
Copyright 2016 - 2021 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 "./olm.js";
|
18
|
-
import "./megolm.js";
|
19
|
-
export * from "./base.js";
|
20
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../src/crypto/algorithms/index.ts"],"sourcesContent":["/*\nCopyright 2016 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport \"./olm.ts\";\nimport \"./megolm.ts\";\n\nexport * from \"./base.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,UAAU;AACjB,OAAO,aAAa;AAEpB,cAAc,WAAW","ignoreList":[]}
|
@@ -1,385 +0,0 @@
|
|
1
|
-
import type { IEventDecryptionResult, IMegolmSessionData } from "../../@types/crypto.ts";
|
2
|
-
import { DecryptionAlgorithm, DecryptionClassParams, EncryptionAlgorithm, IParams } from "./base.ts";
|
3
|
-
import { Room } from "../../models/room.ts";
|
4
|
-
import { DeviceInfo } from "../deviceinfo.ts";
|
5
|
-
import { IContent, MatrixEvent } from "../../models/event.ts";
|
6
|
-
import { IMegolmEncryptedContent, IncomingRoomKeyRequest } from "../index.ts";
|
7
|
-
export declare function isRoomSharedHistory(room: Room): boolean;
|
8
|
-
export interface IOlmDevice<T = DeviceInfo> {
|
9
|
-
userId: string;
|
10
|
-
deviceInfo: T;
|
11
|
-
}
|
12
|
-
export interface IOutboundGroupSessionKey {
|
13
|
-
chain_index: number;
|
14
|
-
key: string;
|
15
|
-
}
|
16
|
-
/**
|
17
|
-
* Megolm encryption implementation
|
18
|
-
*
|
19
|
-
* @param params - parameters, as per {@link EncryptionAlgorithm}
|
20
|
-
*/
|
21
|
-
export declare class MegolmEncryption extends EncryptionAlgorithm {
|
22
|
-
private setupPromise;
|
23
|
-
private outboundSessions;
|
24
|
-
private readonly sessionRotationPeriodMsgs;
|
25
|
-
private readonly sessionRotationPeriodMs;
|
26
|
-
private encryptionPreparation?;
|
27
|
-
protected readonly roomId: string;
|
28
|
-
private readonly prefixedLogger;
|
29
|
-
constructor(params: IParams & Required<Pick<IParams, "roomId">>);
|
30
|
-
/**
|
31
|
-
* @internal
|
32
|
-
*
|
33
|
-
* @param devicesInRoom - The devices in this room, indexed by user ID
|
34
|
-
* @param blocked - The devices that are blocked, indexed by user ID
|
35
|
-
* @param singleOlmCreationPhase - Only perform one round of olm
|
36
|
-
* session creation
|
37
|
-
*
|
38
|
-
* This method updates the setupPromise field of the class by chaining a new
|
39
|
-
* call on top of the existing promise, and then catching and discarding any
|
40
|
-
* errors that might happen while setting up the outbound group session. This
|
41
|
-
* is done to ensure that `setupPromise` always resolves to `null` or the
|
42
|
-
* `OutboundSessionInfo`.
|
43
|
-
*
|
44
|
-
* Using `>>=` to represent the promise chaining operation, it does the
|
45
|
-
* following:
|
46
|
-
*
|
47
|
-
* ```
|
48
|
-
* setupPromise = previousSetupPromise >>= setup >>= discardErrors
|
49
|
-
* ```
|
50
|
-
*
|
51
|
-
* The initial value for the `setupPromise` is a promise that resolves to
|
52
|
-
* `null`. The forceDiscardSession() resets setupPromise to this initial
|
53
|
-
* promise.
|
54
|
-
*
|
55
|
-
* @returns Promise which resolves to the
|
56
|
-
* OutboundSessionInfo when setup is complete.
|
57
|
-
*/
|
58
|
-
private ensureOutboundSession;
|
59
|
-
private prepareSession;
|
60
|
-
private shareSession;
|
61
|
-
/**
|
62
|
-
* @internal
|
63
|
-
*
|
64
|
-
*
|
65
|
-
* @returns session
|
66
|
-
*/
|
67
|
-
private prepareNewSession;
|
68
|
-
/**
|
69
|
-
* Determines what devices in devicesByUser don't have an olm session as given
|
70
|
-
* in devicemap.
|
71
|
-
*
|
72
|
-
* @internal
|
73
|
-
*
|
74
|
-
* @param deviceMap - the devices that have olm sessions, as returned by
|
75
|
-
* olmlib.ensureOlmSessionsForDevices.
|
76
|
-
* @param devicesByUser - a map of user IDs to array of deviceInfo
|
77
|
-
* @param noOlmDevices - an array to fill with devices that don't have
|
78
|
-
* olm sessions
|
79
|
-
*
|
80
|
-
* @returns an array of devices that don't have olm sessions. If
|
81
|
-
* noOlmDevices is specified, then noOlmDevices will be returned.
|
82
|
-
*/
|
83
|
-
private getDevicesWithoutSessions;
|
84
|
-
/**
|
85
|
-
* Splits the user device map into multiple chunks to reduce the number of
|
86
|
-
* devices we encrypt to per API call.
|
87
|
-
*
|
88
|
-
* @internal
|
89
|
-
*
|
90
|
-
* @param devicesByUser - map from userid to list of devices
|
91
|
-
*
|
92
|
-
* @returns the blocked devices, split into chunks
|
93
|
-
*/
|
94
|
-
private splitDevices;
|
95
|
-
/**
|
96
|
-
* @internal
|
97
|
-
*
|
98
|
-
*
|
99
|
-
* @param chainIndex - current chain index
|
100
|
-
*
|
101
|
-
* @param userDeviceMap - mapping from userId to deviceInfo
|
102
|
-
*
|
103
|
-
* @param payload - fields to include in the encrypted payload
|
104
|
-
*
|
105
|
-
* @returns Promise which resolves once the key sharing
|
106
|
-
* for the given userDeviceMap is generated and has been sent.
|
107
|
-
*/
|
108
|
-
private encryptAndSendKeysToDevices;
|
109
|
-
/**
|
110
|
-
* @internal
|
111
|
-
*
|
112
|
-
*
|
113
|
-
* @param userDeviceMap - list of blocked devices to notify
|
114
|
-
*
|
115
|
-
* @param payload - fields to include in the notification payload
|
116
|
-
*
|
117
|
-
* @returns Promise which resolves once the notifications
|
118
|
-
* for the given userDeviceMap is generated and has been sent.
|
119
|
-
*/
|
120
|
-
private sendBlockedNotificationsToDevices;
|
121
|
-
/**
|
122
|
-
* Re-shares a megolm session key with devices if the key has already been
|
123
|
-
* sent to them.
|
124
|
-
*
|
125
|
-
* @param senderKey - The key of the originating device for the session
|
126
|
-
* @param sessionId - ID of the outbound session to share
|
127
|
-
* @param userId - ID of the user who owns the target device
|
128
|
-
* @param device - The target device
|
129
|
-
*/
|
130
|
-
reshareKeyWithDevice(senderKey: string, sessionId: string, userId: string, device: DeviceInfo): Promise<void>;
|
131
|
-
/**
|
132
|
-
* @internal
|
133
|
-
*
|
134
|
-
*
|
135
|
-
* @param key - the session key as returned by
|
136
|
-
* OlmDevice.getOutboundGroupSessionKey
|
137
|
-
*
|
138
|
-
* @param payload - the base to-device message payload for sharing keys
|
139
|
-
*
|
140
|
-
* @param devicesByUser - map from userid to list of devices
|
141
|
-
*
|
142
|
-
* @param errorDevices - array that will be populated with the devices that we can't get an
|
143
|
-
* olm session for
|
144
|
-
*
|
145
|
-
* @param otkTimeout - The timeout in milliseconds when requesting
|
146
|
-
* one-time keys for establishing new olm sessions.
|
147
|
-
*
|
148
|
-
* @param failedServers - An array to fill with remote servers that
|
149
|
-
* failed to respond to one-time-key requests.
|
150
|
-
*/
|
151
|
-
private shareKeyWithDevices;
|
152
|
-
private shareKeyWithOlmSessions;
|
153
|
-
/**
|
154
|
-
* Notify devices that we weren't able to create olm sessions.
|
155
|
-
*
|
156
|
-
*
|
157
|
-
*
|
158
|
-
* @param failedDevices - the devices that we were unable to
|
159
|
-
* create olm sessions for, as returned by shareKeyWithDevices
|
160
|
-
*/
|
161
|
-
private notifyFailedOlmDevices;
|
162
|
-
/**
|
163
|
-
* Notify blocked devices that they have been blocked.
|
164
|
-
*
|
165
|
-
*
|
166
|
-
* @param devicesByUser - map from userid to device ID to blocked data
|
167
|
-
*/
|
168
|
-
private notifyBlockedDevices;
|
169
|
-
/**
|
170
|
-
* Perform any background tasks that can be done before a message is ready to
|
171
|
-
* send, in order to speed up sending of the message.
|
172
|
-
*
|
173
|
-
* @param room - the room the event is in
|
174
|
-
* @returns A function that, when called, will stop the preparation
|
175
|
-
*/
|
176
|
-
prepareToEncrypt(room: Room): () => void;
|
177
|
-
/**
|
178
|
-
* @param content - plaintext event content
|
179
|
-
*
|
180
|
-
* @returns Promise which resolves to the new event body
|
181
|
-
*/
|
182
|
-
encryptMessage(room: Room, eventType: string, content: IContent): Promise<IMegolmEncryptedContent>;
|
183
|
-
private isVerificationEvent;
|
184
|
-
/**
|
185
|
-
* Forces the current outbound group session to be discarded such
|
186
|
-
* that another one will be created next time an event is sent.
|
187
|
-
*
|
188
|
-
* This should not normally be necessary.
|
189
|
-
*/
|
190
|
-
forceDiscardSession(): void;
|
191
|
-
/**
|
192
|
-
* Checks the devices we're about to send to and see if any are entirely
|
193
|
-
* unknown to the user. If so, warn the user, and mark them as known to
|
194
|
-
* give the user a chance to go verify them before re-sending this message.
|
195
|
-
*
|
196
|
-
* @param devicesInRoom - `userId -> {deviceId -> object}`
|
197
|
-
* devices we should shared the session with.
|
198
|
-
*/
|
199
|
-
private checkForUnknownDevices;
|
200
|
-
/**
|
201
|
-
* Remove unknown devices from a set of devices. The devicesInRoom parameter
|
202
|
-
* will be modified.
|
203
|
-
*
|
204
|
-
* @param devicesInRoom - `userId -> {deviceId -> object}`
|
205
|
-
* devices we should shared the session with.
|
206
|
-
*/
|
207
|
-
private removeUnknownDevices;
|
208
|
-
/**
|
209
|
-
* Get the list of unblocked devices for all users in the room
|
210
|
-
*
|
211
|
-
* @param forceDistributeToUnverified - if set to true will include the unverified devices
|
212
|
-
* even if setting is set to block them (useful for verification)
|
213
|
-
* @param isCancelled - will cause the procedure to abort early if and when it starts
|
214
|
-
* returning `true`. If omitted, cancellation won't happen.
|
215
|
-
*
|
216
|
-
* @returns Promise which resolves to `null`, or an array whose
|
217
|
-
* first element is a {@link DeviceInfoMap} indicating
|
218
|
-
* the devices that messages should be encrypted to, and whose second
|
219
|
-
* element is a map from userId to deviceId to data indicating the devices
|
220
|
-
* that are in the room but that have been blocked.
|
221
|
-
* If `isCancelled` is provided and returns `true` while processing, `null`
|
222
|
-
* will be returned.
|
223
|
-
* If `isCancelled` is not provided, the Promise will never resolve to `null`.
|
224
|
-
*/
|
225
|
-
private getDevicesInRoom;
|
226
|
-
}
|
227
|
-
/**
|
228
|
-
* Megolm decryption implementation
|
229
|
-
*
|
230
|
-
* @param params - parameters, as per {@link DecryptionAlgorithm}
|
231
|
-
*/
|
232
|
-
export declare class MegolmDecryption extends DecryptionAlgorithm {
|
233
|
-
private pendingEvents;
|
234
|
-
private olmlib;
|
235
|
-
protected readonly roomId: string;
|
236
|
-
private readonly prefixedLogger;
|
237
|
-
constructor(params: DecryptionClassParams<IParams & Required<Pick<IParams, "roomId">>>);
|
238
|
-
/**
|
239
|
-
* returns a promise which resolves to a
|
240
|
-
* {@link EventDecryptionResult} once we have finished
|
241
|
-
* decrypting, or rejects with an `algorithms.DecryptionError` if there is a
|
242
|
-
* problem decrypting the event.
|
243
|
-
*/
|
244
|
-
decryptEvent(event: MatrixEvent): Promise<IEventDecryptionResult>;
|
245
|
-
private requestKeysForEvent;
|
246
|
-
/**
|
247
|
-
* Add an event to the list of those awaiting their session keys.
|
248
|
-
*
|
249
|
-
* @internal
|
250
|
-
*
|
251
|
-
*/
|
252
|
-
private addEventToPendingList;
|
253
|
-
/**
|
254
|
-
* Remove an event from the list of those awaiting their session keys.
|
255
|
-
*
|
256
|
-
* @internal
|
257
|
-
*
|
258
|
-
*/
|
259
|
-
private removeEventFromPendingList;
|
260
|
-
/**
|
261
|
-
* Parse a RoomKey out of an `m.room_key` event.
|
262
|
-
*
|
263
|
-
* @param event - the event containing the room key.
|
264
|
-
*
|
265
|
-
* @returns The `RoomKey` if it could be successfully parsed out of the
|
266
|
-
* event.
|
267
|
-
*
|
268
|
-
* @internal
|
269
|
-
*
|
270
|
-
*/
|
271
|
-
private roomKeyFromEvent;
|
272
|
-
/**
|
273
|
-
* Parse a RoomKey out of an `m.forwarded_room_key` event.
|
274
|
-
*
|
275
|
-
* @param event - the event containing the forwarded room key.
|
276
|
-
*
|
277
|
-
* @returns The `RoomKey` if it could be successfully parsed out of the
|
278
|
-
* event.
|
279
|
-
*
|
280
|
-
* @internal
|
281
|
-
*
|
282
|
-
*/
|
283
|
-
private forwardedRoomKeyFromEvent;
|
284
|
-
/**
|
285
|
-
* Determine if we should accept the forwarded room key that was found in the given
|
286
|
-
* event.
|
287
|
-
*
|
288
|
-
* @param event - An `m.forwarded_room_key` event.
|
289
|
-
* @param roomKey - The room key that was found in the event.
|
290
|
-
*
|
291
|
-
* @returns promise that will resolve to a boolean telling us if it's ok to
|
292
|
-
* accept the given forwarded room key.
|
293
|
-
*
|
294
|
-
* @internal
|
295
|
-
*
|
296
|
-
*/
|
297
|
-
private shouldAcceptForwardedKey;
|
298
|
-
/**
|
299
|
-
* Did we ever request the given room key from the event sender and its
|
300
|
-
* accompanying device.
|
301
|
-
*
|
302
|
-
* @param event - An `m.forwarded_room_key` event.
|
303
|
-
* @param roomKey - The room key that was found in the event.
|
304
|
-
*
|
305
|
-
* @internal
|
306
|
-
*
|
307
|
-
*/
|
308
|
-
private wasRoomKeyRequested;
|
309
|
-
private wasRoomKeyForwardedByInviter;
|
310
|
-
private wasRoomKeyForwardedAsHistory;
|
311
|
-
/**
|
312
|
-
* Check if a forwarded room key should be parked.
|
313
|
-
*
|
314
|
-
* A forwarded room key should be parked if it's a key for a room we're not
|
315
|
-
* in. We park the forwarded room key in case *this sender* invites us to
|
316
|
-
* that room later.
|
317
|
-
*/
|
318
|
-
private shouldParkForwardedKey;
|
319
|
-
/**
|
320
|
-
* Park the given room key to our store.
|
321
|
-
*
|
322
|
-
* @param event - An `m.forwarded_room_key` event.
|
323
|
-
* @param roomKey - The room key that was found in the event.
|
324
|
-
*
|
325
|
-
* @internal
|
326
|
-
*
|
327
|
-
*/
|
328
|
-
private parkForwardedKey;
|
329
|
-
/**
|
330
|
-
* Add the given room key to our store.
|
331
|
-
*
|
332
|
-
* @param roomKey - The room key that should be added to the store.
|
333
|
-
*
|
334
|
-
* @internal
|
335
|
-
*
|
336
|
-
*/
|
337
|
-
private addRoomKey;
|
338
|
-
/**
|
339
|
-
* Handle room keys that have been forwarded to us as an
|
340
|
-
* `m.forwarded_room_key` event.
|
341
|
-
*
|
342
|
-
* Forwarded room keys need special handling since we have no way of knowing
|
343
|
-
* who the original creator of the room key was. This naturally means that
|
344
|
-
* forwarded room keys are always untrusted and should only be accepted in
|
345
|
-
* some cases.
|
346
|
-
*
|
347
|
-
* @param event - An `m.forwarded_room_key` event.
|
348
|
-
*
|
349
|
-
* @internal
|
350
|
-
*
|
351
|
-
*/
|
352
|
-
private onForwardedRoomKey;
|
353
|
-
onRoomKeyEvent(event: MatrixEvent): Promise<void>;
|
354
|
-
/**
|
355
|
-
* @param event - key event
|
356
|
-
*/
|
357
|
-
onRoomKeyWithheldEvent(event: MatrixEvent): Promise<void>;
|
358
|
-
private onNoOlmWithheldEvent;
|
359
|
-
hasKeysForKeyRequest(keyRequest: IncomingRoomKeyRequest): Promise<boolean>;
|
360
|
-
shareKeysWithDevice(keyRequest: IncomingRoomKeyRequest): void;
|
361
|
-
private buildKeyForwardingMessage;
|
362
|
-
/**
|
363
|
-
* @param untrusted - whether the key should be considered as untrusted
|
364
|
-
* @param source - where the key came from
|
365
|
-
*/
|
366
|
-
importRoomKey(session: IMegolmSessionData, { untrusted, source }?: {
|
367
|
-
untrusted?: boolean;
|
368
|
-
source?: string;
|
369
|
-
}): Promise<void>;
|
370
|
-
/**
|
371
|
-
* Have another go at decrypting events after we receive a key. Resolves once
|
372
|
-
* decryption has been re-attempted on all events.
|
373
|
-
*
|
374
|
-
* @internal
|
375
|
-
* @param forceRedecryptIfUntrusted - whether messages that were already
|
376
|
-
* successfully decrypted using untrusted keys should be re-decrypted
|
377
|
-
*
|
378
|
-
* @returns whether all messages were successfully
|
379
|
-
* decrypted with trusted keys
|
380
|
-
*/
|
381
|
-
private retryDecryption;
|
382
|
-
retryDecryptionFromSender(senderKey: string): Promise<boolean>;
|
383
|
-
sendSharedHistoryInboundSessions(devicesByUser: Map<string, DeviceInfo[]>): Promise<void>;
|
384
|
-
}
|
385
|
-
//# sourceMappingURL=megolm.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"megolm.d.ts","sourceRoot":"","sources":["../../../src/crypto/algorithms/megolm.ts"],"names":[],"mappings":"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"}
|