@protontech/drive-sdk 0.0.10
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 +17 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cache/interface.d.ts +105 -0
- package/dist/cache/interface.js +3 -0
- package/dist/cache/interface.js.map +1 -0
- package/dist/cache/memoryCache.d.ts +18 -0
- package/dist/cache/memoryCache.js +78 -0
- package/dist/cache/memoryCache.js.map +1 -0
- package/dist/cache/memoryCache.test.d.ts +1 -0
- package/dist/cache/memoryCache.test.js +121 -0
- package/dist/cache/memoryCache.test.js.map +1 -0
- package/dist/config.d.ts +2 -0
- package/dist/config.js +11 -0
- package/dist/config.js.map +1 -0
- package/dist/crypto/driveCrypto.d.ts +209 -0
- package/dist/crypto/driveCrypto.js +364 -0
- package/dist/crypto/driveCrypto.js.map +1 -0
- package/dist/crypto/driveCrypto.test.d.ts +1 -0
- package/dist/crypto/driveCrypto.test.js +42 -0
- package/dist/crypto/driveCrypto.test.js.map +1 -0
- package/dist/crypto/hmac.d.ts +22 -0
- package/dist/crypto/hmac.js +44 -0
- package/dist/crypto/hmac.js.map +1 -0
- package/dist/crypto/index.d.ts +6 -0
- package/dist/crypto/index.js +13 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/interface.d.ts +125 -0
- package/dist/crypto/interface.js +10 -0
- package/dist/crypto/interface.js.map +1 -0
- package/dist/crypto/openPGPCrypto.d.ts +145 -0
- package/dist/crypto/openPGPCrypto.js +250 -0
- package/dist/crypto/openPGPCrypto.js.map +1 -0
- package/dist/crypto/utils.d.ts +2 -0
- package/dist/crypto/utils.js +35 -0
- package/dist/crypto/utils.js.map +1 -0
- package/dist/errors.d.ts +138 -0
- package/dist/errors.js +163 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/dist/interface/account.d.ts +36 -0
- package/dist/interface/account.js +3 -0
- package/dist/interface/account.js.map +1 -0
- package/dist/interface/author.d.ts +26 -0
- package/dist/interface/author.js +3 -0
- package/dist/interface/author.js.map +1 -0
- package/dist/interface/devices.d.ts +18 -0
- package/dist/interface/devices.js +10 -0
- package/dist/interface/devices.js.map +1 -0
- package/dist/interface/download.d.ts +29 -0
- package/dist/interface/download.js +3 -0
- package/dist/interface/download.js.map +1 -0
- package/dist/interface/events.d.ts +26 -0
- package/dist/interface/events.js +11 -0
- package/dist/interface/events.js.map +1 -0
- package/dist/interface/httpClient.d.ts +38 -0
- package/dist/interface/httpClient.js +3 -0
- package/dist/interface/httpClient.js.map +1 -0
- package/dist/interface/index.d.ts +43 -0
- package/dist/interface/index.js +22 -0
- package/dist/interface/index.js.map +1 -0
- package/dist/interface/nodes.d.ts +161 -0
- package/dist/interface/nodes.js +21 -0
- package/dist/interface/nodes.js.map +1 -0
- package/dist/interface/result.d.ts +9 -0
- package/dist/interface/result.js +11 -0
- package/dist/interface/result.js.map +1 -0
- package/dist/interface/sharing.d.ts +73 -0
- package/dist/interface/sharing.js +9 -0
- package/dist/interface/sharing.js.map +1 -0
- package/dist/interface/telemetry.d.ts +61 -0
- package/dist/interface/telemetry.js +18 -0
- package/dist/interface/telemetry.js.map +1 -0
- package/dist/interface/thumbnail.d.ts +17 -0
- package/dist/interface/thumbnail.js +9 -0
- package/dist/interface/thumbnail.js.map +1 -0
- package/dist/interface/upload.d.ts +16 -0
- package/dist/interface/upload.js +3 -0
- package/dist/interface/upload.js.map +1 -0
- package/dist/internal/apiService/apiService.d.ts +51 -0
- package/dist/internal/apiService/apiService.js +305 -0
- package/dist/internal/apiService/apiService.js.map +1 -0
- package/dist/internal/apiService/apiService.test.d.ts +1 -0
- package/dist/internal/apiService/apiService.test.js +237 -0
- package/dist/internal/apiService/apiService.test.js.map +1 -0
- package/dist/internal/apiService/coreTypes.d.ts +24438 -0
- package/dist/internal/apiService/coreTypes.js +7 -0
- package/dist/internal/apiService/coreTypes.js.map +1 -0
- package/dist/internal/apiService/driveTypes.d.ts +11840 -0
- package/dist/internal/apiService/driveTypes.js +7 -0
- package/dist/internal/apiService/driveTypes.js.map +1 -0
- package/dist/internal/apiService/errorCodes.d.ts +30 -0
- package/dist/internal/apiService/errorCodes.js +11 -0
- package/dist/internal/apiService/errorCodes.js.map +1 -0
- package/dist/internal/apiService/errors.d.ts +19 -0
- package/dist/internal/apiService/errors.js +76 -0
- package/dist/internal/apiService/errors.js.map +1 -0
- package/dist/internal/apiService/errors.test.d.ts +1 -0
- package/dist/internal/apiService/errors.test.js +69 -0
- package/dist/internal/apiService/errors.test.js.map +1 -0
- package/dist/internal/apiService/index.d.ts +7 -0
- package/dist/internal/apiService/index.js +30 -0
- package/dist/internal/apiService/index.js.map +1 -0
- package/dist/internal/apiService/observerStream.d.ts +3 -0
- package/dist/internal/apiService/observerStream.js +15 -0
- package/dist/internal/apiService/observerStream.js.map +1 -0
- package/dist/internal/apiService/transformers.d.ts +4 -0
- package/dist/internal/apiService/transformers.js +48 -0
- package/dist/internal/apiService/transformers.js.map +1 -0
- package/dist/internal/batchLoading.d.ts +34 -0
- package/dist/internal/batchLoading.js +68 -0
- package/dist/internal/batchLoading.js.map +1 -0
- package/dist/internal/batchLoading.test.d.ts +1 -0
- package/dist/internal/batchLoading.test.js +50 -0
- package/dist/internal/batchLoading.test.js.map +1 -0
- package/dist/internal/devices/apiService.d.ts +38 -0
- package/dist/internal/devices/apiService.js +105 -0
- package/dist/internal/devices/apiService.js.map +1 -0
- package/dist/internal/devices/cryptoService.d.ts +30 -0
- package/dist/internal/devices/cryptoService.js +47 -0
- package/dist/internal/devices/cryptoService.js.map +1 -0
- package/dist/internal/devices/index.d.ts +15 -0
- package/dist/internal/devices/index.js +22 -0
- package/dist/internal/devices/index.js.map +1 -0
- package/dist/internal/devices/interface.d.ts +31 -0
- package/dist/internal/devices/interface.js +3 -0
- package/dist/internal/devices/interface.js.map +1 -0
- package/dist/internal/devices/manager.d.ts +18 -0
- package/dist/internal/devices/manager.js +103 -0
- package/dist/internal/devices/manager.js.map +1 -0
- package/dist/internal/devices/manager.test.d.ts +1 -0
- package/dist/internal/devices/manager.test.js +100 -0
- package/dist/internal/devices/manager.test.js.map +1 -0
- package/dist/internal/download/apiService.d.ts +27 -0
- package/dist/internal/download/apiService.js +110 -0
- package/dist/internal/download/apiService.js.map +1 -0
- package/dist/internal/download/controller.d.ts +8 -0
- package/dist/internal/download/controller.js +22 -0
- package/dist/internal/download/controller.js.map +1 -0
- package/dist/internal/download/cryptoService.d.ts +17 -0
- package/dist/internal/download/cryptoService.js +82 -0
- package/dist/internal/download/cryptoService.js.map +1 -0
- package/dist/internal/download/fileDownloader.d.ts +33 -0
- package/dist/internal/download/fileDownloader.js +226 -0
- package/dist/internal/download/fileDownloader.js.map +1 -0
- package/dist/internal/download/fileDownloader.test.d.ts +1 -0
- package/dist/internal/download/fileDownloader.test.js +324 -0
- package/dist/internal/download/fileDownloader.test.js.map +1 -0
- package/dist/internal/download/index.d.ts +10 -0
- package/dist/internal/download/index.js +82 -0
- package/dist/internal/download/index.js.map +1 -0
- package/dist/internal/download/interface.d.ts +35 -0
- package/dist/internal/download/interface.js +3 -0
- package/dist/internal/download/interface.js.map +1 -0
- package/dist/internal/download/queue.d.ts +5 -0
- package/dist/internal/download/queue.js +31 -0
- package/dist/internal/download/queue.js.map +1 -0
- package/dist/internal/download/telemetry.d.ts +14 -0
- package/dist/internal/download/telemetry.js +106 -0
- package/dist/internal/download/telemetry.js.map +1 -0
- package/dist/internal/download/telemetry.test.d.ts +1 -0
- package/dist/internal/download/telemetry.test.js +111 -0
- package/dist/internal/download/telemetry.test.js.map +1 -0
- package/dist/internal/download/thumbnailDownloader.d.ts +19 -0
- package/dist/internal/download/thumbnailDownloader.js +198 -0
- package/dist/internal/download/thumbnailDownloader.js.map +1 -0
- package/dist/internal/download/thumbnailDownloader.test.d.ts +1 -0
- package/dist/internal/download/thumbnailDownloader.test.js +179 -0
- package/dist/internal/download/thumbnailDownloader.test.js.map +1 -0
- package/dist/internal/errors.d.ts +6 -0
- package/dist/internal/errors.js +28 -0
- package/dist/internal/errors.js.map +1 -0
- package/dist/internal/errors.test.d.ts +1 -0
- package/dist/internal/errors.test.js +22 -0
- package/dist/internal/errors.test.js.map +1 -0
- package/dist/internal/events/apiService.d.ts +18 -0
- package/dist/internal/events/apiService.js +81 -0
- package/dist/internal/events/apiService.js.map +1 -0
- package/dist/internal/events/cache.d.ts +28 -0
- package/dist/internal/events/cache.js +67 -0
- package/dist/internal/events/cache.js.map +1 -0
- package/dist/internal/events/cache.test.d.ts +1 -0
- package/dist/internal/events/cache.test.js +43 -0
- package/dist/internal/events/cache.test.js.map +1 -0
- package/dist/internal/events/coreEventManager.d.ts +25 -0
- package/dist/internal/events/coreEventManager.js +63 -0
- package/dist/internal/events/coreEventManager.js.map +1 -0
- package/dist/internal/events/eventManager.d.ts +62 -0
- package/dist/internal/events/eventManager.js +159 -0
- package/dist/internal/events/eventManager.js.map +1 -0
- package/dist/internal/events/eventManager.test.d.ts +1 -0
- package/dist/internal/events/eventManager.test.js +120 -0
- package/dist/internal/events/eventManager.test.js.map +1 -0
- package/dist/internal/events/index.d.ts +50 -0
- package/dist/internal/events/index.js +117 -0
- package/dist/internal/events/index.js.map +1 -0
- package/dist/internal/events/interface.d.ts +47 -0
- package/dist/internal/events/interface.js +12 -0
- package/dist/internal/events/interface.js.map +1 -0
- package/dist/internal/events/volumeEventManager.d.ts +27 -0
- package/dist/internal/events/volumeEventManager.js +69 -0
- package/dist/internal/events/volumeEventManager.js.map +1 -0
- package/dist/internal/nodes/apiService.d.ts +54 -0
- package/dist/internal/nodes/apiService.js +308 -0
- package/dist/internal/nodes/apiService.js.map +1 -0
- package/dist/internal/nodes/apiService.test.d.ts +1 -0
- package/dist/internal/nodes/apiService.test.js +344 -0
- package/dist/internal/nodes/apiService.test.js.map +1 -0
- package/dist/internal/nodes/cache.d.ts +57 -0
- package/dist/internal/nodes/cache.js +226 -0
- package/dist/internal/nodes/cache.js.map +1 -0
- package/dist/internal/nodes/cache.test.d.ts +1 -0
- package/dist/internal/nodes/cache.test.js +160 -0
- package/dist/internal/nodes/cache.test.js.map +1 -0
- package/dist/internal/nodes/cryptoCache.d.ts +16 -0
- package/dist/internal/nodes/cryptoCache.js +50 -0
- package/dist/internal/nodes/cryptoCache.js.map +1 -0
- package/dist/internal/nodes/cryptoCache.test.d.ts +1 -0
- package/dist/internal/nodes/cryptoCache.test.js +79 -0
- package/dist/internal/nodes/cryptoCache.test.js.map +1 -0
- package/dist/internal/nodes/cryptoService.d.ts +75 -0
- package/dist/internal/nodes/cryptoService.js +409 -0
- package/dist/internal/nodes/cryptoService.js.map +1 -0
- package/dist/internal/nodes/cryptoService.test.d.ts +1 -0
- package/dist/internal/nodes/cryptoService.test.js +698 -0
- package/dist/internal/nodes/cryptoService.test.js.map +1 -0
- package/dist/internal/nodes/events.d.ts +91 -0
- package/dist/internal/nodes/events.js +243 -0
- package/dist/internal/nodes/events.js.map +1 -0
- package/dist/internal/nodes/events.test.d.ts +1 -0
- package/dist/internal/nodes/events.test.js +318 -0
- package/dist/internal/nodes/events.test.js.map +1 -0
- package/dist/internal/nodes/extendedAttributes.d.ts +23 -0
- package/dist/internal/nodes/extendedAttributes.js +117 -0
- package/dist/internal/nodes/extendedAttributes.js.map +1 -0
- package/dist/internal/nodes/extendedAttributes.test.d.ts +1 -0
- package/dist/internal/nodes/extendedAttributes.test.js +176 -0
- package/dist/internal/nodes/extendedAttributes.test.js.map +1 -0
- package/dist/internal/nodes/index.d.ts +26 -0
- package/dist/internal/nodes/index.js +40 -0
- package/dist/internal/nodes/index.js.map +1 -0
- package/dist/internal/nodes/index.test.d.ts +1 -0
- package/dist/internal/nodes/index.test.js +112 -0
- package/dist/internal/nodes/index.test.js.map +1 -0
- package/dist/internal/nodes/interface.d.ts +135 -0
- package/dist/internal/nodes/interface.js +3 -0
- package/dist/internal/nodes/interface.js.map +1 -0
- package/dist/internal/nodes/mediaTypes.d.ts +2 -0
- package/dist/internal/nodes/mediaTypes.js +13 -0
- package/dist/internal/nodes/mediaTypes.js.map +1 -0
- package/dist/internal/nodes/nodesAccess.d.ts +49 -0
- package/dist/internal/nodes/nodesAccess.js +332 -0
- package/dist/internal/nodes/nodesAccess.js.map +1 -0
- package/dist/internal/nodes/nodesAccess.test.d.ts +1 -0
- package/dist/internal/nodes/nodesAccess.test.js +487 -0
- package/dist/internal/nodes/nodesAccess.test.js.map +1 -0
- package/dist/internal/nodes/nodesManagement.d.ts +33 -0
- package/dist/internal/nodes/nodesManagement.js +222 -0
- package/dist/internal/nodes/nodesManagement.js.map +1 -0
- package/dist/internal/nodes/nodesManagement.test.d.ts +1 -0
- package/dist/internal/nodes/nodesManagement.test.js +178 -0
- package/dist/internal/nodes/nodesManagement.test.js.map +1 -0
- package/dist/internal/nodes/nodesRevisions.d.ts +18 -0
- package/dist/internal/nodes/nodesRevisions.js +55 -0
- package/dist/internal/nodes/nodesRevisions.js.map +1 -0
- package/dist/internal/nodes/validations.d.ts +4 -0
- package/dist/internal/nodes/validations.js +21 -0
- package/dist/internal/nodes/validations.js.map +1 -0
- package/dist/internal/photos/albums.d.ts +13 -0
- package/dist/internal/photos/albums.js +30 -0
- package/dist/internal/photos/albums.js.map +1 -0
- package/dist/internal/photos/apiService.d.ts +8 -0
- package/dist/internal/photos/apiService.js +18 -0
- package/dist/internal/photos/apiService.js.map +1 -0
- package/dist/internal/photos/cache.d.ts +6 -0
- package/dist/internal/photos/cache.js +15 -0
- package/dist/internal/photos/cache.js.map +1 -0
- package/dist/internal/photos/index.d.ts +9 -0
- package/dist/internal/photos/index.js +18 -0
- package/dist/internal/photos/index.js.map +1 -0
- package/dist/internal/photos/interface.d.ts +6 -0
- package/dist/internal/photos/interface.js +3 -0
- package/dist/internal/photos/interface.js.map +1 -0
- package/dist/internal/photos/photosTimeline.d.ts +10 -0
- package/dist/internal/photos/photosTimeline.js +20 -0
- package/dist/internal/photos/photosTimeline.js.map +1 -0
- package/dist/internal/sdkEvents.d.ts +12 -0
- package/dist/internal/sdkEvents.js +44 -0
- package/dist/internal/sdkEvents.js.map +1 -0
- package/dist/internal/sdkEvents.test.d.ts +1 -0
- package/dist/internal/sdkEvents.test.js +45 -0
- package/dist/internal/sdkEvents.test.js.map +1 -0
- package/dist/internal/shares/apiService.d.ts +51 -0
- package/dist/internal/shares/apiService.js +128 -0
- package/dist/internal/shares/apiService.js.map +1 -0
- package/dist/internal/shares/cache.d.ts +15 -0
- package/dist/internal/shares/cache.js +63 -0
- package/dist/internal/shares/cache.js.map +1 -0
- package/dist/internal/shares/cache.test.d.ts +1 -0
- package/dist/internal/shares/cache.test.js +54 -0
- package/dist/internal/shares/cache.test.js.map +1 -0
- package/dist/internal/shares/cryptoCache.d.ts +20 -0
- package/dist/internal/shares/cryptoCache.js +35 -0
- package/dist/internal/shares/cryptoCache.js.map +1 -0
- package/dist/internal/shares/cryptoCache.test.d.ts +1 -0
- package/dist/internal/shares/cryptoCache.test.js +58 -0
- package/dist/internal/shares/cryptoCache.test.js.map +1 -0
- package/dist/internal/shares/cryptoService.d.ts +42 -0
- package/dist/internal/shares/cryptoService.js +126 -0
- package/dist/internal/shares/cryptoService.js.map +1 -0
- package/dist/internal/shares/cryptoService.test.d.ts +1 -0
- package/dist/internal/shares/cryptoService.test.js +120 -0
- package/dist/internal/shares/cryptoService.test.js.map +1 -0
- package/dist/internal/shares/index.d.ts +15 -0
- package/dist/internal/shares/index.js +26 -0
- package/dist/internal/shares/index.js.map +1 -0
- package/dist/internal/shares/interface.d.ts +94 -0
- package/dist/internal/shares/interface.js +11 -0
- package/dist/internal/shares/interface.js.map +1 -0
- package/dist/internal/shares/manager.d.ts +68 -0
- package/dist/internal/shares/manager.js +186 -0
- package/dist/internal/shares/manager.js.map +1 -0
- package/dist/internal/shares/manager.test.d.ts +1 -0
- package/dist/internal/shares/manager.test.js +176 -0
- package/dist/internal/shares/manager.test.js.map +1 -0
- package/dist/internal/sharing/apiService.d.ts +80 -0
- package/dist/internal/sharing/apiService.js +325 -0
- package/dist/internal/sharing/apiService.js.map +1 -0
- package/dist/internal/sharing/cache.d.ts +37 -0
- package/dist/internal/sharing/cache.js +105 -0
- package/dist/internal/sharing/cache.js.map +1 -0
- package/dist/internal/sharing/cache.test.d.ts +1 -0
- package/dist/internal/sharing/cache.test.js +82 -0
- package/dist/internal/sharing/cache.test.js.map +1 -0
- package/dist/internal/sharing/cryptoService.d.ts +112 -0
- package/dist/internal/sharing/cryptoService.js +269 -0
- package/dist/internal/sharing/cryptoService.js.map +1 -0
- package/dist/internal/sharing/events.d.ts +57 -0
- package/dist/internal/sharing/events.js +153 -0
- package/dist/internal/sharing/events.js.map +1 -0
- package/dist/internal/sharing/events.test.d.ts +1 -0
- package/dist/internal/sharing/events.test.js +246 -0
- package/dist/internal/sharing/events.test.js.map +1 -0
- package/dist/internal/sharing/index.d.ts +20 -0
- package/dist/internal/sharing/index.js +30 -0
- package/dist/internal/sharing/index.js.map +1 -0
- package/dist/internal/sharing/interface.d.ts +169 -0
- package/dist/internal/sharing/interface.js +9 -0
- package/dist/internal/sharing/interface.js.map +1 -0
- package/dist/internal/sharing/sharingAccess.d.ts +32 -0
- package/dist/internal/sharing/sharingAccess.js +119 -0
- package/dist/internal/sharing/sharingAccess.js.map +1 -0
- package/dist/internal/sharing/sharingAccess.test.d.ts +1 -0
- package/dist/internal/sharing/sharingAccess.test.js +84 -0
- package/dist/internal/sharing/sharingAccess.test.js.map +1 -0
- package/dist/internal/sharing/sharingManagement.d.ts +43 -0
- package/dist/internal/sharing/sharingManagement.js +439 -0
- package/dist/internal/sharing/sharingManagement.js.map +1 -0
- package/dist/internal/sharing/sharingManagement.test.d.ts +1 -0
- package/dist/internal/sharing/sharingManagement.test.js +788 -0
- package/dist/internal/sharing/sharingManagement.test.js.map +1 -0
- package/dist/internal/uids.d.ts +38 -0
- package/dist/internal/uids.js +85 -0
- package/dist/internal/uids.js.map +1 -0
- package/dist/internal/upload/apiService.d.ts +65 -0
- package/dist/internal/upload/apiService.js +137 -0
- package/dist/internal/upload/apiService.js.map +1 -0
- package/dist/internal/upload/blockVerifier.d.ts +16 -0
- package/dist/internal/upload/blockVerifier.js +33 -0
- package/dist/internal/upload/blockVerifier.js.map +1 -0
- package/dist/internal/upload/chunkStreamReader.d.ts +13 -0
- package/dist/internal/upload/chunkStreamReader.js +46 -0
- package/dist/internal/upload/chunkStreamReader.js.map +1 -0
- package/dist/internal/upload/chunkStreamReader.test.d.ts +1 -0
- package/dist/internal/upload/chunkStreamReader.test.js +75 -0
- package/dist/internal/upload/chunkStreamReader.test.js.map +1 -0
- package/dist/internal/upload/controller.d.ts +8 -0
- package/dist/internal/upload/controller.js +25 -0
- package/dist/internal/upload/controller.js.map +1 -0
- package/dist/internal/upload/cryptoService.d.ts +29 -0
- package/dist/internal/upload/cryptoService.js +104 -0
- package/dist/internal/upload/cryptoService.js.map +1 -0
- package/dist/internal/upload/digests.d.ts +8 -0
- package/dist/internal/upload/digests.js +22 -0
- package/dist/internal/upload/digests.js.map +1 -0
- package/dist/internal/upload/fileUploader.d.ts +65 -0
- package/dist/internal/upload/fileUploader.js +463 -0
- package/dist/internal/upload/fileUploader.js.map +1 -0
- package/dist/internal/upload/fileUploader.test.d.ts +1 -0
- package/dist/internal/upload/fileUploader.test.js +393 -0
- package/dist/internal/upload/fileUploader.test.js.map +1 -0
- package/dist/internal/upload/index.d.ts +16 -0
- package/dist/internal/upload/index.js +77 -0
- package/dist/internal/upload/index.js.map +1 -0
- package/dist/internal/upload/interface.d.ts +117 -0
- package/dist/internal/upload/interface.js +3 -0
- package/dist/internal/upload/interface.js.map +1 -0
- package/dist/internal/upload/manager.d.ts +31 -0
- package/dist/internal/upload/manager.js +250 -0
- package/dist/internal/upload/manager.js.map +1 -0
- package/dist/internal/upload/manager.test.d.ts +1 -0
- package/dist/internal/upload/manager.test.js +349 -0
- package/dist/internal/upload/manager.test.js.map +1 -0
- package/dist/internal/upload/queue.d.ts +5 -0
- package/dist/internal/upload/queue.js +32 -0
- package/dist/internal/upload/queue.js.map +1 -0
- package/dist/internal/upload/telemetry.d.ts +15 -0
- package/dist/internal/upload/telemetry.js +111 -0
- package/dist/internal/upload/telemetry.js.map +1 -0
- package/dist/internal/upload/telemetry.test.d.ts +1 -0
- package/dist/internal/upload/telemetry.test.js +107 -0
- package/dist/internal/upload/telemetry.test.js.map +1 -0
- package/dist/internal/utils.d.ts +1 -0
- package/dist/internal/utils.js +13 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/internal/wait.d.ts +3 -0
- package/dist/internal/wait.js +28 -0
- package/dist/internal/wait.js.map +1 -0
- package/dist/internal/wait.test.d.ts +1 -0
- package/dist/internal/wait.test.js +21 -0
- package/dist/internal/wait.test.js.map +1 -0
- package/dist/protonDriveClient.d.ts +593 -0
- package/dist/protonDriveClient.js +768 -0
- package/dist/protonDriveClient.js.map +1 -0
- package/dist/protonDrivePhotosClient.d.ts +16 -0
- package/dist/protonDrivePhotosClient.js +46 -0
- package/dist/protonDrivePhotosClient.js.map +1 -0
- package/dist/telemetry.d.ts +187 -0
- package/dist/telemetry.js +297 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/tests/logger.d.ts +2 -0
- package/dist/tests/logger.js +12 -0
- package/dist/tests/logger.js.map +1 -0
- package/dist/tests/telemetry.d.ts +2 -0
- package/dist/tests/telemetry.js +11 -0
- package/dist/tests/telemetry.js.map +1 -0
- package/dist/transformers.d.ts +17 -0
- package/dist/transformers.js +77 -0
- package/dist/transformers.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +6 -0
- package/dist/version.js.map +1 -0
- package/package.json +49 -0
- package/src/cache/index.ts +2 -0
- package/src/cache/interface.ts +104 -0
- package/src/cache/memoryCache.test.ts +150 -0
- package/src/cache/memoryCache.ts +85 -0
- package/src/config.ts +9 -0
- package/src/crypto/driveCrypto.test.ts +45 -0
- package/src/crypto/driveCrypto.ts +696 -0
- package/src/crypto/hmac.ts +46 -0
- package/src/crypto/index.ts +6 -0
- package/src/crypto/interface.ts +230 -0
- package/src/crypto/openPGPCrypto.ts +398 -0
- package/src/crypto/utils.ts +40 -0
- package/src/errors.ts +168 -0
- package/src/index.ts +30 -0
- package/src/interface/account.ts +38 -0
- package/src/interface/author.ts +29 -0
- package/src/interface/devices.ts +21 -0
- package/src/interface/download.ts +32 -0
- package/src/interface/events.ts +30 -0
- package/src/interface/httpClient.ts +42 -0
- package/src/interface/index.ts +46 -0
- package/src/interface/nodes.ts +168 -0
- package/src/interface/result.ts +11 -0
- package/src/interface/sharing.ts +87 -0
- package/src/interface/telemetry.ts +107 -0
- package/src/interface/thumbnail.ts +14 -0
- package/src/interface/upload.ts +19 -0
- package/src/internal/apiService/apiService.test.ts +285 -0
- package/src/internal/apiService/apiService.ts +353 -0
- package/src/internal/apiService/coreTypes.ts +24439 -0
- package/src/internal/apiService/driveTypes.ts +11841 -0
- package/src/internal/apiService/errorCodes.ts +38 -0
- package/src/internal/apiService/errors.test.ts +63 -0
- package/src/internal/apiService/errors.ts +91 -0
- package/src/internal/apiService/index.ts +7 -0
- package/src/internal/apiService/observerStream.ts +10 -0
- package/src/internal/apiService/transformers.ts +45 -0
- package/src/internal/batchLoading.test.ts +58 -0
- package/src/internal/batchLoading.ts +74 -0
- package/src/internal/devices/apiService.ts +142 -0
- package/src/internal/devices/cryptoService.ts +65 -0
- package/src/internal/devices/index.ts +31 -0
- package/src/internal/devices/interface.ts +28 -0
- package/src/internal/devices/manager.test.ts +129 -0
- package/src/internal/devices/manager.ts +113 -0
- package/src/internal/download/apiService.ts +145 -0
- package/src/internal/download/controller.ts +22 -0
- package/src/internal/download/cryptoService.ts +96 -0
- package/src/internal/download/fileDownloader.test.ts +381 -0
- package/src/internal/download/fileDownloader.ts +266 -0
- package/src/internal/download/index.ts +122 -0
- package/src/internal/download/interface.ts +38 -0
- package/src/internal/download/queue.ts +30 -0
- package/src/internal/download/telemetry.test.ts +134 -0
- package/src/internal/download/telemetry.ts +115 -0
- package/src/internal/download/thumbnailDownloader.test.ts +226 -0
- package/src/internal/download/thumbnailDownloader.ts +250 -0
- package/src/internal/errors.test.ts +21 -0
- package/src/internal/errors.ts +28 -0
- package/src/internal/events/apiService.ts +87 -0
- package/src/internal/events/cache.test.ts +47 -0
- package/src/internal/events/cache.ts +80 -0
- package/src/internal/events/coreEventManager.ts +69 -0
- package/src/internal/events/eventManager.test.ts +139 -0
- package/src/internal/events/eventManager.ts +168 -0
- package/src/internal/events/index.ts +131 -0
- package/src/internal/events/interface.ts +51 -0
- package/src/internal/events/volumeEventManager.ts +74 -0
- package/src/internal/nodes/apiService.test.ts +394 -0
- package/src/internal/nodes/apiService.ts +455 -0
- package/src/internal/nodes/cache.test.ts +197 -0
- package/src/internal/nodes/cache.ts +240 -0
- package/src/internal/nodes/cryptoCache.test.ts +92 -0
- package/src/internal/nodes/cryptoCache.ts +47 -0
- package/src/internal/nodes/cryptoService.test.ts +814 -0
- package/src/internal/nodes/cryptoService.ts +550 -0
- package/src/internal/nodes/events.test.ts +383 -0
- package/src/internal/nodes/events.ts +271 -0
- package/src/internal/nodes/extendedAttributes.test.ts +177 -0
- package/src/internal/nodes/extendedAttributes.ts +180 -0
- package/src/internal/nodes/index.test.ts +135 -0
- package/src/internal/nodes/index.ts +52 -0
- package/src/internal/nodes/interface.ts +152 -0
- package/src/internal/nodes/mediaTypes.ts +10 -0
- package/src/internal/nodes/nodesAccess.test.ts +555 -0
- package/src/internal/nodes/nodesAccess.ts +360 -0
- package/src/internal/nodes/nodesManagement.test.ts +221 -0
- package/src/internal/nodes/nodesManagement.ts +272 -0
- package/src/internal/nodes/nodesRevisions.ts +58 -0
- package/src/internal/nodes/validations.ts +26 -0
- package/src/internal/photos/albums.ts +29 -0
- package/src/internal/photos/apiService.ts +16 -0
- package/src/internal/photos/cache.ts +11 -0
- package/src/internal/photos/index.ts +23 -0
- package/src/internal/photos/interface.ts +7 -0
- package/src/internal/photos/photosTimeline.ts +18 -0
- package/src/internal/sdkEvents.test.ts +55 -0
- package/src/internal/sdkEvents.ts +52 -0
- package/src/internal/shares/apiService.ts +176 -0
- package/src/internal/shares/cache.test.ts +58 -0
- package/src/internal/shares/cache.ts +64 -0
- package/src/internal/shares/cryptoCache.test.ts +70 -0
- package/src/internal/shares/cryptoCache.ts +35 -0
- package/src/internal/shares/cryptoService.test.ts +137 -0
- package/src/internal/shares/cryptoService.ts +143 -0
- package/src/internal/shares/index.ts +35 -0
- package/src/internal/shares/interface.ts +104 -0
- package/src/internal/shares/manager.test.ts +210 -0
- package/src/internal/shares/manager.ts +213 -0
- package/src/internal/sharing/apiService.ts +483 -0
- package/src/internal/sharing/cache.test.ts +99 -0
- package/src/internal/sharing/cache.ts +109 -0
- package/src/internal/sharing/cryptoService.ts +378 -0
- package/src/internal/sharing/events.test.ts +268 -0
- package/src/internal/sharing/events.ts +166 -0
- package/src/internal/sharing/index.ts +43 -0
- package/src/internal/sharing/interface.ts +177 -0
- package/src/internal/sharing/sharingAccess.test.ts +102 -0
- package/src/internal/sharing/sharingAccess.ts +133 -0
- package/src/internal/sharing/sharingManagement.test.ts +895 -0
- package/src/internal/sharing/sharingManagement.ts +521 -0
- package/src/internal/uids.ts +83 -0
- package/src/internal/upload/apiService.ts +243 -0
- package/src/internal/upload/blockVerifier.ts +40 -0
- package/src/internal/upload/chunkStreamReader.test.ts +89 -0
- package/src/internal/upload/chunkStreamReader.ts +49 -0
- package/src/internal/upload/controller.ts +25 -0
- package/src/internal/upload/cryptoService.ts +162 -0
- package/src/internal/upload/digests.ts +18 -0
- package/src/internal/upload/fileUploader.test.ts +513 -0
- package/src/internal/upload/fileUploader.ts +576 -0
- package/src/internal/upload/index.ts +126 -0
- package/src/internal/upload/interface.ts +128 -0
- package/src/internal/upload/manager.test.ts +390 -0
- package/src/internal/upload/manager.ts +320 -0
- package/src/internal/upload/queue.ts +31 -0
- package/src/internal/upload/telemetry.test.ts +129 -0
- package/src/internal/upload/telemetry.ts +121 -0
- package/src/internal/utils.ts +9 -0
- package/src/internal/wait.test.ts +21 -0
- package/src/internal/wait.ts +26 -0
- package/src/protonDriveClient.ts +861 -0
- package/src/protonDrivePhotosClient.ts +56 -0
- package/src/telemetry.ts +346 -0
- package/src/tests/logger.ts +10 -0
- package/src/tests/telemetry.ts +9 -0
- package/src/transformers.ts +98 -0
- package/src/version.ts +4 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VERIFICATION_STATUS = void 0;
|
|
4
|
+
var VERIFICATION_STATUS;
|
|
5
|
+
(function (VERIFICATION_STATUS) {
|
|
6
|
+
VERIFICATION_STATUS[VERIFICATION_STATUS["NOT_SIGNED"] = 0] = "NOT_SIGNED";
|
|
7
|
+
VERIFICATION_STATUS[VERIFICATION_STATUS["SIGNED_AND_VALID"] = 1] = "SIGNED_AND_VALID";
|
|
8
|
+
VERIFICATION_STATUS[VERIFICATION_STATUS["SIGNED_AND_INVALID"] = 2] = "SIGNED_AND_INVALID";
|
|
9
|
+
})(VERIFICATION_STATUS || (exports.VERIFICATION_STATUS = VERIFICATION_STATUS = {}));
|
|
10
|
+
//# sourceMappingURL=interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/crypto/interface.ts"],"names":[],"mappings":";;;AA+CA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC3B,yEAAc,CAAA;IACd,qFAAoB,CAAA;IACpB,yFAAsB,CAAA;AAC1B,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { OpenPGPCrypto, PrivateKey, PublicKey, SessionKey, VERIFICATION_STATUS } from './interface';
|
|
2
|
+
/**
|
|
3
|
+
* Interface matching CryptoProxy interface from client's monorepo:
|
|
4
|
+
* clients/packages/crypto/lib/proxy/proxy.ts.
|
|
5
|
+
*/
|
|
6
|
+
export interface OpenPGPCryptoProxy {
|
|
7
|
+
generateKey: (options: {
|
|
8
|
+
userIDs: {
|
|
9
|
+
name: string;
|
|
10
|
+
}[];
|
|
11
|
+
type: 'ecc';
|
|
12
|
+
curve: 'ed25519Legacy';
|
|
13
|
+
}) => Promise<PrivateKey>;
|
|
14
|
+
exportPrivateKey: (options: {
|
|
15
|
+
privateKey: PrivateKey;
|
|
16
|
+
passphrase: string | null;
|
|
17
|
+
}) => Promise<string>;
|
|
18
|
+
importPrivateKey: (options: {
|
|
19
|
+
armoredKey: string;
|
|
20
|
+
passphrase: string | null;
|
|
21
|
+
}) => Promise<PrivateKey>;
|
|
22
|
+
generateSessionKey: (options: {
|
|
23
|
+
recipientKeys: PrivateKey[];
|
|
24
|
+
}) => Promise<SessionKey>;
|
|
25
|
+
encryptSessionKey: (options: SessionKey & {
|
|
26
|
+
format: 'binary';
|
|
27
|
+
encryptionKeys?: PublicKey | PublicKey[];
|
|
28
|
+
passwords?: string[];
|
|
29
|
+
}) => Promise<Uint8Array>;
|
|
30
|
+
decryptSessionKey: (options: {
|
|
31
|
+
armoredMessage?: string;
|
|
32
|
+
binaryMessage?: Uint8Array;
|
|
33
|
+
decryptionKeys: PrivateKey | PrivateKey[];
|
|
34
|
+
}) => Promise<SessionKey | undefined>;
|
|
35
|
+
encryptMessage: (options: {
|
|
36
|
+
format?: 'armored' | 'binary';
|
|
37
|
+
binaryData: Uint8Array;
|
|
38
|
+
sessionKey?: SessionKey;
|
|
39
|
+
encryptionKeys: PrivateKey[];
|
|
40
|
+
signingKeys?: PrivateKey;
|
|
41
|
+
detached?: boolean;
|
|
42
|
+
}) => Promise<{
|
|
43
|
+
message: string | Uint8Array;
|
|
44
|
+
signature?: string | Uint8Array;
|
|
45
|
+
}>;
|
|
46
|
+
decryptMessage: (options: {
|
|
47
|
+
format: 'utf8' | 'binary';
|
|
48
|
+
armoredMessage?: string;
|
|
49
|
+
binaryMessage?: Uint8Array;
|
|
50
|
+
armoredSignature?: string;
|
|
51
|
+
binarySignature?: Uint8Array;
|
|
52
|
+
sessionKeys?: SessionKey;
|
|
53
|
+
decryptionKeys?: PrivateKey | PrivateKey[];
|
|
54
|
+
verificationKeys?: PublicKey | PublicKey[];
|
|
55
|
+
}) => Promise<{
|
|
56
|
+
data: Uint8Array | string;
|
|
57
|
+
verified?: VERIFICATION_STATUS;
|
|
58
|
+
verificationStatus?: VERIFICATION_STATUS;
|
|
59
|
+
}>;
|
|
60
|
+
signMessage: (options: {
|
|
61
|
+
format: 'binary' | 'armored';
|
|
62
|
+
binaryData: Uint8Array;
|
|
63
|
+
signingKeys: PrivateKey | PrivateKey[];
|
|
64
|
+
detached: boolean;
|
|
65
|
+
signatureContext?: {
|
|
66
|
+
critical: boolean;
|
|
67
|
+
value: string;
|
|
68
|
+
};
|
|
69
|
+
}) => Promise<Uint8Array | string>;
|
|
70
|
+
verifyMessage: (options: {
|
|
71
|
+
binaryData: Uint8Array;
|
|
72
|
+
armoredSignature: string;
|
|
73
|
+
verificationKeys: PublicKey | PublicKey[];
|
|
74
|
+
}) => Promise<{
|
|
75
|
+
verified?: VERIFICATION_STATUS;
|
|
76
|
+
verificationStatus?: VERIFICATION_STATUS;
|
|
77
|
+
}>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Implementation of OpenPGPCrypto interface using CryptoProxy from clients
|
|
81
|
+
* monorepo that must be passed as dependency. In the future, CryptoProxy
|
|
82
|
+
* will be published separately and this implementation will use it directly.
|
|
83
|
+
*/
|
|
84
|
+
export declare class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
|
|
85
|
+
private cryptoProxy;
|
|
86
|
+
constructor(cryptoProxy: OpenPGPCryptoProxy);
|
|
87
|
+
generatePassphrase(): string;
|
|
88
|
+
generateSessionKey(encryptionKeys: PrivateKey[]): Promise<SessionKey>;
|
|
89
|
+
encryptSessionKey(sessionKey: SessionKey, encryptionKeys: PublicKey | PublicKey[]): Promise<{
|
|
90
|
+
keyPacket: Uint8Array;
|
|
91
|
+
}>;
|
|
92
|
+
encryptSessionKeyWithPassword(sessionKey: SessionKey, password: string): Promise<{
|
|
93
|
+
keyPacket: Uint8Array;
|
|
94
|
+
}>;
|
|
95
|
+
generateKey(passphrase: string): Promise<{
|
|
96
|
+
armoredKey: string;
|
|
97
|
+
privateKey: PrivateKey;
|
|
98
|
+
}>;
|
|
99
|
+
encryptArmored(data: Uint8Array, encryptionKeys: PrivateKey[], sessionKey?: SessionKey): Promise<{
|
|
100
|
+
armoredData: string;
|
|
101
|
+
}>;
|
|
102
|
+
encryptAndSign(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
|
|
103
|
+
encryptedData: Uint8Array;
|
|
104
|
+
}>;
|
|
105
|
+
encryptAndSignArmored(data: Uint8Array, sessionKey: SessionKey | undefined, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
|
|
106
|
+
armoredData: string;
|
|
107
|
+
}>;
|
|
108
|
+
encryptAndSignDetached(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
|
|
109
|
+
encryptedData: Uint8Array;
|
|
110
|
+
signature: Uint8Array;
|
|
111
|
+
}>;
|
|
112
|
+
encryptAndSignDetachedArmored(data: Uint8Array, sessionKey: SessionKey, encryptionKeys: PrivateKey[], signingKey: PrivateKey): Promise<{
|
|
113
|
+
armoredData: string;
|
|
114
|
+
armoredSignature: string;
|
|
115
|
+
}>;
|
|
116
|
+
sign(data: Uint8Array, signingKeys: PrivateKey | PrivateKey[], signatureContext: string): Promise<{
|
|
117
|
+
signature: Uint8Array;
|
|
118
|
+
}>;
|
|
119
|
+
signArmored(data: Uint8Array, signingKeys: PrivateKey | PrivateKey[]): Promise<{
|
|
120
|
+
signature: string;
|
|
121
|
+
}>;
|
|
122
|
+
verify(data: Uint8Array, armoredSignature: string, verificationKeys: PublicKey | PublicKey[]): Promise<{
|
|
123
|
+
verified: VERIFICATION_STATUS;
|
|
124
|
+
}>;
|
|
125
|
+
decryptSessionKey(data: Uint8Array, decryptionKeys: PrivateKey | PrivateKey[]): Promise<SessionKey>;
|
|
126
|
+
decryptArmoredSessionKey(armoredData: string, decryptionKeys: PrivateKey | PrivateKey[]): Promise<SessionKey>;
|
|
127
|
+
decryptKey(armoredKey: string, passphrase: string): Promise<PrivateKey>;
|
|
128
|
+
decryptAndVerify(data: Uint8Array, sessionKey: SessionKey, verificationKeys: PublicKey[]): Promise<{
|
|
129
|
+
data: Uint8Array;
|
|
130
|
+
verified: VERIFICATION_STATUS;
|
|
131
|
+
}>;
|
|
132
|
+
decryptAndVerifyDetached(data: Uint8Array, signature: Uint8Array | undefined, sessionKey: SessionKey, verificationKeys?: PublicKey[]): Promise<{
|
|
133
|
+
data: Uint8Array;
|
|
134
|
+
verified: VERIFICATION_STATUS;
|
|
135
|
+
}>;
|
|
136
|
+
decryptArmored(armoredData: string, decryptionKeys: PrivateKey | PrivateKey[]): Promise<Uint8Array>;
|
|
137
|
+
decryptArmoredAndVerify(armoredData: string, decryptionKeys: PrivateKey | PrivateKey[], verificationKeys: PublicKey | PublicKey[]): Promise<{
|
|
138
|
+
data: Uint8Array;
|
|
139
|
+
verified: VERIFICATION_STATUS;
|
|
140
|
+
}>;
|
|
141
|
+
decryptArmoredAndVerifyDetached(armoredData: string, armoredSignature: string, sessionKey: SessionKey, verificationKeys: PublicKey | PublicKey[]): Promise<{
|
|
142
|
+
data: Uint8Array;
|
|
143
|
+
verified: VERIFICATION_STATUS;
|
|
144
|
+
}>;
|
|
145
|
+
}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenPGPCryptoWithCryptoProxy = void 0;
|
|
4
|
+
const utils_1 = require("./utils");
|
|
5
|
+
/**
|
|
6
|
+
* Implementation of OpenPGPCrypto interface using CryptoProxy from clients
|
|
7
|
+
* monorepo that must be passed as dependency. In the future, CryptoProxy
|
|
8
|
+
* will be published separately and this implementation will use it directly.
|
|
9
|
+
*/
|
|
10
|
+
class OpenPGPCryptoWithCryptoProxy {
|
|
11
|
+
cryptoProxy;
|
|
12
|
+
constructor(cryptoProxy) {
|
|
13
|
+
this.cryptoProxy = cryptoProxy;
|
|
14
|
+
this.cryptoProxy = cryptoProxy;
|
|
15
|
+
}
|
|
16
|
+
generatePassphrase() {
|
|
17
|
+
const value = crypto.getRandomValues(new Uint8Array(32));
|
|
18
|
+
return (0, utils_1.uint8ArrayToBase64String)(value);
|
|
19
|
+
}
|
|
20
|
+
async generateSessionKey(encryptionKeys) {
|
|
21
|
+
return this.cryptoProxy.generateSessionKey({ recipientKeys: encryptionKeys });
|
|
22
|
+
}
|
|
23
|
+
async encryptSessionKey(sessionKey, encryptionKeys) {
|
|
24
|
+
const keyPacket = await this.cryptoProxy.encryptSessionKey({
|
|
25
|
+
...sessionKey,
|
|
26
|
+
format: 'binary',
|
|
27
|
+
encryptionKeys,
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
keyPacket
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async encryptSessionKeyWithPassword(sessionKey, password) {
|
|
34
|
+
const keyPacket = await this.cryptoProxy.encryptSessionKey({
|
|
35
|
+
...sessionKey,
|
|
36
|
+
format: 'binary',
|
|
37
|
+
passwords: [password],
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
keyPacket,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async generateKey(passphrase) {
|
|
44
|
+
const privateKey = await this.cryptoProxy.generateKey({
|
|
45
|
+
userIDs: [{ name: 'Drive key' }],
|
|
46
|
+
type: 'ecc',
|
|
47
|
+
curve: 'ed25519Legacy',
|
|
48
|
+
});
|
|
49
|
+
const armoredKey = await this.cryptoProxy.exportPrivateKey({
|
|
50
|
+
privateKey,
|
|
51
|
+
passphrase,
|
|
52
|
+
});
|
|
53
|
+
return {
|
|
54
|
+
armoredKey,
|
|
55
|
+
privateKey,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
async encryptArmored(data, encryptionKeys, sessionKey) {
|
|
59
|
+
const { message: armoredData } = await this.cryptoProxy.encryptMessage({
|
|
60
|
+
binaryData: data,
|
|
61
|
+
sessionKey,
|
|
62
|
+
encryptionKeys,
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
armoredData: armoredData,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async encryptAndSign(data, sessionKey, encryptionKeys, signingKey) {
|
|
69
|
+
const { message: encryptedData } = await this.cryptoProxy.encryptMessage({
|
|
70
|
+
binaryData: data,
|
|
71
|
+
sessionKey,
|
|
72
|
+
signingKeys: signingKey,
|
|
73
|
+
encryptionKeys,
|
|
74
|
+
format: 'binary',
|
|
75
|
+
detached: false,
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
encryptedData: encryptedData,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async encryptAndSignArmored(data, sessionKey, encryptionKeys, signingKey) {
|
|
82
|
+
const { message: armoredData } = await this.cryptoProxy.encryptMessage({
|
|
83
|
+
binaryData: data,
|
|
84
|
+
encryptionKeys,
|
|
85
|
+
sessionKey,
|
|
86
|
+
signingKeys: signingKey,
|
|
87
|
+
detached: false,
|
|
88
|
+
});
|
|
89
|
+
return {
|
|
90
|
+
armoredData: armoredData,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
async encryptAndSignDetached(data, sessionKey, encryptionKeys, signingKey) {
|
|
94
|
+
const { message: encryptedData, signature } = await this.cryptoProxy.encryptMessage({
|
|
95
|
+
binaryData: data,
|
|
96
|
+
sessionKey,
|
|
97
|
+
signingKeys: signingKey,
|
|
98
|
+
encryptionKeys,
|
|
99
|
+
format: 'binary',
|
|
100
|
+
detached: true,
|
|
101
|
+
});
|
|
102
|
+
return {
|
|
103
|
+
encryptedData: encryptedData,
|
|
104
|
+
signature: signature,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
async encryptAndSignDetachedArmored(data, sessionKey, encryptionKeys, signingKey) {
|
|
108
|
+
const { message: armoredData, signature: armoredSignature } = await this.cryptoProxy.encryptMessage({
|
|
109
|
+
binaryData: data,
|
|
110
|
+
sessionKey,
|
|
111
|
+
signingKeys: signingKey,
|
|
112
|
+
encryptionKeys,
|
|
113
|
+
detached: true,
|
|
114
|
+
});
|
|
115
|
+
return {
|
|
116
|
+
armoredData: armoredData,
|
|
117
|
+
armoredSignature: armoredSignature,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async sign(data, signingKeys, signatureContext) {
|
|
121
|
+
const signature = await this.cryptoProxy.signMessage({
|
|
122
|
+
binaryData: data,
|
|
123
|
+
signingKeys,
|
|
124
|
+
detached: true,
|
|
125
|
+
format: 'binary',
|
|
126
|
+
signatureContext: { critical: true, value: signatureContext },
|
|
127
|
+
});
|
|
128
|
+
return {
|
|
129
|
+
signature: signature,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
async signArmored(data, signingKeys) {
|
|
133
|
+
const signature = await this.cryptoProxy.signMessage({
|
|
134
|
+
binaryData: data,
|
|
135
|
+
signingKeys,
|
|
136
|
+
detached: true,
|
|
137
|
+
format: 'armored',
|
|
138
|
+
});
|
|
139
|
+
return {
|
|
140
|
+
signature: signature,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
async verify(data, armoredSignature, verificationKeys) {
|
|
144
|
+
const { verified, verificationStatus } = await this.cryptoProxy.verifyMessage({
|
|
145
|
+
binaryData: data,
|
|
146
|
+
armoredSignature,
|
|
147
|
+
verificationKeys,
|
|
148
|
+
});
|
|
149
|
+
return {
|
|
150
|
+
// pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
|
|
151
|
+
// Proper typing is too complex, it will be removed to support only newer pmcrypto.
|
|
152
|
+
verified: verified || verificationStatus,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
async decryptSessionKey(data, decryptionKeys) {
|
|
156
|
+
const sessionKey = await this.cryptoProxy.decryptSessionKey({
|
|
157
|
+
binaryMessage: data,
|
|
158
|
+
decryptionKeys,
|
|
159
|
+
});
|
|
160
|
+
if (!sessionKey) {
|
|
161
|
+
throw new Error('Could not decrypt session key');
|
|
162
|
+
}
|
|
163
|
+
return sessionKey;
|
|
164
|
+
}
|
|
165
|
+
async decryptArmoredSessionKey(armoredData, decryptionKeys) {
|
|
166
|
+
const sessionKey = await this.cryptoProxy.decryptSessionKey({
|
|
167
|
+
armoredMessage: armoredData,
|
|
168
|
+
decryptionKeys,
|
|
169
|
+
});
|
|
170
|
+
if (!sessionKey) {
|
|
171
|
+
throw new Error('Could not decrypt session key');
|
|
172
|
+
}
|
|
173
|
+
return sessionKey;
|
|
174
|
+
}
|
|
175
|
+
async decryptKey(armoredKey, passphrase) {
|
|
176
|
+
const key = await this.cryptoProxy.importPrivateKey({
|
|
177
|
+
armoredKey,
|
|
178
|
+
passphrase,
|
|
179
|
+
});
|
|
180
|
+
return key;
|
|
181
|
+
}
|
|
182
|
+
async decryptAndVerify(data, sessionKey, verificationKeys) {
|
|
183
|
+
const { data: decryptedData, verified, verificationStatus } = await this.cryptoProxy.decryptMessage({
|
|
184
|
+
binaryMessage: data,
|
|
185
|
+
sessionKeys: sessionKey,
|
|
186
|
+
verificationKeys,
|
|
187
|
+
format: 'binary',
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
data: decryptedData,
|
|
191
|
+
// pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
|
|
192
|
+
// Proper typing is too complex, it will be removed to support only newer pmcrypto.
|
|
193
|
+
verified: verified || verificationStatus,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
async decryptAndVerifyDetached(data, signature, sessionKey, verificationKeys) {
|
|
197
|
+
const { data: decryptedData, verified, verificationStatus } = await this.cryptoProxy.decryptMessage({
|
|
198
|
+
binaryMessage: data,
|
|
199
|
+
binarySignature: signature,
|
|
200
|
+
sessionKeys: sessionKey,
|
|
201
|
+
verificationKeys,
|
|
202
|
+
format: 'binary',
|
|
203
|
+
});
|
|
204
|
+
return {
|
|
205
|
+
data: decryptedData,
|
|
206
|
+
// pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
|
|
207
|
+
// Proper typing is too complex, it will be removed to support only newer pmcrypto.
|
|
208
|
+
verified: verified || verificationStatus,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
async decryptArmored(armoredData, decryptionKeys) {
|
|
212
|
+
const { data } = await this.cryptoProxy.decryptMessage({
|
|
213
|
+
armoredMessage: armoredData,
|
|
214
|
+
decryptionKeys,
|
|
215
|
+
format: 'binary',
|
|
216
|
+
});
|
|
217
|
+
return data;
|
|
218
|
+
}
|
|
219
|
+
async decryptArmoredAndVerify(armoredData, decryptionKeys, verificationKeys) {
|
|
220
|
+
const { data, verified, verificationStatus } = await this.cryptoProxy.decryptMessage({
|
|
221
|
+
armoredMessage: armoredData,
|
|
222
|
+
decryptionKeys,
|
|
223
|
+
verificationKeys,
|
|
224
|
+
format: 'binary',
|
|
225
|
+
});
|
|
226
|
+
return {
|
|
227
|
+
data: data,
|
|
228
|
+
// pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
|
|
229
|
+
// Proper typing is too complex, it will be removed to support only newer pmcrypto.
|
|
230
|
+
verified: verified || verificationStatus,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
async decryptArmoredAndVerifyDetached(armoredData, armoredSignature, sessionKey, verificationKeys) {
|
|
234
|
+
const { data, verified, verificationStatus } = await this.cryptoProxy.decryptMessage({
|
|
235
|
+
armoredMessage: armoredData,
|
|
236
|
+
armoredSignature,
|
|
237
|
+
sessionKeys: sessionKey,
|
|
238
|
+
verificationKeys,
|
|
239
|
+
format: 'binary',
|
|
240
|
+
});
|
|
241
|
+
return {
|
|
242
|
+
data: data,
|
|
243
|
+
// pmcrypto 8.3.0 changes `verified` to `verificationStatus`.
|
|
244
|
+
// Proper typing is too complex, it will be removed to support only newer pmcrypto.
|
|
245
|
+
verified: verified || verificationStatus,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
exports.OpenPGPCryptoWithCryptoProxy = OpenPGPCryptoWithCryptoProxy;
|
|
250
|
+
//# sourceMappingURL=openPGPCrypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openPGPCrypto.js","sourceRoot":"","sources":["../../src/crypto/openPGPCrypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// This file has copy-pasted utilities from CryptoProxy located in Proton web clients monorepo.
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.uint8ArrayToBase64String = uint8ArrayToBase64String;
|
|
5
|
+
exports.base64StringToUint8Array = base64StringToUint8Array;
|
|
6
|
+
function uint8ArrayToBase64String(array) {
|
|
7
|
+
return encodeBase64(arrayToBinaryString(array));
|
|
8
|
+
}
|
|
9
|
+
function base64StringToUint8Array(string) {
|
|
10
|
+
return binaryStringToArray(decodeBase64(string) || '');
|
|
11
|
+
}
|
|
12
|
+
const ifDefined = (cb) => (input) => {
|
|
13
|
+
return (input !== undefined ? cb(input) : undefined);
|
|
14
|
+
};
|
|
15
|
+
const encodeBase64 = ifDefined((input) => btoa(input).trim());
|
|
16
|
+
const decodeBase64 = ifDefined((input) => atob(input.trim()));
|
|
17
|
+
const arrayToBinaryString = (bytes) => {
|
|
18
|
+
const result = [];
|
|
19
|
+
const bs = 1 << 14;
|
|
20
|
+
const j = bytes.length;
|
|
21
|
+
for (let i = 0; i < j; i += bs) {
|
|
22
|
+
// @ts-expect-error Uint8Array treated as number[]
|
|
23
|
+
// eslint-disable-next-line prefer-spread
|
|
24
|
+
result.push(String.fromCharCode.apply(String, bytes.subarray(i, i + bs < j ? i + bs : j)));
|
|
25
|
+
}
|
|
26
|
+
return result.join('');
|
|
27
|
+
};
|
|
28
|
+
const binaryStringToArray = (str) => {
|
|
29
|
+
const result = new Uint8Array(str.length);
|
|
30
|
+
for (let i = 0; i < str.length; i++) {
|
|
31
|
+
result[i] = str.charCodeAt(i);
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/crypto/utils.ts"],"names":[],"mappings":";AAAA,+FAA+F;;AAE/F,4DAEC;AAED,4DAEC;AAND,SAAgB,wBAAwB,CAAC,KAAiB;IACtD,OAAO,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAc;IACnD,OAAO,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,SAAS,GACX,CAAO,EAAmB,EAAE,EAAE,CAC9B,CAA0B,KAAQ,EAAE,EAAE;IAClC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAgC,CAAC;AAC7F,CAAC,CAAC;AAEN,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAEtE,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEtE,MAAM,mBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IACnB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7B,kDAAkD;QAClD,yCAAyC;QACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for all SDK errors.
|
|
3
|
+
*
|
|
4
|
+
* This class can be used for catching all SDK errors. The error should have
|
|
5
|
+
* translated message in the `message` property that should be shown to the
|
|
6
|
+
* user without any modification.
|
|
7
|
+
*
|
|
8
|
+
* No retries should be done as that is already handled by the SDK.
|
|
9
|
+
*
|
|
10
|
+
* When SDK throws an error and it is not `ProtonDriveError`, it is unhandled error
|
|
11
|
+
* by the SDK and usually indicates bug in the SDK. Please, report it.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ProtonDriveError extends Error {
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Error thrown when the operation is aborted.
|
|
18
|
+
*
|
|
19
|
+
* This error is thrown when the operation is aborted by the user.
|
|
20
|
+
* For example, by calling `abort()` on the `AbortSignal`.
|
|
21
|
+
*/
|
|
22
|
+
export declare class AbortError extends ProtonDriveError {
|
|
23
|
+
name: string;
|
|
24
|
+
constructor(message?: string);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Error thrown when the validation fails.
|
|
28
|
+
*
|
|
29
|
+
* This error is thrown when the validation of the input fails.
|
|
30
|
+
* Validation can be done on the client side or on the server side.
|
|
31
|
+
*
|
|
32
|
+
* For example, on the client, it can be thrown when the node name doesn't
|
|
33
|
+
* follow the required format, etc., while on the server side, it can be thrown
|
|
34
|
+
* when there is not enough permissions, etc.
|
|
35
|
+
*/
|
|
36
|
+
export declare class ValidationError extends ProtonDriveError {
|
|
37
|
+
name: string;
|
|
38
|
+
/**
|
|
39
|
+
* Internal API code.
|
|
40
|
+
*
|
|
41
|
+
* Use only for debugging purposes.
|
|
42
|
+
*/
|
|
43
|
+
readonly code?: number;
|
|
44
|
+
constructor(message: string, code?: number);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Error thrown when the node already exists.
|
|
48
|
+
*
|
|
49
|
+
* This error is thrown when the node with the same name already exists in the
|
|
50
|
+
* parent folder. The client should ask the user to replace the existing node
|
|
51
|
+
* or choose another name. The available name is provided in the `availableName`
|
|
52
|
+
* property (that will contain original name with the index that can be used).
|
|
53
|
+
*/
|
|
54
|
+
export declare class NodeAlreadyExistsValidationError extends ValidationError {
|
|
55
|
+
name: string;
|
|
56
|
+
readonly availableName: string;
|
|
57
|
+
constructor(message: string, code: number, availableName: string);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Error thrown when the API call fails.
|
|
61
|
+
*
|
|
62
|
+
* This error covers both HTTP errors and API errors. SDK automatically
|
|
63
|
+
* retries the request before the error is thrown. The sepcific algorithm
|
|
64
|
+
* used for retries depends on the type of the error.
|
|
65
|
+
*
|
|
66
|
+
* Client should not retry the request when this error is thrown.
|
|
67
|
+
*/
|
|
68
|
+
export declare class ServerError extends ProtonDriveError {
|
|
69
|
+
name: string;
|
|
70
|
+
/**
|
|
71
|
+
* HTTP status code of the response.
|
|
72
|
+
*
|
|
73
|
+
* Use only for debugging purposes.
|
|
74
|
+
*/
|
|
75
|
+
readonly statusCode?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Internal API code.
|
|
78
|
+
*
|
|
79
|
+
* Use only for debugging purposes.
|
|
80
|
+
*/
|
|
81
|
+
readonly code?: number;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Error thrown when the client makes too many requests to the API.
|
|
85
|
+
*
|
|
86
|
+
* SDK is configured to stay below the rate limits, but it can still happen if
|
|
87
|
+
* client is running multiple SDKs in parallel, or if the rate limits are
|
|
88
|
+
* changed on the server side.
|
|
89
|
+
*
|
|
90
|
+
* SDK automatically retries the request before the error is thrown after
|
|
91
|
+
* waiting for the required time specified by the server.
|
|
92
|
+
*
|
|
93
|
+
* Client should slow down calling SDK when this error is thrown.
|
|
94
|
+
*
|
|
95
|
+
* You can be also notified about the rate limits by the `requestsThrottled`
|
|
96
|
+
* event. See `onMessage` method on the SDK class for more details.
|
|
97
|
+
*/
|
|
98
|
+
export declare class RateLimitedError extends ServerError {
|
|
99
|
+
name: string;
|
|
100
|
+
code: number;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Error thrown when the client is not connected to the internet.
|
|
104
|
+
*
|
|
105
|
+
* Client should check the internet connection when this error is thrown.
|
|
106
|
+
*
|
|
107
|
+
* You can also be notified about the connection status by the `offline` event
|
|
108
|
+
* See `onMessage` method on the SDK class for more details.
|
|
109
|
+
*/
|
|
110
|
+
export declare class ConnectionError extends ProtonDriveError {
|
|
111
|
+
name: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Error thrown when the decryption fails.
|
|
115
|
+
*
|
|
116
|
+
* Client should report this error to the user and report bug report.
|
|
117
|
+
*
|
|
118
|
+
* In most cases, there is no decryption error. Every decryption error should
|
|
119
|
+
* be not exposed but set as empty value on the node, for example. But in the
|
|
120
|
+
* case of the file content, if block cannot be decrypted, decryption error
|
|
121
|
+
* is thrown.
|
|
122
|
+
*/
|
|
123
|
+
export declare class DecryptionError extends ProtonDriveError {
|
|
124
|
+
name: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Error thrown when the data integrity check fails.
|
|
128
|
+
*
|
|
129
|
+
* Client should report this error to the user and report bug report.
|
|
130
|
+
*
|
|
131
|
+
* For example, it can happen when hashes don't match, etc. In some cases,
|
|
132
|
+
* SDK allows to run command without verification checks for debug purposes.
|
|
133
|
+
*/
|
|
134
|
+
export declare class IntegrityError extends ProtonDriveError {
|
|
135
|
+
name: string;
|
|
136
|
+
readonly debug?: object;
|
|
137
|
+
constructor(message: string, debug?: object);
|
|
138
|
+
}
|