@protontech/drive-sdk 0.14.10 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/cache/index.d.ts +1 -1
- package/dist/cache/memoryCache.d.ts +1 -1
- package/dist/cache/nullCache.d.ts +1 -1
- package/dist/crypto/driveCrypto.d.ts +7 -11
- package/dist/crypto/driveCrypto.js +35 -38
- package/dist/crypto/driveCrypto.js.map +1 -1
- package/dist/crypto/driveCrypto.test.js +1 -21
- package/dist/crypto/driveCrypto.test.js.map +1 -1
- package/dist/crypto/index.d.ts +2 -4
- package/dist/crypto/index.js +3 -6
- package/dist/crypto/index.js.map +1 -1
- package/dist/crypto/interface.d.ts +3 -35
- package/dist/crypto/interface.js +0 -7
- package/dist/crypto/interface.js.map +1 -1
- package/dist/crypto/openPGPCrypto.d.ts +10 -106
- package/dist/crypto/openPGPCrypto.js +2 -4
- package/dist/crypto/openPGPCrypto.js.map +1 -1
- package/dist/diagnostic/index.d.ts +1 -1
- package/dist/diagnostic/index.js +1 -1
- package/dist/diagnostic/index.js.map +1 -1
- package/dist/diagnostic/integrityVerificationStream.js +1 -2
- package/dist/diagnostic/integrityVerificationStream.js.map +1 -1
- package/dist/diagnostic/interface.d.ts +1 -1
- package/dist/diagnostic/nodeUtils.d.ts +1 -1
- package/dist/diagnostic/sdkDiagnosticBase.d.ts +2 -2
- package/dist/diagnostic/sdkDiagnosticBase.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticMain.js +1 -1
- package/dist/diagnostic/sdkDiagnosticMain.js.map +1 -1
- package/dist/diagnostic/sdkDiagnosticPhotos.js +1 -1
- package/dist/diagnostic/sdkDiagnosticPhotos.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/interface/account.d.ts +1 -1
- package/dist/interface/devices.d.ts +1 -1
- package/dist/interface/index.d.ts +15 -15
- package/dist/interface/index.js +7 -7
- package/dist/interface/index.js.map +1 -1
- package/dist/interface/nodes.d.ts +1 -1
- package/dist/interface/photos.d.ts +1 -1
- package/dist/interface/sharing.d.ts +2 -2
- package/dist/internal/apiService/apiService.js +1 -1
- package/dist/internal/apiService/apiService.js.map +1 -1
- package/dist/internal/apiService/coreTypes.d.ts +8552 -7249
- package/dist/internal/apiService/driveTypes.d.ts +47 -92
- package/dist/internal/apiService/errors.test.js +1 -1
- package/dist/internal/apiService/errors.test.js.map +1 -1
- package/dist/internal/apiService/index.d.ts +4 -4
- package/dist/internal/apiService/index.js +5 -5
- package/dist/internal/apiService/index.js.map +1 -1
- package/dist/internal/apiService/transformers.d.ts +1 -1
- package/dist/internal/devices/index.d.ts +1 -1
- package/dist/internal/devices/manager.test.js +1 -1
- package/dist/internal/devices/manager.test.js.map +1 -1
- package/dist/internal/download/cryptoService.js +3 -2
- package/dist/internal/download/cryptoService.js.map +1 -1
- package/dist/internal/download/fileDownloader.js +8 -7
- package/dist/internal/download/fileDownloader.js.map +1 -1
- package/dist/internal/download/fileDownloader.test.js +1 -1
- package/dist/internal/download/fileDownloader.test.js.map +1 -1
- package/dist/internal/download/index.d.ts +2 -2
- package/dist/internal/download/index.js +1 -1
- package/dist/internal/download/index.js.map +1 -1
- package/dist/internal/download/interface.d.ts +1 -1
- package/dist/internal/download/telemetry.js +2 -3
- package/dist/internal/download/telemetry.js.map +1 -1
- package/dist/internal/download/telemetry.test.js +5 -0
- package/dist/internal/download/telemetry.test.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.d.ts +1 -1
- package/dist/internal/download/thumbnailDownloader.js +1 -1
- package/dist/internal/download/thumbnailDownloader.js.map +1 -1
- package/dist/internal/download/thumbnailDownloader.test.js.map +1 -1
- package/dist/internal/errors.d.ts +1 -0
- package/dist/internal/errors.js +11 -0
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/events/coreEventManager.test.js +1 -1
- package/dist/internal/events/coreEventManager.test.js.map +1 -1
- package/dist/internal/events/eventManager.d.ts +1 -1
- package/dist/internal/events/eventManager.js +1 -0
- package/dist/internal/events/eventManager.js.map +1 -1
- package/dist/internal/events/index.js +1 -1
- package/dist/internal/events/index.js.map +1 -1
- package/dist/internal/events/interface.d.ts +8 -0
- package/dist/internal/events/interface.js.map +1 -1
- package/dist/internal/events/volumeEventManager.js +1 -1
- package/dist/internal/events/volumeEventManager.js.map +1 -1
- package/dist/internal/events/volumeEventManager.test.js +1 -1
- package/dist/internal/events/volumeEventManager.test.js.map +1 -1
- package/dist/internal/nodes/apiService.d.ts +10 -4
- package/dist/internal/nodes/apiService.js +6 -2
- package/dist/internal/nodes/apiService.js.map +1 -1
- package/dist/internal/nodes/apiService.test.js +6 -2
- package/dist/internal/nodes/apiService.test.js.map +1 -1
- package/dist/internal/nodes/cache.d.ts +1 -1
- package/dist/internal/nodes/cryptoCache.d.ts +1 -1
- package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
- package/dist/internal/nodes/cryptoReporter.d.ts +1 -1
- package/dist/internal/nodes/cryptoService.d.ts +2 -2
- package/dist/internal/nodes/cryptoService.js +2 -2
- package/dist/internal/nodes/cryptoService.js.map +1 -1
- package/dist/internal/nodes/cryptoService.test.js +1 -1
- package/dist/internal/nodes/cryptoService.test.js.map +1 -1
- package/dist/internal/nodes/events.test.js.map +1 -1
- package/dist/internal/nodes/index.d.ts +4 -4
- package/dist/internal/nodes/index.js +2 -2
- package/dist/internal/nodes/index.js.map +1 -1
- package/dist/internal/nodes/index.test.js +3 -3
- package/dist/internal/nodes/index.test.js.map +1 -1
- package/dist/internal/nodes/interface.d.ts +1 -1
- package/dist/internal/nodes/nodesAccess.d.ts +2 -2
- package/dist/internal/nodes/nodesAccess.js +3 -3
- package/dist/internal/nodes/nodesAccess.js.map +1 -1
- package/dist/internal/nodes/nodesAccess.test.js +2 -2
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.d.ts +1 -1
- package/dist/internal/nodes/nodesManagement.js +2 -2
- package/dist/internal/nodes/nodesManagement.js.map +1 -1
- package/dist/internal/nodes/nodesManagement.test.js +6 -6
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
- package/dist/internal/nodes/nodesRevisions.d.ts +1 -1
- package/dist/internal/nodes/nodesRevisions.js.map +1 -1
- package/dist/internal/photos/addToAlbum.d.ts +1 -1
- package/dist/internal/photos/addToAlbum.js.map +1 -1
- package/dist/internal/photos/albumsCrypto.js.map +1 -1
- package/dist/internal/photos/albumsManager.test.js +1 -1
- package/dist/internal/photos/albumsManager.test.js.map +1 -1
- package/dist/internal/photos/apiService.js +1 -1
- package/dist/internal/photos/index.d.ts +2 -2
- package/dist/internal/photos/index.js +5 -5
- package/dist/internal/photos/index.js.map +1 -1
- package/dist/internal/photos/interface.d.ts +2 -2
- package/dist/internal/photos/nodes.d.ts +2 -2
- package/dist/internal/photos/nodes.js +11 -1
- package/dist/internal/photos/nodes.js.map +1 -1
- package/dist/internal/photos/nodes.test.js +17 -3
- package/dist/internal/photos/nodes.test.js.map +1 -1
- package/dist/internal/photos/photosManager.d.ts +1 -1
- package/dist/internal/photos/photosManager.js +1 -1
- package/dist/internal/photos/photosManager.js.map +1 -1
- package/dist/internal/photos/photosManager.test.js +1 -1
- package/dist/internal/photos/photosManager.test.js.map +1 -1
- package/dist/internal/photos/photosTransferPayloadBuilder.test.js.map +1 -1
- package/dist/internal/photos/timeline.test.js.map +1 -1
- package/dist/internal/photos/upload.d.ts +1 -1
- package/dist/internal/shares/apiService.d.ts +1 -1
- package/dist/internal/shares/cache.d.ts +1 -1
- package/dist/internal/shares/cryptoCache.test.js.map +1 -1
- package/dist/internal/shares/cryptoService.d.ts +2 -2
- package/dist/internal/shares/cryptoService.js +1 -1
- package/dist/internal/shares/cryptoService.js.map +1 -1
- package/dist/internal/shares/cryptoService.test.js +1 -1
- package/dist/internal/shares/cryptoService.test.js.map +1 -1
- package/dist/internal/shares/index.d.ts +2 -2
- package/dist/internal/shares/index.js +1 -1
- package/dist/internal/shares/index.js.map +1 -1
- package/dist/internal/shares/manager.d.ts +2 -2
- package/dist/internal/shares/manager.js.map +1 -1
- package/dist/internal/sharing/apiService.d.ts +2 -2
- package/dist/internal/sharing/cryptoService.d.ts +2 -3
- package/dist/internal/sharing/cryptoService.js +10 -31
- package/dist/internal/sharing/cryptoService.js.map +1 -1
- package/dist/internal/sharing/cryptoService.test.js.map +1 -1
- package/dist/internal/sharing/index.d.ts +3 -3
- package/dist/internal/sharing/index.js +1 -1
- package/dist/internal/sharing/index.js.map +1 -1
- package/dist/internal/sharing/interface.d.ts +2 -2
- package/dist/internal/sharing/sharingAccess.d.ts +1 -1
- package/dist/internal/sharing/sharingAccess.js +1 -1
- package/dist/internal/sharing/sharingAccess.js.map +1 -1
- package/dist/internal/sharing/sharingAccess.test.js +1 -1
- package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.d.ts +3 -3
- package/dist/internal/sharing/sharingManagement.js +1 -1
- package/dist/internal/sharing/sharingManagement.js.map +1 -1
- package/dist/internal/sharing/sharingManagement.test.js +2 -2
- package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.d.ts +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.js +1 -1
- package/dist/internal/sharingPublic/cryptoReporter.js.map +1 -1
- package/dist/internal/sharingPublic/index.d.ts +2 -2
- package/dist/internal/sharingPublic/index.js +3 -3
- package/dist/internal/sharingPublic/index.js.map +1 -1
- package/dist/internal/sharingPublic/nodes.d.ts +4 -4
- package/dist/internal/sharingPublic/nodes.js +4 -1
- package/dist/internal/sharingPublic/nodes.js.map +1 -1
- package/dist/internal/sharingPublic/session/apiService.d.ts +1 -1
- package/dist/internal/sharingPublic/session/manager.d.ts +1 -1
- package/dist/internal/upload/apiService.d.ts +1 -1
- package/dist/internal/upload/apiService.js +13 -6
- package/dist/internal/upload/apiService.js.map +1 -1
- package/dist/internal/upload/cryptoService.d.ts +1 -1
- package/dist/internal/upload/cryptoService.js +5 -4
- package/dist/internal/upload/cryptoService.js.map +1 -1
- package/dist/internal/upload/fileUploader.test.js +1 -1
- package/dist/internal/upload/fileUploader.test.js.map +1 -1
- package/dist/internal/upload/index.d.ts +2 -2
- package/dist/internal/upload/index.js.map +1 -1
- package/dist/internal/upload/interface.d.ts +1 -1
- package/dist/internal/upload/manager.d.ts +1 -1
- package/dist/internal/upload/manager.js +1 -1
- package/dist/internal/upload/manager.js.map +1 -1
- package/dist/internal/upload/smallFileUploader.test.js +1 -1
- package/dist/internal/upload/smallFileUploader.test.js.map +1 -1
- package/dist/internal/upload/streamUploader.d.ts +3 -3
- package/dist/internal/upload/streamUploader.js +1 -1
- package/dist/internal/upload/streamUploader.js.map +1 -1
- package/dist/internal/upload/streamUploader.test.js +2 -2
- package/dist/internal/upload/streamUploader.test.js.map +1 -1
- package/dist/internal/upload/telemetry.d.ts +1 -1
- package/dist/internal/upload/telemetry.js +2 -3
- package/dist/internal/upload/telemetry.js.map +1 -1
- package/dist/internal/upload/telemetry.test.js +5 -0
- package/dist/internal/upload/telemetry.test.js.map +1 -1
- package/dist/polyfill.d.ts +1 -0
- package/dist/polyfill.js +4 -0
- package/dist/polyfill.js.map +1 -0
- package/dist/protonDriveClient.d.ts +1 -1
- package/dist/protonDriveClient.js +3 -3
- package/dist/protonDriveClient.js.map +1 -1
- package/dist/protonDrivePhotosClient.d.ts +7 -1
- package/dist/protonDrivePhotosClient.js +13 -4
- package/dist/protonDrivePhotosClient.js.map +1 -1
- package/dist/protonDrivePublicLinkClient.d.ts +3 -3
- package/dist/protonDrivePublicLinkClient.js +3 -3
- package/dist/protonDrivePublicLinkClient.js.map +1 -1
- package/dist/transformers.d.ts +1 -1
- package/package.json +8 -4
- package/src/cache/index.ts +1 -1
- package/src/cache/memoryCache.ts +1 -1
- package/src/cache/nullCache.ts +1 -1
- package/src/crypto/driveCrypto.test.ts +1 -24
- package/src/crypto/driveCrypto.ts +37 -35
- package/src/crypto/index.ts +2 -4
- package/src/crypto/interface.ts +3 -49
- package/src/crypto/openPGPCrypto.ts +4 -88
- package/src/diagnostic/index.ts +3 -3
- package/src/diagnostic/integrityVerificationStream.ts +1 -2
- package/src/diagnostic/interface.ts +1 -1
- package/src/diagnostic/nodeUtils.ts +1 -1
- package/src/diagnostic/sdkDiagnosticBase.ts +6 -6
- package/src/diagnostic/sdkDiagnosticMain.ts +2 -2
- package/src/diagnostic/sdkDiagnosticPhotos.ts +2 -2
- package/src/diagnostic/telemetry.ts +1 -1
- package/src/index.ts +4 -3
- package/src/interface/account.ts +1 -1
- package/src/interface/devices.ts +1 -1
- package/src/interface/index.ts +40 -40
- package/src/interface/nodes.ts +1 -1
- package/src/interface/photos.ts +1 -1
- package/src/interface/sharing.ts +2 -2
- package/src/internal/apiService/apiService.test.ts +2 -2
- package/src/internal/apiService/apiService.ts +3 -3
- package/src/internal/apiService/coreTypes.ts +8641 -7349
- package/src/internal/apiService/driveTypes.ts +47 -92
- package/src/internal/apiService/errors.test.ts +2 -2
- package/src/internal/apiService/index.ts +4 -4
- package/src/internal/apiService/transformers.ts +1 -1
- package/src/internal/devices/index.ts +1 -1
- package/src/internal/devices/manager.test.ts +2 -2
- package/src/internal/download/cryptoService.ts +6 -11
- package/src/internal/download/fileDownloader.test.ts +3 -3
- package/src/internal/download/fileDownloader.ts +8 -6
- package/src/internal/download/index.ts +3 -3
- package/src/internal/download/interface.ts +1 -1
- package/src/internal/download/seekableStream.test.ts +1 -1
- package/src/internal/download/telemetry.test.ts +7 -1
- package/src/internal/download/telemetry.ts +4 -7
- package/src/internal/download/thumbnailDownloader.test.ts +1 -1
- package/src/internal/download/thumbnailDownloader.ts +2 -2
- package/src/internal/errors.ts +15 -0
- package/src/internal/events/apiService.ts +2 -2
- package/src/internal/events/coreEventManager.test.ts +1 -1
- package/src/internal/events/eventManager.ts +2 -1
- package/src/internal/events/index.ts +2 -2
- package/src/internal/events/interface.ts +8 -0
- package/src/internal/events/volumeEventManager.test.ts +1 -1
- package/src/internal/events/volumeEventManager.ts +1 -1
- package/src/internal/nodes/apiService.test.ts +8 -3
- package/src/internal/nodes/apiService.ts +22 -7
- package/src/internal/nodes/cache.test.ts +1 -1
- package/src/internal/nodes/cache.ts +1 -1
- package/src/internal/nodes/cryptoCache.test.ts +1 -1
- package/src/internal/nodes/cryptoCache.ts +1 -1
- package/src/internal/nodes/cryptoReporter.ts +4 -4
- package/src/internal/nodes/cryptoService.test.ts +2 -2
- package/src/internal/nodes/cryptoService.ts +14 -15
- package/src/internal/nodes/events.test.ts +1 -1
- package/src/internal/nodes/extendedAttributes.test.ts +3 -3
- package/src/internal/nodes/index.test.ts +8 -8
- package/src/internal/nodes/index.ts +6 -6
- package/src/internal/nodes/interface.ts +6 -6
- package/src/internal/nodes/nodeName.test.ts +1 -1
- package/src/internal/nodes/nodesAccess.test.ts +3 -3
- package/src/internal/nodes/nodesAccess.ts +6 -6
- package/src/internal/nodes/nodesManagement.test.ts +4 -4
- package/src/internal/nodes/nodesManagement.ts +6 -6
- package/src/internal/nodes/nodesRevisions.ts +1 -1
- package/src/internal/photos/addToAlbum.ts +1 -1
- package/src/internal/photos/albumsCrypto.ts +1 -0
- package/src/internal/photos/albumsManager.test.ts +2 -2
- package/src/internal/photos/apiService.ts +1 -1
- package/src/internal/photos/index.ts +7 -7
- package/src/internal/photos/interface.ts +2 -2
- package/src/internal/photos/nodes.test.ts +22 -6
- package/src/internal/photos/nodes.ts +16 -9
- package/src/internal/photos/photosManager.test.ts +5 -5
- package/src/internal/photos/photosManager.ts +4 -4
- package/src/internal/photos/photosTransferPayloadBuilder.test.ts +1 -1
- package/src/internal/photos/timeline.test.ts +1 -1
- package/src/internal/photos/upload.ts +3 -3
- package/src/internal/sdkEvents.ts +1 -1
- package/src/internal/shares/apiService.ts +1 -1
- package/src/internal/shares/cache.ts +1 -1
- package/src/internal/shares/cryptoCache.test.ts +1 -1
- package/src/internal/shares/cryptoService.test.ts +1 -1
- package/src/internal/shares/cryptoService.ts +8 -8
- package/src/internal/shares/index.ts +5 -5
- package/src/internal/shares/manager.ts +2 -2
- package/src/internal/sharing/apiService.ts +10 -10
- package/src/internal/sharing/cryptoService.test.ts +1 -1
- package/src/internal/sharing/cryptoService.ts +12 -37
- package/src/internal/sharing/events.test.ts +2 -2
- package/src/internal/sharing/index.ts +3 -3
- package/src/internal/sharing/interface.ts +2 -2
- package/src/internal/sharing/sharingAccess.test.ts +4 -4
- package/src/internal/sharing/sharingAccess.ts +3 -3
- package/src/internal/sharing/sharingManagement.test.ts +4 -4
- package/src/internal/sharing/sharingManagement.ts +9 -9
- package/src/internal/sharingPublic/cryptoReporter.ts +7 -7
- package/src/internal/sharingPublic/index.ts +6 -6
- package/src/internal/sharingPublic/nodes.ts +7 -4
- package/src/internal/sharingPublic/session/apiService.ts +1 -1
- package/src/internal/sharingPublic/session/manager.ts +1 -1
- package/src/internal/upload/apiService.ts +17 -8
- package/src/internal/upload/cryptoService.ts +8 -6
- package/src/internal/upload/fileUploader.test.ts +4 -4
- package/src/internal/upload/index.ts +3 -3
- package/src/internal/upload/interface.ts +1 -2
- package/src/internal/upload/manager.ts +4 -4
- package/src/internal/upload/smallFileUploader.test.ts +4 -4
- package/src/internal/upload/streamUploader.test.ts +5 -5
- package/src/internal/upload/streamUploader.ts +4 -4
- package/src/internal/upload/telemetry.test.ts +7 -1
- package/src/internal/upload/telemetry.ts +5 -8
- package/src/polyfill.ts +1 -0
- package/src/protonDriveClient.ts +32 -32
- package/src/protonDrivePhotosClient.ts +42 -32
- package/src/protonDrivePublicLinkClient.ts +25 -25
- package/src/transformers.ts +9 -9
- package/dist/crypto/hmac.d.ts +0 -22
- package/dist/crypto/hmac.js +0 -44
- package/dist/crypto/hmac.js.map +0 -1
- package/dist/crypto/utils.d.ts +0 -2
- package/dist/crypto/utils.js +0 -35
- package/dist/crypto/utils.js.map +0 -1
- package/src/crypto/hmac.ts +0 -46
- package/src/crypto/utils.ts +0 -40
|
@@ -1,97 +1,13 @@
|
|
|
1
1
|
import { c } from 'ttag';
|
|
2
2
|
|
|
3
|
-
import { OpenPGPCrypto, PrivateKey, PublicKey, SessionKey
|
|
4
|
-
import { uint8ArrayToBase64String } from './utils';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Interface matching CryptoProxy interface from client's monorepo:
|
|
8
|
-
* clients/packages/crypto/lib/proxy/proxy.ts.
|
|
9
|
-
*/
|
|
10
|
-
export interface OpenPGPCryptoProxy {
|
|
11
|
-
generateKey: (options: {
|
|
12
|
-
userIDs: { name: string }[];
|
|
13
|
-
type: 'ecc';
|
|
14
|
-
curve: 'ed25519Legacy';
|
|
15
|
-
config?: { aeadProtect: boolean };
|
|
16
|
-
}) => Promise<PrivateKey>;
|
|
17
|
-
exportPrivateKey: (options: { privateKey: PrivateKey; passphrase: string | null }) => Promise<string>;
|
|
18
|
-
importPrivateKey: (options: { armoredKey: string; passphrase: string | null }) => Promise<PrivateKey>;
|
|
19
|
-
generateSessionKey: (options: {
|
|
20
|
-
recipientKeys: PublicKey[];
|
|
21
|
-
config?: { ignoreSEIPDv2FeatureFlag: boolean };
|
|
22
|
-
}) => Promise<SessionKey>;
|
|
23
|
-
encryptSessionKey: (
|
|
24
|
-
options: SessionKey & {
|
|
25
|
-
format: 'binary';
|
|
26
|
-
encryptionKeys?: PublicKey | PublicKey[];
|
|
27
|
-
passwords?: string[];
|
|
28
|
-
},
|
|
29
|
-
) => Promise<Uint8Array<ArrayBuffer>>;
|
|
30
|
-
decryptSessionKey: (options: {
|
|
31
|
-
armoredMessage?: string;
|
|
32
|
-
binaryMessage?: Uint8Array<ArrayBuffer>;
|
|
33
|
-
decryptionKeys: PrivateKey | PrivateKey[];
|
|
34
|
-
}) => Promise<SessionKey | undefined>;
|
|
35
|
-
encryptMessage: <Format extends 'armored' | 'binary' = 'armored', Detached extends boolean = false>(options: {
|
|
36
|
-
format?: Format;
|
|
37
|
-
binaryData: Uint8Array<ArrayBuffer>;
|
|
38
|
-
sessionKey?: SessionKey;
|
|
39
|
-
encryptionKeys: PublicKey[];
|
|
40
|
-
signingKeys?: PrivateKey;
|
|
41
|
-
detached?: Detached;
|
|
42
|
-
compress?: boolean;
|
|
43
|
-
config?: { ignoreSEIPDv2FeatureFlag: boolean };
|
|
44
|
-
}) => Promise<
|
|
45
|
-
Detached extends true
|
|
46
|
-
? {
|
|
47
|
-
message: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
48
|
-
signature: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
49
|
-
}
|
|
50
|
-
: {
|
|
51
|
-
message: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
52
|
-
}
|
|
53
|
-
>;
|
|
54
|
-
decryptMessage: <Format extends 'utf8' | 'binary' = 'utf8'>(options: {
|
|
55
|
-
format: Format;
|
|
56
|
-
armoredMessage?: string;
|
|
57
|
-
binaryMessage?: Uint8Array<ArrayBuffer>;
|
|
58
|
-
armoredSignature?: string;
|
|
59
|
-
binarySignature?: Uint8Array<ArrayBuffer>;
|
|
60
|
-
sessionKeys?: SessionKey;
|
|
61
|
-
passwords?: string[];
|
|
62
|
-
decryptionKeys?: PrivateKey | PrivateKey[];
|
|
63
|
-
verificationKeys?: PublicKey | PublicKey[];
|
|
64
|
-
}) => Promise<{
|
|
65
|
-
data: Format extends 'binary' ? Uint8Array<ArrayBuffer> : string;
|
|
66
|
-
verificationStatus: VERIFICATION_STATUS;
|
|
67
|
-
verificationErrors?: Error[];
|
|
68
|
-
}>;
|
|
69
|
-
signMessage: <Format extends 'binary' | 'armored' = 'armored'>(options: {
|
|
70
|
-
format: Format;
|
|
71
|
-
binaryData: Uint8Array<ArrayBuffer>;
|
|
72
|
-
signingKeys: PrivateKey | PrivateKey[];
|
|
73
|
-
detached: boolean;
|
|
74
|
-
signatureContext?: { critical: boolean; value: string };
|
|
75
|
-
}) => Promise<Format extends 'binary' ? Uint8Array<ArrayBuffer> : string>;
|
|
76
|
-
verifyMessage: (options: {
|
|
77
|
-
binaryData: Uint8Array<ArrayBuffer>;
|
|
78
|
-
armoredSignature?: string;
|
|
79
|
-
binarySignature?: Uint8Array<ArrayBuffer>;
|
|
80
|
-
verificationKeys: PublicKey | PublicKey[];
|
|
81
|
-
signatureContext?: { required: boolean; value: string };
|
|
82
|
-
}) => Promise<{
|
|
83
|
-
verificationStatus: VERIFICATION_STATUS;
|
|
84
|
-
errors?: Error[];
|
|
85
|
-
}>;
|
|
86
|
-
}
|
|
3
|
+
import type { CryptoApiInterface, OpenPGPCrypto, PrivateKey, PublicKey, SessionKey } from './interface';
|
|
87
4
|
|
|
88
5
|
/**
|
|
89
6
|
* Implementation of OpenPGPCrypto interface using CryptoProxy from clients
|
|
90
|
-
* monorepo that must be passed as dependency.
|
|
91
|
-
* will be published separately and this implementation will use it directly.
|
|
7
|
+
* monorepo that must be passed as dependency.
|
|
92
8
|
*/
|
|
93
9
|
export class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
94
|
-
constructor(private cryptoProxy:
|
|
10
|
+
constructor(private cryptoProxy: CryptoApiInterface) {
|
|
95
11
|
this.cryptoProxy = cryptoProxy;
|
|
96
12
|
}
|
|
97
13
|
|
|
@@ -99,7 +15,7 @@ export class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
|
99
15
|
const value = crypto.getRandomValues(new Uint8Array(32));
|
|
100
16
|
// TODO: Once all clients can use non-ascii bytes, switch to simple
|
|
101
17
|
// generating of random bytes without encoding it into base64.
|
|
102
|
-
return
|
|
18
|
+
return value.toBase64();
|
|
103
19
|
}
|
|
104
20
|
|
|
105
21
|
async generateSessionKey(encryptionKeys: PublicKey[], options: { enableAeadWithEncryptionKeys: boolean }) {
|
package/src/diagnostic/index.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { MemoryCache, NullCache } from '../cache';
|
|
2
2
|
import { ProtonDriveClientContructorParameters } from '../interface';
|
|
3
3
|
import { ProtonDriveClient } from '../protonDriveClient';
|
|
4
|
+
import { ProtonDrivePhotosClient } from '../protonDrivePhotosClient';
|
|
4
5
|
import { Diagnostic as DiagnosticClass } from './diagnostic';
|
|
5
|
-
import { Diagnostic } from './interface';
|
|
6
6
|
import { DiagnosticHTTPClient } from './httpClient';
|
|
7
|
+
import { Diagnostic } from './interface';
|
|
7
8
|
import { DiagnosticTelemetry } from './telemetry';
|
|
8
|
-
import { ProtonDrivePhotosClient } from '../protonDrivePhotosClient';
|
|
9
9
|
|
|
10
10
|
export type {
|
|
11
11
|
Diagnostic,
|
|
12
12
|
DiagnosticOptions,
|
|
13
|
-
ExpectedTreeNode,
|
|
14
13
|
DiagnosticProgressCallback,
|
|
15
14
|
DiagnosticResult,
|
|
15
|
+
ExpectedTreeNode,
|
|
16
16
|
} from './interface';
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { sha1 } from '@noble/hashes/legacy';
|
|
2
|
-
import { bytesToHex } from '@noble/hashes/utils';
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* A WritableStream that computes SHA1 hash on the fly.
|
|
@@ -23,7 +22,7 @@ export class IntegrityVerificationStream extends WritableStream<Uint8Array> {
|
|
|
23
22
|
},
|
|
24
23
|
close: () => {
|
|
25
24
|
if (!this._isClosed) {
|
|
26
|
-
this._computedSha1 =
|
|
25
|
+
this._computedSha1 = this.sha1Hash.digest().toHex();
|
|
27
26
|
this._isClosed = true;
|
|
28
27
|
}
|
|
29
28
|
},
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { Author, FileDownloader, MaybeNode, NodeOrUid, NodeType,
|
|
1
|
+
import { Author, FileDownloader, MaybeNode, NodeOrUid, NodeType, ThumbnailResult, ThumbnailType } from '../interface';
|
|
2
2
|
import { isProtonDocument, isProtonSheet } from '../internal/nodes/mediaTypes';
|
|
3
|
+
import { IntegrityVerificationStream } from './integrityVerificationStream';
|
|
3
4
|
import {
|
|
4
5
|
DiagnosticOptions,
|
|
6
|
+
DiagnosticProgressCallback,
|
|
5
7
|
DiagnosticResult,
|
|
6
8
|
ExpectedTreeNode,
|
|
7
|
-
DiagnosticProgressCallback,
|
|
8
9
|
} from './interface';
|
|
9
|
-
import { IntegrityVerificationStream } from './integrityVerificationStream';
|
|
10
10
|
import {
|
|
11
|
-
getNodeType,
|
|
12
|
-
getNodeDetails,
|
|
13
11
|
getActiveRevision,
|
|
14
|
-
getMediaType,
|
|
15
12
|
getExpectedTreeNodeDetails,
|
|
13
|
+
getMediaType,
|
|
14
|
+
getNodeDetails,
|
|
16
15
|
getNodeName,
|
|
16
|
+
getNodeType,
|
|
17
17
|
} from './nodeUtils';
|
|
18
18
|
|
|
19
19
|
const PROGRESS_REPORT_INTERVAL = 500;
|
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
ExpectedTreeNode,
|
|
8
8
|
TreeNode,
|
|
9
9
|
} from './interface';
|
|
10
|
-
import {
|
|
11
|
-
import { getNodeType, getNodeName, getTreeNodeChildByNodeName, getActiveRevision } from './nodeUtils';
|
|
10
|
+
import { getActiveRevision, getNodeName, getNodeType, getTreeNodeChildByNodeName } from './nodeUtils';
|
|
12
11
|
import { SDKDiagnosticBase } from './sdkDiagnosticBase';
|
|
12
|
+
import { zipGenerators } from './zipGenerators';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Diagnostic tool that uses the main Drive SDK to traverse and verify
|
|
@@ -7,9 +7,9 @@ import {
|
|
|
7
7
|
ExpectedTreeNode,
|
|
8
8
|
TreeNode,
|
|
9
9
|
} from './interface';
|
|
10
|
-
import {
|
|
11
|
-
import { getNodeName, getTreeNodeChildByNodeName, getActiveRevision, getNodeType } from './nodeUtils';
|
|
10
|
+
import { getActiveRevision, getNodeName, getNodeType, getTreeNodeChildByNodeName } from './nodeUtils';
|
|
12
11
|
import { SDKDiagnosticBase } from './sdkDiagnosticBase';
|
|
12
|
+
import { zipGenerators } from './zipGenerators';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Diagnostic tool that uses the Photos SDK to traverse and verify
|
package/src/index.ts
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
import { makeNodeUid } from './internal/uids';
|
|
6
6
|
|
|
7
|
-
export * from './interface';
|
|
8
7
|
export * from './cache';
|
|
9
|
-
export
|
|
10
|
-
export type { OpenPGPCrypto, OpenPGPCryptoProxy } from './crypto';
|
|
8
|
+
export type { OpenPGPCrypto } from './crypto';
|
|
11
9
|
export { OpenPGPCryptoWithCryptoProxy } from './crypto';
|
|
10
|
+
export * from './errors';
|
|
12
11
|
export { NullFeatureFlagProvider } from './featureFlags';
|
|
12
|
+
export * from './interface';
|
|
13
|
+
export type { EventSubscription } from './internal/events';
|
|
13
14
|
export { ProtonDriveClient } from './protonDriveClient';
|
|
14
15
|
export { VERSION } from './version';
|
|
15
16
|
|
package/src/interface/account.ts
CHANGED
|
@@ -28,7 +28,7 @@ export interface ProtonDriveAccount {
|
|
|
28
28
|
*
|
|
29
29
|
* Does not throw if there is no public key for given email, but returns empty array.
|
|
30
30
|
*
|
|
31
|
-
* @param forceRefresh If true, bypasses the cache and fetches fresh keys from the API.
|
|
31
|
+
* @param forceRefresh - If true, bypasses the cache and fetches fresh keys from the API.
|
|
32
32
|
* @throws Error Only if there is an error while fetching keys.
|
|
33
33
|
*/
|
|
34
34
|
getPublicKeys(email: string, forceRefresh?: boolean): Promise<PublicKey[]>;
|
package/src/interface/devices.ts
CHANGED
package/src/interface/index.ts
CHANGED
|
@@ -5,99 +5,99 @@ import { ProtonDriveAccount } from './account';
|
|
|
5
5
|
import { ProtonDriveConfig } from './config';
|
|
6
6
|
import { FeatureFlagProvider } from './featureFlags';
|
|
7
7
|
import { ProtonDriveHTTPClient } from './httpClient';
|
|
8
|
-
import {
|
|
8
|
+
import { MetricEvent, Telemetry } from './telemetry';
|
|
9
9
|
|
|
10
|
-
export type { Result } from './result';
|
|
11
|
-
export { resultOk, resultError } from './result';
|
|
12
10
|
export type { ProtonDriveAccount, ProtonDriveAccountAddress } from './account';
|
|
13
|
-
export type { Author, UnverifiedAuthorError
|
|
11
|
+
export type { AnonymousUser, Author, UnverifiedAuthorError } from './author';
|
|
14
12
|
export type { ProtonDriveConfig } from './config';
|
|
15
13
|
export type { Device, DeviceOrUid } from './devices';
|
|
16
|
-
export type { FeatureFlagProvider } from './featureFlags';
|
|
17
|
-
export { FeatureFlags } from './featureFlags';
|
|
18
14
|
export { DeviceType } from './devices';
|
|
19
|
-
export type {
|
|
15
|
+
export type { DownloadController, FileDownloader, SeekableReadableStream } from './download';
|
|
20
16
|
export type {
|
|
17
|
+
DriveEvent,
|
|
21
18
|
DriveListener,
|
|
19
|
+
FastForwardEvent,
|
|
22
20
|
LatestEventIdProvider,
|
|
23
|
-
DriveEvent,
|
|
24
21
|
NodeEvent,
|
|
25
|
-
|
|
22
|
+
SharedWithMeUpdated,
|
|
26
23
|
TreeRefreshEvent,
|
|
27
24
|
TreeRemovalEvent,
|
|
28
|
-
SharedWithMeUpdated,
|
|
29
25
|
} from './events';
|
|
30
26
|
export { DriveEventType, SDKEvent } from './events';
|
|
27
|
+
export type { FeatureFlagProvider } from './featureFlags';
|
|
28
|
+
export { FeatureFlags } from './featureFlags';
|
|
31
29
|
export type {
|
|
32
30
|
ProtonDriveHTTPClient,
|
|
33
|
-
ProtonDriveHTTPClientJsonRequest,
|
|
34
31
|
ProtonDriveHTTPClientBlobRequest,
|
|
32
|
+
ProtonDriveHTTPClientJsonRequest,
|
|
35
33
|
} from './httpClient';
|
|
36
34
|
export type {
|
|
37
|
-
MaybeNode,
|
|
38
|
-
NodeEntity,
|
|
39
35
|
DegradedNode,
|
|
36
|
+
InvalidNameError,
|
|
40
37
|
MaybeMissingNode,
|
|
38
|
+
MaybeNode,
|
|
39
|
+
Membership,
|
|
41
40
|
MissingNode,
|
|
42
|
-
|
|
43
|
-
Revision,
|
|
41
|
+
NodeEntity,
|
|
44
42
|
NodeOrUid,
|
|
45
|
-
RevisionOrUid,
|
|
46
43
|
NodeResult,
|
|
47
44
|
NodeResultWithError,
|
|
48
45
|
NodeResultWithNewUid,
|
|
49
|
-
|
|
46
|
+
Revision,
|
|
47
|
+
RevisionOrUid,
|
|
50
48
|
} from './nodes';
|
|
51
|
-
export {
|
|
49
|
+
export { MemberRole, NodeType, RevisionState } from './nodes';
|
|
52
50
|
export type {
|
|
53
|
-
|
|
54
|
-
MaybeMissingPhotoNode,
|
|
55
|
-
PhotoNode,
|
|
51
|
+
AlbumAttributes,
|
|
56
52
|
DegradedPhotoNode,
|
|
53
|
+
MaybeMissingPhotoNode,
|
|
54
|
+
MaybePhotoNode,
|
|
57
55
|
PhotoAttributes,
|
|
58
|
-
|
|
56
|
+
PhotoNode,
|
|
59
57
|
} from './photos';
|
|
60
58
|
export { PhotoTag } from './photos';
|
|
59
|
+
export type { Result } from './result';
|
|
60
|
+
export { resultError, resultOk } from './result';
|
|
61
61
|
export type {
|
|
62
|
-
ProtonInvitation,
|
|
63
|
-
ProtonInvitationWithNode,
|
|
64
|
-
NonProtonInvitation,
|
|
65
|
-
Member,
|
|
66
|
-
PublicLink,
|
|
67
|
-
MaybeBookmark,
|
|
68
62
|
Bookmark,
|
|
63
|
+
BookmarkOrUid,
|
|
69
64
|
DegradedBookmark,
|
|
70
|
-
|
|
65
|
+
MaybeBookmark,
|
|
66
|
+
Member,
|
|
67
|
+
NonProtonInvitation,
|
|
71
68
|
NonProtonInvitationOrUid,
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
ProtonInvitation,
|
|
70
|
+
ProtonInvitationOrUid,
|
|
71
|
+
ProtonInvitationWithNode,
|
|
72
|
+
PublicLink,
|
|
75
73
|
ShareMembersSettings,
|
|
74
|
+
ShareNodeSettings,
|
|
76
75
|
SharePublicLinkSettings,
|
|
77
76
|
SharePublicLinkSettingsObject,
|
|
78
77
|
ShareResult,
|
|
78
|
+
UnshareNodeSettings,
|
|
79
79
|
} from './sharing';
|
|
80
80
|
export { NonProtonInvitationState } from './sharing';
|
|
81
81
|
export type {
|
|
82
|
-
Telemetry,
|
|
83
82
|
Logger,
|
|
84
83
|
MetricAPIRetrySucceededEvent,
|
|
85
|
-
|
|
86
|
-
MetricsUploadErrorType,
|
|
87
|
-
MetricDownloadEvent,
|
|
88
|
-
MetricsDownloadErrorType,
|
|
84
|
+
MetricBlockVerificationErrorEvent,
|
|
89
85
|
MetricDecryptionErrorEvent,
|
|
86
|
+
MetricDownloadEvent,
|
|
87
|
+
MetricEvent,
|
|
90
88
|
MetricsDecryptionErrorField,
|
|
89
|
+
MetricsDownloadErrorType,
|
|
90
|
+
MetricsUploadErrorType,
|
|
91
|
+
MetricUploadEvent,
|
|
91
92
|
MetricVerificationErrorEvent,
|
|
92
93
|
MetricVerificationErrorField,
|
|
93
|
-
MetricBlockVerificationErrorEvent,
|
|
94
94
|
MetricVolumeEventsSubscriptionsChangedEvent,
|
|
95
|
-
|
|
95
|
+
Telemetry,
|
|
96
96
|
} from './telemetry';
|
|
97
97
|
export { MetricVolumeType } from './telemetry';
|
|
98
|
-
export type { FileUploader, UploadController, UploadMetadata } from './upload';
|
|
99
98
|
export type { Thumbnail, ThumbnailResult } from './thumbnail';
|
|
100
99
|
export { ThumbnailType } from './thumbnail';
|
|
100
|
+
export type { FileUploader, UploadController, UploadMetadata } from './upload';
|
|
101
101
|
|
|
102
102
|
export type ProtonDriveTelemetry = Telemetry<MetricEvent>;
|
|
103
103
|
export type ProtonDriveEntitiesCache = ProtonDriveCache<string>;
|
package/src/interface/nodes.ts
CHANGED
package/src/interface/photos.ts
CHANGED
package/src/interface/sharing.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Result } from './result';
|
|
2
1
|
import { UnverifiedAuthorError } from './author';
|
|
3
|
-
import {
|
|
2
|
+
import { InvalidNameError, MemberRole, NodeType } from './nodes';
|
|
3
|
+
import { Result } from './result';
|
|
4
4
|
|
|
5
5
|
export type Member = {
|
|
6
6
|
uid: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AbortError } from '../../errors';
|
|
2
|
-
import { ProtonDriveHTTPClient, SDKEvent, Telemetry
|
|
2
|
+
import { MetricEvent, ProtonDriveHTTPClient, SDKEvent, Telemetry } from '../../interface';
|
|
3
3
|
import { getMockTelemetry } from '../../tests/telemetry';
|
|
4
4
|
import { SDKEvents } from '../sdkEvents';
|
|
5
5
|
import { DriveAPIService } from './apiService';
|
|
6
|
-
import {
|
|
6
|
+
import { ErrorCode, HTTPErrorCode } from './errorCodes';
|
|
7
7
|
|
|
8
8
|
jest.useFakeTimers();
|
|
9
9
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { c } from 'ttag';
|
|
2
2
|
|
|
3
|
+
import { AbortError, ProtonDriveError, RateLimitedError, ServerError } from '../../errors';
|
|
4
|
+
import { Logger, ProtonDriveHTTPClient, ProtonDriveTelemetry } from '../../interface';
|
|
3
5
|
import { VERSION } from '../../version';
|
|
4
|
-
import { ProtonDriveHTTPClient, ProtonDriveTelemetry, Logger } from '../../interface';
|
|
5
|
-
import { AbortError, ServerError, RateLimitedError, ProtonDriveError } from '../../errors';
|
|
6
|
-
import { waitSeconds } from '../wait';
|
|
7
6
|
import { SDKEvents } from '../sdkEvents';
|
|
7
|
+
import { waitSeconds } from '../wait';
|
|
8
8
|
import { HTTPErrorCode, isCodeOk, isCodeOkAsync } from './errorCodes';
|
|
9
9
|
import { apiErrorFactory } from './errors';
|
|
10
10
|
|