@ledgerhq/dmk-ledger-wallet 0.2.0 → 0.4.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/lib/cjs/api/command/OsUpdate/Backup/BackupAppStorageCommand.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Backup/BackupAppStorageCommand.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Backup/BackupAppStorageCommand.test.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Backup/BackupAppStorageCommand.test.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.test.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.test.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.test.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.test.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.test.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.test.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RequestMasterConsentCommand.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RequestMasterConsentCommand.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RequestMasterConsentCommand.test.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RequestMasterConsentCommand.test.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RestoreAppStorageCommand.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RestoreAppStorageCommand.js.map +7 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RestoreAppStorageCommand.test.js +2 -0
- package/lib/cjs/api/command/OsUpdate/Restore/RestoreAppStorageCommand.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/CreateBackupDeviceActionErrors.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/CreateBackupDeviceActionErrors.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Backup/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/CleanDevice/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Resolve/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Restore/RestoreBackup/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/OsUpdateUtils.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/OsUpdateUtils.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Shared/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/FlashMcu/types.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js.map +7 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/types.js +2 -0
- package/lib/cjs/api/device-action/OsUpdate/Update/InstallOsUpdate/types.js.map +7 -0
- package/lib/cjs/api/task/OsUpdate/Backup/BackupAppStorageTask.js +2 -0
- package/lib/cjs/api/task/OsUpdate/Backup/BackupAppStorageTask.js.map +7 -0
- package/lib/cjs/api/task/OsUpdate/Backup/BackupAppStorageTask.test.js +2 -0
- package/lib/cjs/api/task/OsUpdate/Backup/BackupAppStorageTask.test.js.map +7 -0
- package/lib/cjs/api/task/OsUpdate/Restore/RestoreAppStorageTask.js +2 -0
- package/lib/cjs/api/task/OsUpdate/Restore/RestoreAppStorageTask.js.map +7 -0
- package/lib/cjs/api/task/OsUpdate/Restore/RestoreAppStorageTask.test.js +2 -0
- package/lib/cjs/api/task/OsUpdate/Restore/RestoreAppStorageTask.test.js.map +7 -0
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/index.js.map +3 -3
- package/lib/cjs/package.json +5 -2
- package/lib/esm/api/command/OsUpdate/Backup/BackupAppStorageCommand.js +2 -0
- package/lib/esm/api/command/OsUpdate/Backup/BackupAppStorageCommand.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Backup/BackupAppStorageCommand.test.js +2 -0
- package/lib/esm/api/command/OsUpdate/Backup/BackupAppStorageCommand.test.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.js +2 -0
- package/lib/esm/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.test.js +2 -0
- package/lib/esm/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.test.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.test.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.test.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.test.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.test.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/RequestMasterConsentCommand.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/RequestMasterConsentCommand.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/RequestMasterConsentCommand.test.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/RequestMasterConsentCommand.test.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/RestoreAppStorageCommand.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/RestoreAppStorageCommand.js.map +7 -0
- package/lib/esm/api/command/OsUpdate/Restore/RestoreAppStorageCommand.test.js +2 -0
- package/lib/esm/api/command/OsUpdate/Restore/RestoreAppStorageCommand.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/CreateBackupDeviceActionErrors.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/CreateBackupDeviceActionErrors.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Backup/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/CleanDevice/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Resolve/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Restore/RestoreBackup/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/OsUpdateUtils.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/OsUpdateUtils.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/types.js +1 -0
- package/lib/esm/api/device-action/OsUpdate/Shared/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/FlashMcu/types.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.js.map +7 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/types.js +2 -0
- package/lib/esm/api/device-action/OsUpdate/Update/InstallOsUpdate/types.js.map +7 -0
- package/lib/esm/api/task/OsUpdate/Backup/BackupAppStorageTask.js +2 -0
- package/lib/esm/api/task/OsUpdate/Backup/BackupAppStorageTask.js.map +7 -0
- package/lib/esm/api/task/OsUpdate/Backup/BackupAppStorageTask.test.js +2 -0
- package/lib/esm/api/task/OsUpdate/Backup/BackupAppStorageTask.test.js.map +7 -0
- package/lib/esm/api/task/OsUpdate/Restore/RestoreAppStorageTask.js +2 -0
- package/lib/esm/api/task/OsUpdate/Restore/RestoreAppStorageTask.js.map +7 -0
- package/lib/esm/api/task/OsUpdate/Restore/RestoreAppStorageTask.test.js +2 -0
- package/lib/esm/api/task/OsUpdate/Restore/RestoreAppStorageTask.test.js.map +7 -0
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +3 -3
- package/lib/esm/package.json +5 -2
- package/lib/types/api/command/OsUpdate/Backup/BackupAppStorageCommand.d.ts +18 -0
- package/lib/types/api/command/OsUpdate/Backup/BackupAppStorageCommand.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Backup/BackupAppStorageCommand.test.d.ts +2 -0
- package/lib/types/api/command/OsUpdate/Backup/BackupAppStorageCommand.test.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.d.ts +26 -0
- package/lib/types/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.test.d.ts +2 -0
- package/lib/types/api/command/OsUpdate/Backup/GetAppStorageInfoCommand.test.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.d.ts +14 -0
- package/lib/types/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.test.d.ts +2 -0
- package/lib/types/api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand.test.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.d.ts +20 -0
- package/lib/types/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.test.d.ts +2 -0
- package/lib/types/api/command/OsUpdate/Restore/InitRestoreAppStorageCommand.test.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/RequestMasterConsentCommand.d.ts +24 -0
- package/lib/types/api/command/OsUpdate/Restore/RequestMasterConsentCommand.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/RequestMasterConsentCommand.test.d.ts +2 -0
- package/lib/types/api/command/OsUpdate/Restore/RequestMasterConsentCommand.test.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/RestoreAppStorageCommand.d.ts +19 -0
- package/lib/types/api/command/OsUpdate/Restore/RestoreAppStorageCommand.d.ts.map +1 -0
- package/lib/types/api/command/OsUpdate/Restore/RestoreAppStorageCommand.test.d.ts +2 -0
- package/lib/types/api/command/OsUpdate/Restore/RestoreAppStorageCommand.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Backup/CreateBackupDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/CreateBackupDeviceActionErrors.d.ts +18 -0
- package/lib/types/api/device-action/OsUpdate/Backup/CreateBackupDeviceActionErrors.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.d.ts +14 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/BackupAppsStorage.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/DownloadCustomLockScreen.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.d.ts +8 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetIsOnboarded.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.d.ts +8 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Backup/Substeps/GetLanguageId.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Backup/types.d.ts +43 -0
- package/lib/types/api/device-action/OsUpdate/Backup/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/CleanDeviceDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.d.ts +7 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/DeleteLanguagePack.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/GetCustomLockScreenInfo.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/RemoveCustomLockScreen.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.d.ts +5 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/Substeps/UninstallApp.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/types.d.ts +33 -0
- package/lib/types/api/device-action/OsUpdate/CleanDevice/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.d.ts +9 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.d.ts +14 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/types.d.ts +29 -0
- package/lib/types/api/device-action/OsUpdate/Resolve/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.d.ts +18 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.d.ts +8 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.d.ts +15 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.d.ts +13 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.d.ts +48 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors.d.ts +13 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/RestoreBackupDeviceActionErrors.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.d.ts +11 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.d.ts +5 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.d.ts +5 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.d.ts +17 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/types.d.ts +55 -0
- package/lib/types/api/device-action/OsUpdate/Restore/RestoreBackup/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors.d.ts +7 -0
- package/lib/types/api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/OsUpdateUtils.d.ts +3 -0
- package/lib/types/api/device-action/OsUpdate/Shared/OsUpdateUtils.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.d.ts +8 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GetOsVersion.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.d.ts +5 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/GoToDashboard.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.d.ts +5 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/ListInstalledApps.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.d.ts +5 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Shared/types.d.ts +36 -0
- package/lib/types/api/device-action/OsUpdate/Shared/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors.d.ts +14 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/FlashMcuDeviceActionErrors.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.d.ts +12 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/FlashMcu.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.d.ts +15 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/Substeps/ResolveMcuVersion.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/types.d.ts +28 -0
- package/lib/types/api/device-action/OsUpdate/Update/FlashMcu/types.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.d.ts +6 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/InstallOsUpdateDeviceAction.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.d.ts +17 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.d.ts +2 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/Substeps/InstallFirmware.test.d.ts.map +1 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/types.d.ts +29 -0
- package/lib/types/api/device-action/OsUpdate/Update/InstallOsUpdate/types.d.ts.map +1 -0
- package/lib/types/api/task/OsUpdate/Backup/BackupAppStorageTask.d.ts +19 -0
- package/lib/types/api/task/OsUpdate/Backup/BackupAppStorageTask.d.ts.map +1 -0
- package/lib/types/api/task/OsUpdate/Backup/BackupAppStorageTask.test.d.ts +2 -0
- package/lib/types/api/task/OsUpdate/Backup/BackupAppStorageTask.test.d.ts.map +1 -0
- package/lib/types/api/task/OsUpdate/Restore/RestoreAppStorageTask.d.ts +14 -0
- package/lib/types/api/task/OsUpdate/Restore/RestoreAppStorageTask.d.ts.map +1 -0
- package/lib/types/api/task/OsUpdate/Restore/RestoreAppStorageTask.test.d.ts +2 -0
- package/lib/types/api/task/OsUpdate/Restore/RestoreAppStorageTask.test.d.ts.map +1 -0
- package/lib/types/index.d.ts +23 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
- package/package.json +8 -5
package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n DeviceActionStatus,\n type GetOsVersionResponse,\n UnknownDAError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { ResolveOsUpdatePathDeviceAction } from \"@api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceAction\";\nimport { ResolveOsUpdatePathError } from \"@api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors\";\nimport { resolveOsUpdatePath } from \"@api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath\";\nimport {\n type ResolveOsUpdatePathDAError,\n type ResolveOsUpdatePathDAState,\n ResolveOsUpdatePathSteps,\n} from \"@api/device-action/OsUpdate/Resolve/types\";\nimport { GetOsVersionError } from \"@api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors\";\nimport { getOsVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/GetOsVersion\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\nimport { type OsUpdate } from \"@api/device-action/OsUpdate/Shared/types\";\n\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GetOsVersion\");\nvi.mock(\"@api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath\");\n\nconst pendingState = (\n step: ResolveOsUpdatePathSteps,\n): ResolveOsUpdatePathDAState => ({\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step,\n },\n});\n\nconst completedState = (output: OsUpdate[]): ResolveOsUpdatePathDAState => ({\n status: DeviceActionStatus.Completed,\n output,\n});\n\nconst errorState = (\n error: ResolveOsUpdatePathDAError,\n): ResolveOsUpdatePathDAState => ({\n status: DeviceActionStatus.Error,\n error,\n});\n\nconst createMockActorMachineFromOutput = (\n output: () => Either<unknown, unknown>,\n) =>\n createMachine({\n initial: \"ready\",\n states: {\n ready: {\n after: { 0: \"done\" },\n entry: assign({\n intermediateValue: () => ({\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n },\n done: { type: \"final\" },\n },\n output,\n });\n\nconst createMockActorMachine = (output: Either<unknown, unknown>) =>\n createMockActorMachineFromOutput(() => output);\n\ndescribe(\"ResolveOsUpdatePathDeviceAction\", () => {\n const getOsVersionResponse = {\n isBootloader: false,\n isOsu: false,\n targetId: 0x33200004,\n seTargetId: 0x33200004,\n mcuTargetId: undefined,\n seVersion: \"1.3.0\",\n seFlags: new Uint8Array([0xe6, 0x00, 0x00, 0x00]),\n mcuSephVersion: \"5.24\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: 0,\n recoverState: undefined,\n secureElementFlags: {\n isPinValidated: true,\n hasMcuSerialNumber: true,\n hasValidCertificate: true,\n isCustomAuthorityConnectionAllowed: false,\n isSecureConnectionAllowed: false,\n isOnboarded: true,\n isMcuCodeSigned: true,\n isInRecoveryMode: false,\n },\n } satisfies GetOsVersionResponse;\n\n const osUpdates = [\n {\n osuFirmware: {\n id: 200,\n notes: \"Update notes\",\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n hash: \"osu-hash\",\n nextFinalFirmware: 300,\n },\n finalFirmware: {\n id: 300,\n version: \"1.4.0\",\n perso: \"perso\",\n firmware: \"final\",\n firmwareKey: \"final-key\",\n hash: \"final-hash\",\n bytes: 123,\n mcuVersions: [1],\n },\n shouldFlashMcu: false,\n },\n ] satisfies OsUpdate[];\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n const setupWaitForAppAndVersion = (appName = \"BOLOS\") =>\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(\n Right({\n name: appName,\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n\n const setupWaitForAppAndVersionSequence = (appNames: string[]) => {\n const remainingAppNames = [...appNames];\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachineFromOutput(() =>\n Right({\n name: remainingAppNames.shift() ?? \"BOLOS\",\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n };\n\n const setupGoToDashboard = (\n output: Either<unknown, unknown> = Right(undefined),\n ) =>\n vi\n .mocked(goToDashboard)\n .mockReturnValue(\n createMockActorMachine(output) as unknown as ReturnType<\n typeof goToDashboard\n >,\n );\n\n const setupGetOsVersion = (\n result: Either<unknown, GetOsVersionResponse> = Right(getOsVersionResponse),\n ) =>\n vi\n .mocked(getOsVersion)\n .mockReturnValue(\n () =>\n Promise.resolve(result) as ReturnType<\n ReturnType<typeof getOsVersion>\n >,\n );\n\n const setupResolveOsUpdatePath = (\n result: Either<unknown, OsUpdate[]> = Right(osUpdates),\n ) =>\n vi\n .mocked(resolveOsUpdatePath)\n .mockReturnValue(\n () =>\n Promise.resolve(result) as ReturnType<\n ReturnType<typeof resolveOsUpdatePath>\n >,\n );\n\n const makeDeviceAction = () =>\n new ResolveOsUpdatePathDeviceAction({\n input: {\n unlockTimeout: 30_000,\n },\n });\n\n describe(\"Success\", () => {\n it(\"Should complete the resolve flow when the device is already on dashboard\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n setupResolveOsUpdatePath();\n\n const expectedStates: ResolveOsUpdatePathDAState[] = [\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.GetOsVersion),\n pendingState(ResolveOsUpdatePathSteps.ResolveOsUpdatePath),\n completedState(osUpdates),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to dashboard and wait for app and version again when an app is open\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersionSequence([\"Bitcoin\", \"BOLOS\"]);\n setupGoToDashboard();\n setupGetOsVersion();\n setupResolveOsUpdatePath();\n\n const expectedStates: ResolveOsUpdatePathDAState[] = [\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.GoToDashboard),\n pendingState(ResolveOsUpdatePathSteps.GoToDashboard),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.GetOsVersion),\n pendingState(ResolveOsUpdatePathSteps.ResolveOsUpdatePath),\n completedState(osUpdates),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n\n describe(\"Error\", () => {\n it(\"Should go to Error when waitForAppAndVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n const error = new UnknownDAError(\"waitForAppAndVersion failed\");\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(Left(error)) as unknown as ReturnType<\n typeof waitForAppAndVersion\n >,\n );\n\n const expectedStates: ResolveOsUpdatePathDAState[] = [\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when goToDashboard returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion(\"Bitcoin\");\n const error = new UnknownDAError(\"goToDashboard failed\");\n setupGoToDashboard(Left(error));\n\n const expectedStates: ResolveOsUpdatePathDAState[] = [\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.GoToDashboard),\n pendingState(ResolveOsUpdatePathSteps.GoToDashboard),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when getOsVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n const error = new GetOsVersionError(new Error(\"command failed\"));\n setupGetOsVersion(Left(error));\n setupResolveOsUpdatePath();\n\n const expectedStates: ResolveOsUpdatePathDAState[] = [\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.GetOsVersion),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"Should go to Error when resolveOsUpdatePath returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGetOsVersion();\n const error = new ResolveOsUpdatePathError(\n new Error(\"manager api failed\"),\n );\n setupResolveOsUpdatePath(Left(error));\n\n const expectedStates: ResolveOsUpdatePathDAState[] = [\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.WaitForAppAndVersion),\n pendingState(ResolveOsUpdatePathSteps.GetOsVersion),\n pendingState(ResolveOsUpdatePathSteps.ResolveOsUpdatePath),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DeviceActionStatus", "UnknownDAError", "UserInteractionRequired", "Left", "Right", "assign", "createMachine", "makeDeviceActionInternalApiMock", "testDeviceActionStates", "ResolveOsUpdatePathDeviceAction", "ResolveOsUpdatePathError", "resolveOsUpdatePath", "ResolveOsUpdatePathSteps", "GetOsVersionError", "getOsVersion", "goToDashboard", "waitForAppAndVersion", "pendingState", "step", "completedState", "output", "errorState", "error", "createMockActorMachineFromOutput", "createMockActorMachine", "getOsVersionResponse", "osUpdates", "setupWaitForAppAndVersion", "appName", "setupWaitForAppAndVersionSequence", "appNames", "remainingAppNames", "setupGoToDashboard", "setupGetOsVersion", "result", "setupResolveOsUpdatePath", "makeDeviceAction", "resolve", "reject", "expectedStates"]
|
|
7
|
+
}
|
package/lib/esm/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors.ts"],
|
|
4
|
+
"sourcesContent": ["import { type DmkError } from \"@ledgerhq/device-management-kit\";\n\nimport { type GetOsVersionError } from \"@api/device-action/OsUpdate/Shared/OsUpdateDeviceActionErrors\";\n\nexport class ResolveOsUpdatePathError implements DmkError {\n readonly _tag = \"ResolveOsUpdatePathError\";\n readonly originalError?: unknown;\n\n constructor(originalError?: unknown) {\n this.originalError = originalError;\n }\n}\n\nexport type ResolveOsUpdatePathDAErrors =\n | GetOsVersionError\n | ResolveOsUpdatePathError;\n"],
|
|
5
|
+
"mappings": "AAIO,MAAMA,CAA6C,CAC/C,KAAO,2BACP,cAET,YAAYC,EAAyB,CACnC,KAAK,cAAgBA,CACvB,CACF",
|
|
6
|
+
"names": ["ResolveOsUpdatePathError", "originalError"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{EitherAsync as v,Just as O,Maybe as g}from"purify-ts";import{ResolveOsUpdatePathError as u}from"../../../../device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors";import{bestCompatibleMcu as w}from"../../../../device-action/OsUpdate/Shared/OsUpdateUtils";const U=5,V=r=>({input:{getOsVersionResponse:t}})=>v(async({liftEither:e,fromPromise:a})=>{const i=await a(y(r));let l=await e(m(i,t.mcuSephVersion));const c=await a(R(r,t));let o=(await a(A(r,t,c))).extractNullable();const p=[];for(;o&&p.length<U;){const n=await a(E(r,o)),d=!n.mcuVersions.includes(l);if(d){const h=r.getManagerApiService().getProvider();l=await e(m(i,w(i,n,h)?.name??null))}p.push({osuFirmware:o,finalFirmware:n,shouldFlashMcu:d}),o=(await a(M(r,c,n))).extractNullable()}return p}).run(),s=r=>new u(r),y=r=>r.getManagerApiService().getMcuList().map(t=>t.map(e=>({id:e.id,name:e.name,fromBootloaderVersion:e.fromBootloaderVersion,providers:e.providers}))).mapLeft(s),m=(r,t)=>g.fromNullable(r.find(e=>e.name===t)).map(e=>e.id).toEither(new u(`No MCU firmware found for version ${t}`)),R=(r,t)=>r.getManagerApiService().getDeviceVersion(t).mapLeft(s),A=(r,t,e)=>{const a=r.getManagerApiService();return t.isOsu?a.getOsuFirmwareVersion(t,e).map(O).mapLeft(s):a.getFirmwareVersion(t,e).chain(i=>a.getLatestFirmwareVersion(i,e)).mapLeft(s)},E=(r,t)=>r.getManagerApiService().getNextFirmwareVersion(t).map(e=>({id:e.id,perso:e.perso,version:e.version,bytes:e.bytes,firmware:e.firmware,firmwareKey:e.firmwareKey,hash:e.hash,mcuVersions:e.mcuVersions})).mapLeft(s),M=(r,t,e)=>r.getManagerApiService().getLatestFirmwareVersion(e,t).mapLeft(s);export{V as resolveOsUpdatePath};
|
|
2
|
+
//# sourceMappingURL=ResolveOsUpdatePath.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type GetOsVersionResponse,\n type InternalApi,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, EitherAsync, Just, Maybe } from \"purify-ts\";\n\nimport { ResolveOsUpdatePathError } from \"@api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors\";\nimport { bestCompatibleMcu } from \"@api/device-action/OsUpdate/Shared/OsUpdateUtils\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n type OsUpdate,\n} from \"@api/device-action/OsUpdate/Shared/types\";\n\ntype ResolveOsUpdatePathHandlerInput = {\n getOsVersionResponse: GetOsVersionResponse;\n};\n\ntype ResolveOsUpdatePathHandlerResponse = Promise<\n Either<ResolveOsUpdatePathError, OsUpdate[]>\n>;\n\ntype ResolveOsUpdatePathHandler = ({\n input,\n}: {\n input: ResolveOsUpdatePathHandlerInput;\n}) => ResolveOsUpdatePathHandlerResponse;\n\ntype DeviceVersion = {\n id: number;\n};\n\n/**\n * Limit the number of OS updates to 5 to avoid infinite loops.\n * In practice, it should never be more than that.\n */\nconst MAX_OS_UPDATES_LIMIT = 5;\n\nexport const resolveOsUpdatePath =\n (internalApi: InternalApi): ResolveOsUpdatePathHandler =>\n ({ input: { getOsVersionResponse } }): ResolveOsUpdatePathHandlerResponse =>\n EitherAsync<ResolveOsUpdatePathError, OsUpdate[]>(\n async ({ liftEither, fromPromise }) => {\n const mcuList = await fromPromise(getMcuList(internalApi));\n let mcuId = await liftEither(\n resolveMcuId(mcuList, getOsVersionResponse.mcuSephVersion),\n );\n const deviceVersion = await fromPromise(\n getDeviceVersion(internalApi, getOsVersionResponse),\n );\n let osuFirmware = (\n await fromPromise(\n getOsuFirmware(internalApi, getOsVersionResponse, deviceVersion),\n )\n ).extractNullable();\n\n const osUpdates: OsUpdate[] = [];\n\n while (osuFirmware && osUpdates.length < MAX_OS_UPDATES_LIMIT) {\n const finalFirmware = await fromPromise(\n getNextFirmware(internalApi, osuFirmware),\n );\n const shouldFlashMcu = !finalFirmware.mcuVersions.includes(mcuId);\n\n if (shouldFlashMcu) {\n const provider = internalApi.getManagerApiService().getProvider();\n mcuId = await liftEither(\n resolveMcuId(\n mcuList,\n bestCompatibleMcu(mcuList, finalFirmware, provider)?.name ??\n null,\n ),\n );\n }\n\n osUpdates.push({ osuFirmware, finalFirmware, shouldFlashMcu });\n\n osuFirmware = (\n await fromPromise(\n getNextOsuFirmware(internalApi, deviceVersion, finalFirmware),\n )\n ).extractNullable();\n }\n\n return osUpdates;\n },\n ).run();\n\nconst toResolveOsUpdatePathError = (error: unknown): ResolveOsUpdatePathError =>\n new ResolveOsUpdatePathError(error);\n\nconst getMcuList = (\n internalApi: InternalApi,\n): EitherAsync<ResolveOsUpdatePathError, McuFirmware[]> =>\n internalApi\n .getManagerApiService()\n .getMcuList()\n .map((mcuList) =>\n mcuList.map((mcu) => ({\n id: mcu.id,\n name: mcu.name,\n fromBootloaderVersion: mcu.fromBootloaderVersion,\n providers: mcu.providers,\n })),\n )\n .mapLeft(toResolveOsUpdatePathError);\n\nconst resolveMcuId = (\n mcuList: McuFirmware[],\n mcuName: string | null,\n): Either<ResolveOsUpdatePathError, number> =>\n Maybe.fromNullable(mcuList.find((mcu) => mcu.name === mcuName))\n .map((mcu) => mcu.id)\n .toEither(\n new ResolveOsUpdatePathError(\n `No MCU firmware found for version ${mcuName}`,\n ),\n );\n\nconst getDeviceVersion = (\n internalApi: InternalApi,\n getOsVersionResponse: GetOsVersionResponse,\n): EitherAsync<ResolveOsUpdatePathError, DeviceVersion> => {\n const managerApi = internalApi.getManagerApiService();\n return managerApi\n .getDeviceVersion(getOsVersionResponse)\n .mapLeft(toResolveOsUpdatePathError);\n};\n\nconst getOsuFirmware = (\n internalApi: InternalApi,\n getOsVersionResponse: GetOsVersionResponse,\n deviceVersion: DeviceVersion,\n): EitherAsync<ResolveOsUpdatePathError, Maybe<OsuFirmware>> => {\n const managerApi = internalApi.getManagerApiService();\n return getOsVersionResponse.isOsu\n ? managerApi\n .getOsuFirmwareVersion(getOsVersionResponse, deviceVersion)\n .map(Just)\n .mapLeft(toResolveOsUpdatePathError)\n : managerApi\n .getFirmwareVersion(getOsVersionResponse, deviceVersion)\n .chain((firmwareVersion) =>\n managerApi.getLatestFirmwareVersion(firmwareVersion, deviceVersion),\n )\n .mapLeft(toResolveOsUpdatePathError);\n};\n\nconst getNextFirmware = (\n internalApi: InternalApi,\n osuFirmware: OsuFirmware,\n): EitherAsync<ResolveOsUpdatePathError, FinalFirmware> =>\n internalApi\n .getManagerApiService()\n .getNextFirmwareVersion(osuFirmware)\n .map((nextFirmware) => ({\n id: nextFirmware.id,\n perso: nextFirmware.perso,\n version: nextFirmware.version,\n bytes: nextFirmware.bytes,\n firmware: nextFirmware.firmware,\n firmwareKey: nextFirmware.firmwareKey,\n hash: nextFirmware.hash,\n mcuVersions: nextFirmware.mcuVersions,\n }))\n .mapLeft(toResolveOsUpdatePathError);\n\nconst getNextOsuFirmware = (\n internalApi: InternalApi,\n deviceVersion: DeviceVersion,\n finalFirmware: FinalFirmware,\n): EitherAsync<ResolveOsUpdatePathError, Maybe<OsuFirmware>> => {\n const managerApi = internalApi.getManagerApiService();\n return managerApi\n .getLatestFirmwareVersion(finalFirmware, deviceVersion)\n .mapLeft(toResolveOsUpdatePathError);\n};\n"],
|
|
5
|
+
"mappings": "AAIA,OAAsB,eAAAA,EAAa,QAAAC,EAAM,SAAAC,MAAa,YAEtD,OAAS,4BAAAC,MAAgC,4EACzC,OAAS,qBAAAC,MAAyB,mDA8BlC,MAAMC,EAAuB,EAEhBC,EACVC,GACD,CAAC,CAAE,MAAO,CAAE,qBAAAC,CAAqB,CAAE,IACjCR,EACE,MAAO,CAAE,WAAAS,EAAY,YAAAC,CAAY,IAAM,CACrC,MAAMC,EAAU,MAAMD,EAAYE,EAAWL,CAAW,CAAC,EACzD,IAAIM,EAAQ,MAAMJ,EAChBK,EAAaH,EAASH,EAAqB,cAAc,CAC3D,EACA,MAAMO,EAAgB,MAAML,EAC1BM,EAAiBT,EAAaC,CAAoB,CACpD,EACA,IAAIS,GACF,MAAMP,EACJQ,EAAeX,EAAaC,EAAsBO,CAAa,CACjE,GACA,gBAAgB,EAElB,MAAMI,EAAwB,CAAC,EAE/B,KAAOF,GAAeE,EAAU,OAASd,GAAsB,CAC7D,MAAMe,EAAgB,MAAMV,EAC1BW,EAAgBd,EAAaU,CAAW,CAC1C,EACMK,EAAiB,CAACF,EAAc,YAAY,SAASP,CAAK,EAEhE,GAAIS,EAAgB,CAClB,MAAMC,EAAWhB,EAAY,qBAAqB,EAAE,YAAY,EAChEM,EAAQ,MAAMJ,EACZK,EACEH,EACAP,EAAkBO,EAASS,EAAeG,CAAQ,GAAG,MACnD,IACJ,CACF,CACF,CAEAJ,EAAU,KAAK,CAAE,YAAAF,EAAa,cAAAG,EAAe,eAAAE,CAAe,CAAC,EAE7DL,GACE,MAAMP,EACJc,EAAmBjB,EAAaQ,EAAeK,CAAa,CAC9D,GACA,gBAAgB,CACpB,CAEA,OAAOD,CACT,CACF,EAAE,IAAI,EAEJM,EAA8BC,GAClC,IAAIvB,EAAyBuB,CAAK,EAE9Bd,EACJL,GAEAA,EACG,qBAAqB,EACrB,WAAW,EACX,IAAKI,GACJA,EAAQ,IAAKgB,IAAS,CACpB,GAAIA,EAAI,GACR,KAAMA,EAAI,KACV,sBAAuBA,EAAI,sBAC3B,UAAWA,EAAI,SACjB,EAAE,CACJ,EACC,QAAQF,CAA0B,EAEjCX,EAAe,CACnBH,EACAiB,IAEA1B,EAAM,aAAaS,EAAQ,KAAMgB,GAAQA,EAAI,OAASC,CAAO,CAAC,EAC3D,IAAKD,GAAQA,EAAI,EAAE,EACnB,SACC,IAAIxB,EACF,qCAAqCyB,CAAO,EAC9C,CACF,EAEEZ,EAAmB,CACvBT,EACAC,IAEmBD,EAAY,qBAAqB,EAEjD,iBAAiBC,CAAoB,EACrC,QAAQiB,CAA0B,EAGjCP,EAAiB,CACrBX,EACAC,EACAO,IAC8D,CAC9D,MAAMc,EAAatB,EAAY,qBAAqB,EACpD,OAAOC,EAAqB,MACxBqB,EACG,sBAAsBrB,EAAsBO,CAAa,EACzD,IAAId,CAAI,EACR,QAAQwB,CAA0B,EACrCI,EACG,mBAAmBrB,EAAsBO,CAAa,EACtD,MAAOe,GACND,EAAW,yBAAyBC,EAAiBf,CAAa,CACpE,EACC,QAAQU,CAA0B,CAC3C,EAEMJ,EAAkB,CACtBd,EACAU,IAEAV,EACG,qBAAqB,EACrB,uBAAuBU,CAAW,EAClC,IAAKc,IAAkB,CACtB,GAAIA,EAAa,GACjB,MAAOA,EAAa,MACpB,QAASA,EAAa,QACtB,MAAOA,EAAa,MACpB,SAAUA,EAAa,SACvB,YAAaA,EAAa,YAC1B,KAAMA,EAAa,KACnB,YAAaA,EAAa,WAC5B,EAAE,EACD,QAAQN,CAA0B,EAEjCD,EAAqB,CACzBjB,EACAQ,EACAK,IAEmBb,EAAY,qBAAqB,EAEjD,yBAAyBa,EAAeL,CAAa,EACrD,QAAQU,CAA0B",
|
|
6
|
+
"names": ["EitherAsync", "Just", "Maybe", "ResolveOsUpdatePathError", "bestCompatibleMcu", "MAX_OS_UPDATES_LIMIT", "resolveOsUpdatePath", "internalApi", "getOsVersionResponse", "liftEither", "fromPromise", "mcuList", "getMcuList", "mcuId", "resolveMcuId", "deviceVersion", "getDeviceVersion", "osuFirmware", "getOsuFirmware", "osUpdates", "finalFirmware", "getNextFirmware", "shouldFlashMcu", "provider", "getNextOsuFirmware", "toResolveOsUpdatePathError", "error", "mcu", "mcuName", "managerApi", "firmwareVersion", "nextFirmware"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{EitherAsync as h,Just as c,Nothing as d}from"purify-ts";import{makeDeviceActionInternalApiMock as O}from"../../../../device-action/__test-utils__/makeInternalApi";import{ResolveOsUpdatePathError as V}from"../../../../device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors";import{resolveOsUpdatePath as u}from"../../../../device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath";const r=w=>h(()=>Promise.resolve(w)),R=w=>h(({throwE:i})=>Promise.resolve(i(w)));describe("ResolveOsUpdatePath",()=>{const i=O(),a={isBootloader:!1,isOsu:!1,targetId:857735172,seTargetId:857735172,mcuTargetId:void 0,seVersion:"1.3.0",seFlags:new Uint8Array([230,0,0,0]),mcuSephVersion:"1.0.0",mcuBootloaderVersion:"0.48",hwVersion:"00",langId:0,recoverState:void 0,secureElementFlags:{isPinValidated:!0,hasMcuSerialNumber:!0,hasValidCertificate:!0,isCustomAuthorityConnectionAllowed:!1,isSecureConnectionAllowed:!1,isOnboarded:!0,isMcuCodeSigned:!0,isInRecoveryMode:!1}},l={id:17,target_id:"857735172",name:"Ledger Stax"},F={id:100,version:"1.3.0",perso:"perso",firmware:null,firmwareKey:null,hash:null,bytes:null,mcuVersions:[1]},o={id:200,notes:"Update notes",perso:"perso",firmware:"osu",firmwareKey:"osu-key",hash:"osu-hash",nextFinalFirmware:300},p={...o,id:201,nextFinalFirmware:301},n={id:300,version:"1.4.0",perso:"perso",firmware:"final",firmwareKey:"final-key",hash:"final-hash",bytes:123,mcuVersions:[1]},f={...n,id:301,version:"1.5.0",mcuVersions:[3]},g=[{id:1,name:"1.0.0",fromBootloaderVersion:"0.0",providers:[1]},{id:3,name:"3.0.0",fromBootloaderVersion:"0.0",providers:[1,2]}],e={getMcuList:vi.fn(),getDeviceVersion:vi.fn(),getFirmwareVersion:vi.fn(),getOsuFirmwareVersion:vi.fn(),getLatestFirmwareVersion:vi.fn(),getNextFirmwareVersion:vi.fn(),getProvider:vi.fn()};beforeEach(()=>{vi.resetAllMocks(),i.getManagerApiService.mockReturnValue(e),e.getMcuList.mockReturnValue(r(g)),e.getDeviceVersion.mockReturnValue(r(l)),e.getFirmwareVersion.mockReturnValue(r(F)),e.getLatestFirmwareVersion.mockReturnValue(r(c(o))),e.getOsuFirmwareVersion.mockReturnValue(r(o)),e.getNextFirmwareVersion.mockReturnValue(r(n)),e.getProvider.mockReturnValue(1)}),describe("Success",()=>{it("Should return an empty update path when no firmware update is available",async()=>{e.getLatestFirmwareVersion.mockReturnValueOnce(r(d));const t=await u(i)({input:{getOsVersionResponse:a}});expect(t.extract()).toEqual([]),expect(e.getDeviceVersion).toHaveBeenCalledWith(a),expect(e.getFirmwareVersion).toHaveBeenCalledWith(a,l),expect(e.getLatestFirmwareVersion).toHaveBeenCalledWith(F,l),expect(e.getNextFirmwareVersion).not.toHaveBeenCalled()}),it("Should resolve a single update without MCU flash when the final firmware supports the current MCU",async()=>{e.getLatestFirmwareVersion.mockReturnValueOnce(r(c(o))).mockReturnValueOnce(r(d));const t=await u(i)({input:{getOsVersionResponse:a}});expect(t.extract()).toEqual([{osuFirmware:o,finalFirmware:n,shouldFlashMcu:!1}])}),it("Should resolve OSU mode from the OSU firmware endpoint",async()=>{e.getLatestFirmwareVersion.mockReturnValueOnce(r(d));const t={...a,isOsu:!0},s=await u(i)({input:{getOsVersionResponse:t}});expect(s.extract()).toEqual([{osuFirmware:o,finalFirmware:n,shouldFlashMcu:!1}]),expect(e.getOsuFirmwareVersion).toHaveBeenCalledWith(t,l),expect(e.getFirmwareVersion).not.toHaveBeenCalled()}),it("Should resolve multiple updates and flag the one requiring an MCU flash",async()=>{e.getLatestFirmwareVersion.mockReturnValueOnce(r(c(o))).mockReturnValueOnce(r(c(p))).mockReturnValueOnce(r(d)),e.getNextFirmwareVersion.mockReturnValueOnce(r(n)).mockReturnValueOnce(r(f));const t=await u(i)({input:{getOsVersionResponse:a}});expect(t.extract()).toEqual([{osuFirmware:o,finalFirmware:n,shouldFlashMcu:!1},{osuFirmware:p,finalFirmware:f,shouldFlashMcu:!0}]),expect(e.getDeviceVersion).toHaveBeenCalledTimes(1),expect(e.getLatestFirmwareVersion).toHaveBeenNthCalledWith(2,n,l)}),it("Should resolve the latest compatible MCU when MCU names are not strict semver",async()=>{const t=[{id:1,name:"1.0",fromBootloaderVersion:"0.0",providers:[1]},{id:2,name:"1.1",fromBootloaderVersion:"0.0",providers:[1,2]},{id:3,name:"1.2",fromBootloaderVersion:"0.0",providers:[1,2,3]}],s={...n,mcuVersions:[2,3]},m={...f,mcuVersions:[3]};e.getMcuList.mockReturnValueOnce(r(t)),e.getLatestFirmwareVersion.mockReturnValueOnce(r(c(o))).mockReturnValueOnce(r(c(p))).mockReturnValueOnce(r(d)),e.getNextFirmwareVersion.mockReturnValueOnce(r(s)).mockReturnValueOnce(r(m));const v=await u(i)({input:{getOsVersionResponse:{...a,mcuSephVersion:"1.0"}}});expect(v.extract()).toEqual([{osuFirmware:o,finalFirmware:s,shouldFlashMcu:!0},{osuFirmware:p,finalFirmware:m,shouldFlashMcu:!1}])})}),describe("Error",()=>{it("Should return ResolveOsUpdatePathError when the MCU list cannot be fetched",async()=>{const t=new Error("mcu list failed");e.getMcuList.mockReturnValueOnce(R(t));const s=await u(i)({input:{getOsVersionResponse:a}});expect(s.isLeft()).toBe(!0),s.mapLeft(m=>{expect(m).toBeInstanceOf(V),expect(m.originalError).toBe(t)})}),it("Should return ResolveOsUpdatePathError when the current MCU version is unknown",async()=>{const t=await u(i)({input:{getOsVersionResponse:{...a,mcuSephVersion:"9.9.9"}}});expect(t.isLeft()).toBe(!0),t.mapLeft(s=>{expect(s).toBeInstanceOf(V),expect(s.originalError).toBe("No MCU firmware found for version 9.9.9")})}),it("Should return ResolveOsUpdatePathError when no compatible MCU can be resolved for the next firmware",async()=>{e.getNextFirmwareVersion.mockReturnValueOnce(r({...n,mcuVersions:[42]}));const t=await u(i)({input:{getOsVersionResponse:a}});expect(t.isLeft()).toBe(!0),t.mapLeft(s=>{expect(s).toBeInstanceOf(V),expect(s.originalError).toBe("No MCU firmware found for version null")})})})});
|
|
2
|
+
//# sourceMappingURL=ResolveOsUpdatePath.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath.test.ts"],
|
|
4
|
+
"sourcesContent": ["import { type GetOsVersionResponse } from \"@ledgerhq/device-management-kit\";\nimport { EitherAsync, Just, Nothing } from \"purify-ts\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { ResolveOsUpdatePathError } from \"@api/device-action/OsUpdate/Resolve/ResolveOsUpdatePathDeviceActionErrors\";\nimport { resolveOsUpdatePath } from \"@api/device-action/OsUpdate/Resolve/Substeps/ResolveOsUpdatePath\";\nimport {\n type FinalFirmware,\n type McuFirmware,\n type OsuFirmware,\n} from \"@api/device-action/OsUpdate/Shared/types\";\n\nconst rightAsync = <T>(value: T) =>\n EitherAsync<unknown, T>(() => Promise.resolve(value));\n\nconst leftAsync = (error: unknown) =>\n EitherAsync<unknown, never>(({ throwE }) => Promise.resolve(throwE(error)));\n\ndescribe(\"ResolveOsUpdatePath\", () => {\n const DEFAULT_MANAGER_API_PROVIDER = 1;\n\n const apiMock = makeDeviceActionInternalApiMock();\n\n const getOsVersionResponse = {\n isBootloader: false,\n isOsu: false,\n targetId: 0x33200004,\n seTargetId: 0x33200004,\n mcuTargetId: undefined,\n seVersion: \"1.3.0\",\n seFlags: new Uint8Array([0xe6, 0x00, 0x00, 0x00]),\n mcuSephVersion: \"1.0.0\",\n mcuBootloaderVersion: \"0.48\",\n hwVersion: \"00\",\n langId: 0,\n recoverState: undefined,\n secureElementFlags: {\n isPinValidated: true,\n hasMcuSerialNumber: true,\n hasValidCertificate: true,\n isCustomAuthorityConnectionAllowed: false,\n isSecureConnectionAllowed: false,\n isOnboarded: true,\n isMcuCodeSigned: true,\n isInRecoveryMode: false,\n },\n } satisfies GetOsVersionResponse;\n\n const deviceVersion = {\n id: 17,\n target_id: \"857735172\",\n name: \"Ledger Stax\",\n };\n\n const currentFirmware = {\n id: 100,\n version: \"1.3.0\",\n perso: \"perso\",\n firmware: null,\n firmwareKey: null,\n hash: null,\n bytes: null,\n mcuVersions: [1],\n } satisfies FinalFirmware;\n\n const firstOsuFirmware = {\n id: 200,\n notes: \"Update notes\",\n perso: \"perso\",\n firmware: \"osu\",\n firmwareKey: \"osu-key\",\n hash: \"osu-hash\",\n nextFinalFirmware: 300,\n } satisfies OsuFirmware;\n\n const secondOsuFirmware = {\n ...firstOsuFirmware,\n id: 201,\n nextFinalFirmware: 301,\n } satisfies OsuFirmware;\n\n const firstFinalFirmware = {\n id: 300,\n version: \"1.4.0\",\n perso: \"perso\",\n firmware: \"final\",\n firmwareKey: \"final-key\",\n hash: \"final-hash\",\n bytes: 123,\n mcuVersions: [1],\n } satisfies FinalFirmware;\n\n const secondFinalFirmware = {\n ...firstFinalFirmware,\n id: 301,\n version: \"1.5.0\",\n mcuVersions: [3],\n } satisfies FinalFirmware;\n\n const mcuList = [\n {\n id: 1,\n name: \"1.0.0\",\n fromBootloaderVersion: \"0.0\",\n providers: [1],\n },\n {\n id: 3,\n name: \"3.0.0\",\n fromBootloaderVersion: \"0.0\",\n providers: [1, 2],\n },\n ] satisfies McuFirmware[];\n\n const managerApiMock = {\n getMcuList: vi.fn(),\n getDeviceVersion: vi.fn(),\n getFirmwareVersion: vi.fn(),\n getOsuFirmwareVersion: vi.fn(),\n getLatestFirmwareVersion: vi.fn(),\n getNextFirmwareVersion: vi.fn(),\n getProvider: vi.fn(),\n };\n\n beforeEach(() => {\n vi.resetAllMocks();\n apiMock.getManagerApiService.mockReturnValue(managerApiMock as never);\n managerApiMock.getMcuList.mockReturnValue(rightAsync(mcuList));\n managerApiMock.getDeviceVersion.mockReturnValue(rightAsync(deviceVersion));\n managerApiMock.getFirmwareVersion.mockReturnValue(\n rightAsync(currentFirmware),\n );\n managerApiMock.getLatestFirmwareVersion.mockReturnValue(\n rightAsync(Just(firstOsuFirmware)),\n );\n managerApiMock.getOsuFirmwareVersion.mockReturnValue(\n rightAsync(firstOsuFirmware),\n );\n managerApiMock.getNextFirmwareVersion.mockReturnValue(\n rightAsync(firstFinalFirmware),\n );\n managerApiMock.getProvider.mockReturnValue(DEFAULT_MANAGER_API_PROVIDER);\n });\n\n describe(\"Success\", () => {\n it(\"Should return an empty update path when no firmware update is available\", async () => {\n managerApiMock.getLatestFirmwareVersion.mockReturnValueOnce(\n rightAsync(Nothing),\n );\n\n const result = await resolveOsUpdatePath(apiMock)({\n input: { getOsVersionResponse },\n });\n\n expect(result.extract()).toEqual([]);\n expect(managerApiMock.getDeviceVersion).toHaveBeenCalledWith(\n getOsVersionResponse,\n );\n expect(managerApiMock.getFirmwareVersion).toHaveBeenCalledWith(\n getOsVersionResponse,\n deviceVersion,\n );\n expect(managerApiMock.getLatestFirmwareVersion).toHaveBeenCalledWith(\n currentFirmware,\n deviceVersion,\n );\n expect(managerApiMock.getNextFirmwareVersion).not.toHaveBeenCalled();\n });\n\n it(\"Should resolve a single update without MCU flash when the final firmware supports the current MCU\", async () => {\n managerApiMock.getLatestFirmwareVersion\n .mockReturnValueOnce(rightAsync(Just(firstOsuFirmware)))\n .mockReturnValueOnce(rightAsync(Nothing));\n\n const result = await resolveOsUpdatePath(apiMock)({\n input: { getOsVersionResponse },\n });\n\n expect(result.extract()).toEqual([\n {\n osuFirmware: firstOsuFirmware,\n finalFirmware: firstFinalFirmware,\n shouldFlashMcu: false,\n },\n ]);\n });\n\n it(\"Should resolve OSU mode from the OSU firmware endpoint\", async () => {\n managerApiMock.getLatestFirmwareVersion.mockReturnValueOnce(\n rightAsync(Nothing),\n );\n\n const osVersionResponse = {\n ...getOsVersionResponse,\n isOsu: true,\n } satisfies GetOsVersionResponse;\n const result = await resolveOsUpdatePath(apiMock)({\n input: { getOsVersionResponse: osVersionResponse },\n });\n\n expect(result.extract()).toEqual([\n {\n osuFirmware: firstOsuFirmware,\n finalFirmware: firstFinalFirmware,\n shouldFlashMcu: false,\n },\n ]);\n expect(managerApiMock.getOsuFirmwareVersion).toHaveBeenCalledWith(\n osVersionResponse,\n deviceVersion,\n );\n expect(managerApiMock.getFirmwareVersion).not.toHaveBeenCalled();\n });\n\n it(\"Should resolve multiple updates and flag the one requiring an MCU flash\", async () => {\n managerApiMock.getLatestFirmwareVersion\n .mockReturnValueOnce(rightAsync(Just(firstOsuFirmware)))\n .mockReturnValueOnce(rightAsync(Just(secondOsuFirmware)))\n .mockReturnValueOnce(rightAsync(Nothing));\n managerApiMock.getNextFirmwareVersion\n .mockReturnValueOnce(rightAsync(firstFinalFirmware))\n .mockReturnValueOnce(rightAsync(secondFinalFirmware));\n\n const result = await resolveOsUpdatePath(apiMock)({\n input: { getOsVersionResponse },\n });\n\n expect(result.extract()).toEqual([\n {\n osuFirmware: firstOsuFirmware,\n finalFirmware: firstFinalFirmware,\n shouldFlashMcu: false,\n },\n {\n osuFirmware: secondOsuFirmware,\n finalFirmware: secondFinalFirmware,\n shouldFlashMcu: true,\n },\n ]);\n expect(managerApiMock.getDeviceVersion).toHaveBeenCalledTimes(1);\n expect(managerApiMock.getLatestFirmwareVersion).toHaveBeenNthCalledWith(\n 2,\n firstFinalFirmware,\n deviceVersion,\n );\n });\n\n it(\"Should resolve the latest compatible MCU when MCU names are not strict semver\", async () => {\n const managerMcuList = [\n {\n id: 1,\n name: \"1.0\",\n fromBootloaderVersion: \"0.0\",\n providers: [1],\n },\n {\n id: 2,\n name: \"1.1\",\n fromBootloaderVersion: \"0.0\",\n providers: [1, 2],\n },\n {\n id: 3,\n name: \"1.2\",\n fromBootloaderVersion: \"0.0\",\n providers: [1, 2, 3],\n },\n ] satisfies McuFirmware[];\n const finalFirmwareRequiringMcuFlash = {\n ...firstFinalFirmware,\n mcuVersions: [2, 3],\n } satisfies FinalFirmware;\n const finalFirmwareSupportingLatestMcu = {\n ...secondFinalFirmware,\n mcuVersions: [3],\n } satisfies FinalFirmware;\n\n managerApiMock.getMcuList.mockReturnValueOnce(rightAsync(managerMcuList));\n managerApiMock.getLatestFirmwareVersion\n .mockReturnValueOnce(rightAsync(Just(firstOsuFirmware)))\n .mockReturnValueOnce(rightAsync(Just(secondOsuFirmware)))\n .mockReturnValueOnce(rightAsync(Nothing));\n managerApiMock.getNextFirmwareVersion\n .mockReturnValueOnce(rightAsync(finalFirmwareRequiringMcuFlash))\n .mockReturnValueOnce(rightAsync(finalFirmwareSupportingLatestMcu));\n\n const result = await resolveOsUpdatePath(apiMock)({\n input: {\n getOsVersionResponse: {\n ...getOsVersionResponse,\n mcuSephVersion: \"1.0\",\n },\n },\n });\n\n expect(result.extract()).toEqual([\n {\n osuFirmware: firstOsuFirmware,\n finalFirmware: finalFirmwareRequiringMcuFlash,\n shouldFlashMcu: true,\n },\n {\n osuFirmware: secondOsuFirmware,\n finalFirmware: finalFirmwareSupportingLatestMcu,\n shouldFlashMcu: false,\n },\n ]);\n });\n });\n\n describe(\"Error\", () => {\n it(\"Should return ResolveOsUpdatePathError when the MCU list cannot be fetched\", async () => {\n const error = new Error(\"mcu list failed\");\n managerApiMock.getMcuList.mockReturnValueOnce(leftAsync(error));\n\n const result = await resolveOsUpdatePath(apiMock)({\n input: { getOsVersionResponse },\n });\n\n expect(result.isLeft()).toBe(true);\n result.mapLeft((e) => {\n expect(e).toBeInstanceOf(ResolveOsUpdatePathError);\n expect(e.originalError).toBe(error);\n });\n });\n\n it(\"Should return ResolveOsUpdatePathError when the current MCU version is unknown\", async () => {\n const result = await resolveOsUpdatePath(apiMock)({\n input: {\n getOsVersionResponse: {\n ...getOsVersionResponse,\n mcuSephVersion: \"9.9.9\",\n },\n },\n });\n\n expect(result.isLeft()).toBe(true);\n result.mapLeft((e) => {\n expect(e).toBeInstanceOf(ResolveOsUpdatePathError);\n expect(e.originalError).toBe(\"No MCU firmware found for version 9.9.9\");\n });\n });\n\n it(\"Should return ResolveOsUpdatePathError when no compatible MCU can be resolved for the next firmware\", async () => {\n managerApiMock.getNextFirmwareVersion.mockReturnValueOnce(\n rightAsync({\n ...firstFinalFirmware,\n mcuVersions: [42],\n }),\n );\n\n const result = await resolveOsUpdatePath(apiMock)({\n input: { getOsVersionResponse },\n });\n\n expect(result.isLeft()).toBe(true);\n result.mapLeft((e) => {\n expect(e).toBeInstanceOf(ResolveOsUpdatePathError);\n expect(e.originalError).toBe(\"No MCU firmware found for version null\");\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["EitherAsync", "Just", "Nothing", "makeDeviceActionInternalApiMock", "ResolveOsUpdatePathError", "resolveOsUpdatePath", "rightAsync", "value", "leftAsync", "error", "throwE", "apiMock", "getOsVersionResponse", "deviceVersion", "currentFirmware", "firstOsuFirmware", "secondOsuFirmware", "firstFinalFirmware", "secondFinalFirmware", "mcuList", "managerApiMock", "result", "osVersionResponse", "managerMcuList", "finalFirmwareRequiringMcuFlash", "finalFirmwareSupportingLatestMcu", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../src/api/device-action/OsUpdate/Resolve/types.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type DeviceActionState,\n type GetOsVersionResponse,\n type GoToDashboardDAError,\n type GoToDashboardDAIntermediateValue,\n type GoToDashboardDARequiredInteraction,\n type UserInteractionRequired,\n type WaitForAppAndVersionDAError,\n type WaitForAppAndVersionDAIntermediateValue,\n type WaitForAppAndVersionDARequiredInteraction,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type OsUpdate } from \"@api/device-action/OsUpdate/Shared/types\";\n\nimport { type ResolveOsUpdatePathDAErrors } from \"./ResolveOsUpdatePathDeviceActionErrors\";\n\nexport type ResolveOsUpdatePathDAInput = {\n unlockTimeout: number;\n};\n\nexport type ResolveOsUpdatePathDAOutput = OsUpdate[];\n\nexport type ResolveOsUpdatePathDAError =\n | WaitForAppAndVersionDAError\n | GoToDashboardDAError\n | ResolveOsUpdatePathDAErrors;\n\nexport type ResolveOsUpdatePathDAIntermediateValue = (\n | WaitForAppAndVersionDAIntermediateValue\n | GoToDashboardDAIntermediateValue\n | {\n readonly requiredUserInteraction: ResolveOsUpdatePathDARequiredInteraction;\n }\n) & {\n step: ResolveOsUpdatePathSteps;\n};\n\nexport type ResolveOsUpdatePathDARequiredInteraction =\n | WaitForAppAndVersionDARequiredInteraction\n | GoToDashboardDARequiredInteraction\n | UserInteractionRequired.None;\n\nexport type ResolveOsUpdatePathDAInternalState = {\n error: ResolveOsUpdatePathDAError | null;\n currentApp: string | null;\n getOsVersionResponse: GetOsVersionResponse | null;\n osUpdates: OsUpdate[];\n};\n\nexport type ResolveOsUpdatePathDAState = DeviceActionState<\n ResolveOsUpdatePathDAOutput,\n ResolveOsUpdatePathDAError,\n ResolveOsUpdatePathDAIntermediateValue\n>;\n\nexport enum ResolveOsUpdatePathSteps {\n Idle = \"idle\",\n WaitForAppAndVersion = \"waitForAppAndVersion\",\n GoToDashboard = \"goToDashboard\",\n GetOsVersion = \"getOsVersion\",\n ResolveOsUpdatePath = \"resolveOsUpdatePath\",\n}\n"],
|
|
5
|
+
"mappings": "AAuDO,IAAKA,OACVA,EAAA,KAAO,OACPA,EAAA,qBAAuB,uBACvBA,EAAA,cAAgB,gBAChBA,EAAA,aAAe,eACfA,EAAA,oBAAsB,sBALZA,OAAA",
|
|
6
|
+
"names": ["ResolveOsUpdatePathSteps"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{hexaStringToBuffer as u,isDashboardName as g,UserInteractionRequired as n,XStateDeviceAction as S}from"@ledgerhq/device-management-kit";import{Left as A,Right as c}from"purify-ts";import{assign as e,fromPromise as p,setup as l}from"xstate";import{commitRestoreAppStorage as m}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage";import{initRestoreAppStorage as h}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage";import{restoreAppStorage as d}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage";import{InitRestoreAppStorageConsentResult as D,RestoreAppsStorageSteps as a}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/types";import{goToDashboard as R}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as E}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";const y=s=>s.data!==void 0;class W extends S{makeStateMachine(o){return l({types:{input:{},output:{},context:{}},actors:{waitForAppAndVersion:E(o,this.input.unlockTimeout),goToDashboard:R(o,this.input.unlockTimeout),initRestoreAppStorage:p(h(o)),restoreAppStorage:p(d(o,this.getLoggerFactory(o))),commitRestoreAppStorage:p(m(o))},guards:{isDeviceOnDashboard:({context:t})=>g(t._internalState.currentApp),hasError:({context:t})=>t._internalState.error!==null,hasMoreAppsWithStorage:({context:t})=>t._internalState.appsWithStorage.length>0&&t._internalState.currentAppStorageIndex<t._internalState.appsWithStorage.length},actions:{assignErrorFromEvent:e({_internalState:t=>({...t.context._internalState,error:t.event.error})})}}).createMachine({id:"RestoreAppsStorageDeviceAction",initial:"WaitForAppAndVersion",context:({input:t})=>({input:{backupApps:t.backupApps,unlockTimeout:t.unlockTimeout,isMasterConsentGranted:t.isMasterConsentGranted},intermediateValue:{requiredUserInteraction:n.None,step:a.Idle},_internalState:{error:null,currentApp:null,appsWithStorage:[],currentAppStorageIndex:0,currentAppStorageName:null,currentAppStorageDataBytes:null,currentAppStorageDataLength:null,restoreAppsStorageResult:[]}}),states:{WaitForAppAndVersion:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.WaitForAppAndVersion})}),invoke:{src:"waitForAppAndVersion",input:({context:t})=>({unlockTimeout:t.input.unlockTimeout}),onSnapshot:{actions:e({intermediateValue:t=>({...t.event.snapshot.context.intermediateValue,step:t.context.intermediateValue.step})})},onDone:{actions:e({_internalState:t=>t.event.output.caseOf({Left:r=>({...t.context._internalState,error:r}),Right:r=>({...t.context._internalState,currentApp:r.name})})}),target:"CheckIfDeviceIsOnDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnDashboard:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnDashboard",target:"FilterAppsWithStorage"},{target:"GoToDashboard"}]},GoToDashboard:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.GoToDashboard})}),invoke:{src:"goToDashboard",input:({context:t})=>({unlockTimeout:t.input.unlockTimeout}),onSnapshot:{actions:e({intermediateValue:t=>({...t.event.snapshot.context.intermediateValue,step:t.context.intermediateValue.step})})},onDone:{actions:e({_internalState:t=>t.event.output.caseOf({Left:r=>({...t.context._internalState,error:r}),Right:()=>t.context._internalState})}),target:"CheckGoToDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGoToDashboard:{always:[{guard:"hasError",target:"Error"},{target:"WaitForAppAndVersion"}]},FilterAppsWithStorage:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.FilterAppsWithStorage}),_internalState:t=>({...t.context._internalState,appsWithStorage:t.context.input.backupApps.filter(y)})}),always:{target:"CheckIfThereIsAppWithStorage"}},CheckIfThereIsAppWithStorage:{always:[{guard:"hasMoreAppsWithStorage",target:"ExtractAppData"},{target:"Success"}]},ExtractAppData:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.ExtractAppData}),_internalState:t=>{const r=t.context._internalState.appsWithStorage[t.context._internalState.currentAppStorageIndex],i=u(r.data)??new Uint8Array(0);return{...t.context._internalState,currentAppStorageName:r.appName,currentAppStorageDataBytes:i,currentAppStorageDataLength:i.length}}}),always:{target:"InitRestoreAppStorage"}},InitRestoreAppStorage:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.InitRestoreAppStorage,requiredUserInteraction:t.context.input.isMasterConsentGranted?n.None:n.GrantConsent})}),exit:e({intermediateValue:t=>({...t.context.intermediateValue,requiredUserInteraction:n.None})}),invoke:{src:"initRestoreAppStorage",input:({context:t})=>({appName:t._internalState.currentAppStorageName,appStorageDataLength:t._internalState.currentAppStorageDataLength}),onDone:[{guard:({event:t})=>t.output.isLeft(),actions:e({_internalState:({event:t,context:r})=>({...r._internalState,error:t.output.extract()})}),target:"Error"},{guard:({event:t})=>t.output.extract()===D.REJECTED,actions:e({_internalState:({context:t})=>({...t._internalState,restoreAppsStorageResult:[...t._internalState.restoreAppsStorageResult,{appName:t._internalState.currentAppStorageName,restoredAppStorage:!1}],currentAppStorageIndex:t._internalState.currentAppStorageIndex+1,currentAppStorageName:null,currentAppStorageDataBytes:null,currentAppStorageDataLength:null})}),target:"CheckIfThereIsAppWithStorage"},{target:"RestoreAppStorage"}],onError:{actions:"assignErrorFromEvent",target:"Error"}}},RestoreAppStorage:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.RestoreAppStorage})}),invoke:{src:"restoreAppStorage",input:({context:t})=>({appStorageData:t._internalState.currentAppStorageDataBytes??new Uint8Array(0)}),onDone:{actions:e({_internalState:t=>t.event.output.caseOf({Left:r=>({...t.context._internalState,error:r}),Right:()=>t.context._internalState})}),target:"CheckRestoreAppStorage"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckRestoreAppStorage:{always:[{guard:"hasError",target:"Error"},{target:"CommitRestoreAppStorage"}]},CommitRestoreAppStorage:{entry:e({intermediateValue:t=>({...t.context.intermediateValue,step:a.CommitRestoreAppStorage})}),invoke:{src:"commitRestoreAppStorage",onDone:{actions:e({_internalState:t=>t.event.output.caseOf({Left:r=>({...t.context._internalState,error:r}),Right:()=>({...t.context._internalState,restoreAppsStorageResult:[...t.context._internalState.restoreAppsStorageResult,{appName:t.context._internalState.currentAppStorageName,restoredAppStorage:!0}],currentAppStorageIndex:t.context._internalState.currentAppStorageIndex+1,currentAppStorageName:null,currentAppStorageDataBytes:null,currentAppStorageDataLength:null})})}),target:"CheckCommitRestoreAppStorage"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckCommitRestoreAppStorage:{always:[{guard:"hasError",target:"Error"},{target:"CheckIfThereIsAppWithStorage"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:t})=>t._internalState.error!==null?A(t._internalState.error):c(t._internalState.restoreAppsStorageResult)})}}export{W as RestoreAppsStorageDeviceAction};
|
|
2
|
+
//# sourceMappingURL=RestoreAppsStorageDeviceAction.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type DeviceActionStateMachine,\n hexaStringToBuffer,\n type InternalApi,\n isDashboardName,\n type StateMachineTypes,\n UserInteractionRequired,\n XStateDeviceAction,\n} from \"@ledgerhq/device-management-kit\";\nimport { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport { type BackupApp } from \"@api/device-action/OsUpdate/Backup/types\";\nimport { type InitRestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { commitRestoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage\";\nimport { initRestoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage\";\nimport { restoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage\";\nimport {\n type BackupAppWithStorage,\n InitRestoreAppStorageConsentResult,\n type RestoreAppsStorageDAError,\n type RestoreAppsStorageDAInput,\n type RestoreAppsStorageDAIntermediateValue,\n type RestoreAppsStorageDAInternalState,\n type RestoreAppsStorageDAOutput,\n RestoreAppsStorageSteps,\n} from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\n\nconst hasStorageData = (app: BackupApp): app is BackupAppWithStorage =>\n app.data !== undefined;\n\nexport class RestoreAppsStorageDeviceAction extends XStateDeviceAction<\n RestoreAppsStorageDAOutput,\n RestoreAppsStorageDAInput,\n RestoreAppsStorageDAError,\n RestoreAppsStorageDAIntermediateValue,\n RestoreAppsStorageDAInternalState\n> {\n makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n RestoreAppsStorageDAOutput,\n RestoreAppsStorageDAInput,\n RestoreAppsStorageDAError,\n RestoreAppsStorageDAIntermediateValue,\n RestoreAppsStorageDAInternalState\n > {\n type types = StateMachineTypes<\n RestoreAppsStorageDAOutput,\n RestoreAppsStorageDAInput,\n RestoreAppsStorageDAError,\n RestoreAppsStorageDAIntermediateValue,\n RestoreAppsStorageDAInternalState\n >;\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n output: {} as types[\"output\"],\n context: {} as types[\"context\"],\n } as types,\n actors: {\n waitForAppAndVersion: waitForAppAndVersion(\n internalAPI,\n this.input.unlockTimeout,\n ),\n goToDashboard: goToDashboard(internalAPI, this.input.unlockTimeout),\n initRestoreAppStorage: fromPromise(initRestoreAppStorage(internalAPI)),\n restoreAppStorage: fromPromise(\n restoreAppStorage(internalAPI, this.getLoggerFactory(internalAPI)),\n ),\n commitRestoreAppStorage: fromPromise(\n commitRestoreAppStorage(internalAPI),\n ),\n },\n guards: {\n isDeviceOnDashboard: ({ context }) =>\n isDashboardName(context._internalState.currentApp),\n hasError: ({ context }) => context._internalState.error !== null,\n hasMoreAppsWithStorage: ({ context }) =>\n context._internalState.appsWithStorage.length > 0 &&\n context._internalState.currentAppStorageIndex <\n context._internalState.appsWithStorage.length,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: should never happen\n }),\n }),\n },\n }).createMachine({\n id: \"RestoreAppsStorageDeviceAction\",\n initial: \"WaitForAppAndVersion\",\n context: ({ input }) => ({\n input: {\n backupApps: input.backupApps,\n unlockTimeout: input.unlockTimeout,\n isMasterConsentGranted: input.isMasterConsentGranted,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n step: RestoreAppsStorageSteps.Idle,\n },\n _internalState: {\n error: null,\n currentApp: null,\n appsWithStorage: [],\n currentAppStorageIndex: 0,\n currentAppStorageName: null,\n currentAppStorageDataBytes: null,\n currentAppStorageDataLength: null,\n restoreAppsStorageResult: [],\n },\n }),\n states: {\n WaitForAppAndVersion: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.WaitForAppAndVersion,\n }),\n }),\n invoke: {\n src: \"waitForAppAndVersion\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreAppsStorageDAInternalState>(\n {\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: (output) => ({\n ..._.context._internalState,\n currentApp: output.name,\n }),\n },\n );\n },\n }),\n target: \"CheckIfDeviceIsOnDashboard\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckIfDeviceIsOnDashboard: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n guard: \"isDeviceOnDashboard\",\n target: \"FilterAppsWithStorage\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.GoToDashboard,\n }),\n }),\n invoke: {\n src: \"goToDashboard\",\n input: ({ context }) => ({\n unlockTimeout: context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.event.snapshot.context.intermediateValue,\n step: _.context.intermediateValue.step,\n }),\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreAppsStorageDAInternalState>(\n {\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: () => _.context._internalState,\n },\n );\n },\n }),\n target: \"CheckGoToDashboard\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckGoToDashboard: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"WaitForAppAndVersion\",\n },\n ],\n },\n FilterAppsWithStorage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.FilterAppsWithStorage,\n }),\n _internalState: (_) => ({\n ..._.context._internalState,\n appsWithStorage:\n _.context.input.backupApps.filter(hasStorageData),\n }),\n }),\n always: {\n target: \"CheckIfThereIsAppWithStorage\",\n },\n },\n CheckIfThereIsAppWithStorage: {\n always: [\n {\n guard: \"hasMoreAppsWithStorage\",\n target: \"ExtractAppData\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n ExtractAppData: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.ExtractAppData,\n }),\n _internalState: (_) => {\n const currentAppWithStorage =\n _.context._internalState.appsWithStorage[\n _.context._internalState.currentAppStorageIndex\n ]!;\n const currentAppStorageDataBytes =\n hexaStringToBuffer(currentAppWithStorage.data) ??\n new Uint8Array(0);\n return {\n ..._.context._internalState,\n currentAppStorageName: currentAppWithStorage.appName,\n currentAppStorageDataBytes,\n currentAppStorageDataLength: currentAppStorageDataBytes.length,\n };\n },\n }),\n always: {\n target: \"InitRestoreAppStorage\",\n },\n },\n InitRestoreAppStorage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.InitRestoreAppStorage,\n requiredUserInteraction: _.context.input.isMasterConsentGranted\n ? UserInteractionRequired.None\n : UserInteractionRequired.GrantConsent,\n }),\n }),\n exit: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n invoke: {\n src: \"initRestoreAppStorage\",\n input: ({ context }) => ({\n appName: context._internalState.currentAppStorageName!,\n appStorageDataLength:\n context._internalState.currentAppStorageDataLength!,\n }),\n onDone: [\n {\n guard: ({ event }) => event.output.isLeft(),\n actions: assign({\n _internalState: ({ event, context }) => ({\n ...context._internalState,\n error: event.output.extract() as InitRestoreAppStorageError,\n }),\n }),\n target: \"Error\",\n },\n {\n guard: ({ event }) =>\n event.output.extract() ===\n InitRestoreAppStorageConsentResult.REJECTED,\n actions: assign({\n _internalState: ({ context }) => ({\n ...context._internalState,\n restoreAppsStorageResult: [\n ...context._internalState.restoreAppsStorageResult,\n {\n appName: context._internalState.currentAppStorageName!,\n restoredAppStorage: false,\n },\n ],\n currentAppStorageIndex:\n context._internalState.currentAppStorageIndex + 1,\n currentAppStorageName: null,\n currentAppStorageDataBytes: null,\n currentAppStorageDataLength: null,\n }),\n }),\n target: \"CheckIfThereIsAppWithStorage\",\n },\n {\n target: \"RestoreAppStorage\",\n },\n ],\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n RestoreAppStorage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.RestoreAppStorage,\n }),\n }),\n invoke: {\n src: \"restoreAppStorage\",\n input: ({ context }) => ({\n appStorageData:\n context._internalState.currentAppStorageDataBytes ??\n new Uint8Array(0),\n }),\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreAppsStorageDAInternalState>(\n {\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: () => _.context._internalState,\n },\n );\n },\n }),\n target: \"CheckRestoreAppStorage\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckRestoreAppStorage: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"CommitRestoreAppStorage\",\n },\n ],\n },\n CommitRestoreAppStorage: {\n entry: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n step: RestoreAppsStorageSteps.CommitRestoreAppStorage,\n }),\n }),\n invoke: {\n src: \"commitRestoreAppStorage\",\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<RestoreAppsStorageDAInternalState>(\n {\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n Right: () => ({\n ..._.context._internalState,\n restoreAppsStorageResult: [\n ..._.context._internalState.restoreAppsStorageResult,\n {\n appName:\n _.context._internalState.currentAppStorageName!,\n restoredAppStorage: true,\n },\n ],\n currentAppStorageIndex:\n _.context._internalState.currentAppStorageIndex + 1,\n currentAppStorageName: null,\n currentAppStorageDataBytes: null,\n currentAppStorageDataLength: null,\n }),\n },\n );\n },\n }),\n target: \"CheckCommitRestoreAppStorage\",\n },\n onError: {\n actions: \"assignErrorFromEvent\",\n target: \"Error\",\n },\n },\n },\n CheckCommitRestoreAppStorage: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"CheckIfThereIsAppWithStorage\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) => {\n if (context._internalState.error !== null) {\n return Left(context._internalState.error);\n }\n return Right(context._internalState.restoreAppsStorageResult);\n },\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,sBAAAA,EAEA,mBAAAC,EAEA,2BAAAC,EACA,sBAAAC,MACK,kCACP,OAAS,QAAAC,EAAM,SAAAC,MAAa,YAC5B,OAAS,UAAAC,EAAQ,eAAAC,EAAa,SAAAC,MAAa,SAI3C,OAAS,2BAAAC,MAA+B,0FACxC,OAAS,yBAAAC,MAA6B,wFACtC,OAAS,qBAAAC,MAAyB,oFAClC,OAEE,sCAAAC,EAMA,2BAAAC,MACK,+DACP,OAAS,iBAAAC,MAAqB,4DAC9B,OAAS,wBAAAC,MAA4B,mEAErC,MAAMC,EAAkBC,GACtBA,EAAI,OAAS,OAER,MAAMC,UAAuCf,CAMlD,CACA,iBACEgB,EAOA,CASA,OAAOX,EAAM,CACX,MAAO,CACL,MAAO,CAAC,EACR,OAAQ,CAAC,EACT,QAAS,CAAC,CACZ,EACA,OAAQ,CACN,qBAAsBO,EACpBI,EACA,KAAK,MAAM,aACb,EACA,cAAeL,EAAcK,EAAa,KAAK,MAAM,aAAa,EAClE,sBAAuBZ,EAAYG,EAAsBS,CAAW,CAAC,EACrE,kBAAmBZ,EACjBI,EAAkBQ,EAAa,KAAK,iBAAiBA,CAAW,CAAC,CACnE,EACA,wBAAyBZ,EACvBE,EAAwBU,CAAW,CACrC,CACF,EACA,OAAQ,CACN,oBAAqB,CAAC,CAAE,QAAAC,CAAQ,IAC9BnB,EAAgBmB,EAAQ,eAAe,UAAU,EACnD,SAAU,CAAC,CAAE,QAAAA,CAAQ,IAAMA,EAAQ,eAAe,QAAU,KAC5D,uBAAwB,CAAC,CAAE,QAAAA,CAAQ,IACjCA,EAAQ,eAAe,gBAAgB,OAAS,GAChDA,EAAQ,eAAe,uBACrBA,EAAQ,eAAe,gBAAgB,MAC7C,EACA,QAAS,CACP,qBAAsBd,EAAO,CAC3B,eAAiBe,IAAO,CACtB,GAAGA,EAAE,QAAQ,eACb,MAAOA,EAAE,MAAM,KACjB,EACF,CAAC,CACH,CACF,CAAC,EAAE,cAAc,CACf,GAAI,iCACJ,QAAS,uBACT,QAAS,CAAC,CAAE,MAAAC,CAAM,KAAO,CACvB,MAAO,CACL,WAAYA,EAAM,WAClB,cAAeA,EAAM,cACrB,uBAAwBA,EAAM,sBAChC,EACA,kBAAmB,CACjB,wBAAyBpB,EAAwB,KACjD,KAAMW,EAAwB,IAChC,EACA,eAAgB,CACd,MAAO,KACP,WAAY,KACZ,gBAAiB,CAAC,EAClB,uBAAwB,EACxB,sBAAuB,KACvB,2BAA4B,KAC5B,4BAA6B,KAC7B,yBAA0B,CAAC,CAC7B,CACF,GACA,OAAQ,CACN,qBAAsB,CACpB,MAAOP,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,oBAChC,EACF,CAAC,EACD,OAAQ,CACN,IAAK,uBACL,MAAO,CAAC,CAAE,QAAAO,CAAQ,KAAO,CACvB,cAAeA,EAAQ,MAAM,aAC/B,GACA,WAAY,CACV,QAASd,EAAO,CACd,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,MAAM,SAAS,QAAQ,kBAC5B,KAAMA,EAAE,QAAQ,kBAAkB,IACpC,EACF,CAAC,CACH,EACA,OAAQ,CACN,QAASf,EAAO,CACd,eAAiBe,GACRA,EAAE,MAAM,OAAO,OACpB,CACE,KAAOE,IAAW,CAChB,GAAGF,EAAE,QAAQ,eACb,MAAAE,CACF,GACA,MAAQC,IAAY,CAClB,GAAGH,EAAE,QAAQ,eACb,WAAYG,EAAO,IACrB,EACF,CACF,CAEJ,CAAC,EACD,OAAQ,4BACV,EACA,QAAS,CACP,QAAS,uBACT,OAAQ,OACV,CACF,CACF,EACA,2BAA4B,CAC1B,OAAQ,CACN,CACE,MAAO,WACP,OAAQ,OACV,EACA,CACE,MAAO,sBACP,OAAQ,uBACV,EACA,CACE,OAAQ,eACV,CACF,CACF,EACA,cAAe,CACb,MAAOlB,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,aAChC,EACF,CAAC,EACD,OAAQ,CACN,IAAK,gBACL,MAAO,CAAC,CAAE,QAAAO,CAAQ,KAAO,CACvB,cAAeA,EAAQ,MAAM,aAC/B,GACA,WAAY,CACV,QAASd,EAAO,CACd,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,MAAM,SAAS,QAAQ,kBAC5B,KAAMA,EAAE,QAAQ,kBAAkB,IACpC,EACF,CAAC,CACH,EACA,OAAQ,CACN,QAASf,EAAO,CACd,eAAiBe,GACRA,EAAE,MAAM,OAAO,OACpB,CACE,KAAOE,IAAW,CAChB,GAAGF,EAAE,QAAQ,eACb,MAAAE,CACF,GACA,MAAO,IAAMF,EAAE,QAAQ,cACzB,CACF,CAEJ,CAAC,EACD,OAAQ,oBACV,EACA,QAAS,CACP,QAAS,uBACT,OAAQ,OACV,CACF,CACF,EACA,mBAAoB,CAClB,OAAQ,CACN,CACE,MAAO,WACP,OAAQ,OACV,EACA,CACE,OAAQ,sBACV,CACF,CACF,EACA,sBAAuB,CACrB,MAAOf,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,qBAChC,GACA,eAAiBQ,IAAO,CACtB,GAAGA,EAAE,QAAQ,eACb,gBACEA,EAAE,QAAQ,MAAM,WAAW,OAAOL,CAAc,CACpD,EACF,CAAC,EACD,OAAQ,CACN,OAAQ,8BACV,CACF,EACA,6BAA8B,CAC5B,OAAQ,CACN,CACE,MAAO,yBACP,OAAQ,gBACV,EACA,CACE,OAAQ,SACV,CACF,CACF,EACA,eAAgB,CACd,MAAOV,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,cAChC,GACA,eAAiBQ,GAAM,CACrB,MAAMI,EACJJ,EAAE,QAAQ,eAAe,gBACvBA,EAAE,QAAQ,eAAe,sBAC3B,EACIK,EACJ1B,EAAmByB,EAAsB,IAAI,GAC7C,IAAI,WAAW,CAAC,EAClB,MAAO,CACL,GAAGJ,EAAE,QAAQ,eACb,sBAAuBI,EAAsB,QAC7C,2BAAAC,EACA,4BAA6BA,EAA2B,MAC1D,CACF,CACF,CAAC,EACD,OAAQ,CACN,OAAQ,uBACV,CACF,EACA,sBAAuB,CACrB,MAAOpB,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,sBAC9B,wBAAyBQ,EAAE,QAAQ,MAAM,uBACrCnB,EAAwB,KACxBA,EAAwB,YAC9B,EACF,CAAC,EACD,KAAMI,EAAO,CACX,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,wBAAyBnB,EAAwB,IACnD,EACF,CAAC,EACD,OAAQ,CACN,IAAK,wBACL,MAAO,CAAC,CAAE,QAAAkB,CAAQ,KAAO,CACvB,QAASA,EAAQ,eAAe,sBAChC,qBACEA,EAAQ,eAAe,2BAC3B,GACA,OAAQ,CACN,CACE,MAAO,CAAC,CAAE,MAAAO,CAAM,IAAMA,EAAM,OAAO,OAAO,EAC1C,QAASrB,EAAO,CACd,eAAgB,CAAC,CAAE,MAAAqB,EAAO,QAAAP,CAAQ,KAAO,CACvC,GAAGA,EAAQ,eACX,MAAOO,EAAM,OAAO,QAAQ,CAC9B,EACF,CAAC,EACD,OAAQ,OACV,EACA,CACE,MAAO,CAAC,CAAE,MAAAA,CAAM,IACdA,EAAM,OAAO,QAAQ,IACrBf,EAAmC,SACrC,QAASN,EAAO,CACd,eAAgB,CAAC,CAAE,QAAAc,CAAQ,KAAO,CAChC,GAAGA,EAAQ,eACX,yBAA0B,CACxB,GAAGA,EAAQ,eAAe,yBAC1B,CACE,QAASA,EAAQ,eAAe,sBAChC,mBAAoB,EACtB,CACF,EACA,uBACEA,EAAQ,eAAe,uBAAyB,EAClD,sBAAuB,KACvB,2BAA4B,KAC5B,4BAA6B,IAC/B,EACF,CAAC,EACD,OAAQ,8BACV,EACA,CACE,OAAQ,mBACV,CACF,EACA,QAAS,CACP,QAAS,uBACT,OAAQ,OACV,CACF,CACF,EACA,kBAAmB,CACjB,MAAOd,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,iBAChC,EACF,CAAC,EACD,OAAQ,CACN,IAAK,oBACL,MAAO,CAAC,CAAE,QAAAO,CAAQ,KAAO,CACvB,eACEA,EAAQ,eAAe,4BACvB,IAAI,WAAW,CAAC,CACpB,GACA,OAAQ,CACN,QAASd,EAAO,CACd,eAAiBe,GACRA,EAAE,MAAM,OAAO,OACpB,CACE,KAAOE,IAAW,CAChB,GAAGF,EAAE,QAAQ,eACb,MAAAE,CACF,GACA,MAAO,IAAMF,EAAE,QAAQ,cACzB,CACF,CAEJ,CAAC,EACD,OAAQ,wBACV,EACA,QAAS,CACP,QAAS,uBACT,OAAQ,OACV,CACF,CACF,EACA,uBAAwB,CACtB,OAAQ,CACN,CACE,MAAO,WACP,OAAQ,OACV,EACA,CACE,OAAQ,yBACV,CACF,CACF,EACA,wBAAyB,CACvB,MAAOf,EAAO,CACZ,kBAAoBe,IAAO,CACzB,GAAGA,EAAE,QAAQ,kBACb,KAAMR,EAAwB,uBAChC,EACF,CAAC,EACD,OAAQ,CACN,IAAK,0BACL,OAAQ,CACN,QAASP,EAAO,CACd,eAAiBe,GACRA,EAAE,MAAM,OAAO,OACpB,CACE,KAAOE,IAAW,CAChB,GAAGF,EAAE,QAAQ,eACb,MAAAE,CACF,GACA,MAAO,KAAO,CACZ,GAAGF,EAAE,QAAQ,eACb,yBAA0B,CACxB,GAAGA,EAAE,QAAQ,eAAe,yBAC5B,CACE,QACEA,EAAE,QAAQ,eAAe,sBAC3B,mBAAoB,EACtB,CACF,EACA,uBACEA,EAAE,QAAQ,eAAe,uBAAyB,EACpD,sBAAuB,KACvB,2BAA4B,KAC5B,4BAA6B,IAC/B,EACF,CACF,CAEJ,CAAC,EACD,OAAQ,8BACV,EACA,QAAS,CACP,QAAS,uBACT,OAAQ,OACV,CACF,CACF,EACA,6BAA8B,CAC5B,OAAQ,CACN,CACE,MAAO,WACP,OAAQ,OACV,EACA,CACE,OAAQ,8BACV,CACF,CACF,EACA,QAAS,CACP,KAAM,OACR,EACA,MAAO,CACL,KAAM,OACR,CACF,EACA,OAAQ,CAAC,CAAE,QAAAD,CAAQ,IACbA,EAAQ,eAAe,QAAU,KAC5BhB,EAAKgB,EAAQ,eAAe,KAAK,EAEnCf,EAAMe,EAAQ,eAAe,wBAAwB,CAEhE,CAAC,CACH,CACF",
|
|
6
|
+
"names": ["hexaStringToBuffer", "isDashboardName", "UserInteractionRequired", "XStateDeviceAction", "Left", "Right", "assign", "fromPromise", "setup", "commitRestoreAppStorage", "initRestoreAppStorage", "restoreAppStorage", "InitRestoreAppStorageConsentResult", "RestoreAppsStorageSteps", "goToDashboard", "waitForAppAndVersion", "hasStorageData", "app", "RestoreAppsStorageDeviceAction", "internalAPI", "context", "_", "input", "error", "output", "currentAppWithStorage", "currentAppStorageDataBytes", "event"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{DeviceActionStatus as v,UnknownDAError as V,UserInteractionRequired as m}from"@ledgerhq/device-management-kit";import{Left as D,Right as s}from"purify-ts";import{assign as F,createMachine as b}from"xstate";import{makeDeviceActionInternalApiMock as A}from"../../../../device-action/__test-utils__/makeInternalApi";import{testDeviceActionStates as d}from"../../../../device-action/__test-utils__/testDeviceActionStates";import{RestoreAppsStorageDeviceAction as N}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction";import{CommitRestoreAppStorageError as T,InitRestoreAppStorageError as y,RestoreAppStorageError as G}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";import{commitRestoreAppStorage as C}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage";import{initRestoreAppStorage as I}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage";import{restoreAppStorage as x}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage";import{InitRestoreAppStorageConsentResult as S,RestoreAppsStorageSteps as e}from"../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/types";import{goToDashboard as O}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as f}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";vi.mock("@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion");vi.mock("@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard");vi.mock("@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage");vi.mock("@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage");vi.mock("@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage");const o=(a,E=m.None)=>({status:v.Pending,intermediateValue:{requiredUserInteraction:E,step:a}}),k=a=>({status:v.Completed,output:a}),w=a=>({status:v.Error,error:a}),W=a=>b({initial:"ready",states:{ready:{after:{0:"done"},entry:F({intermediateValue:()=>({requiredUserInteraction:m.None})})},done:{type:"final"}},output:a}),l=a=>W(()=>a);describe("RestoreAppsStorageDeviceAction",()=>{beforeEach(()=>{vi.resetAllMocks()});const a=(t="BOLOS")=>vi.mocked(f).mockReturnValue(l(s({name:t,version:"1.0.0"}))),E=t=>{const r=[...t];vi.mocked(f).mockReturnValue(W(()=>s({name:r.shift()??"BOLOS",version:"1.0.0"})))},c=(t=s(void 0))=>vi.mocked(O).mockReturnValue(l(t)),u=(t=[s(S.GRANTED)])=>{const r=[...t];vi.mocked(I).mockReturnValue(()=>Promise.resolve(r.shift()??s(S.GRANTED)))},g=(t=s(void 0))=>vi.mocked(x).mockReturnValue(()=>Promise.resolve(t)),R=(t=s(void 0))=>vi.mocked(C).mockReturnValue(()=>Promise.resolve(t)),i=(t=[],r=!1)=>new N({input:{backupApps:t,unlockTimeout:3e4,isMasterConsentGranted:r}});describe("Success",()=>{it("should restore storage for every app that has one, skipping apps without storage",()=>new Promise((t,r)=>{a(),c(),u([s(S.GRANTED),s(S.GRANTED)]),g(),R();const p=[{appName:"AppWithStorage1",data:"0xaa"},{appName:"AppNoStorage",data:void 0},{appName:"AppWithStorage2",data:"0xbb"}],n=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.InitRestoreAppStorage,m.GrantConsent),o(e.RestoreAppStorage),o(e.CommitRestoreAppStorage),o(e.InitRestoreAppStorage,m.GrantConsent),o(e.RestoreAppStorage),o(e.CommitRestoreAppStorage),k([{appName:"AppWithStorage1",restoredAppStorage:!0},{appName:"AppWithStorage2",restoredAppStorage:!0}])];d(i(p),n,A(),{onDone:t,onError:r})})),it("should not require grant consent user interaction when isMasterConsentGranted is true",()=>new Promise((t,r)=>{a(),c(),u([s(S.GRANTED)]),g(),R();const p=[{appName:"AppWithStorage1",data:"0xaa"}],n=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.InitRestoreAppStorage),o(e.RestoreAppStorage),o(e.CommitRestoreAppStorage),k([{appName:"AppWithStorage1",restoredAppStorage:!0}])];d(i(p,!0),n,A(),{onDone:t,onError:r})})),it("should complete with an empty result when no app has storage to restore",()=>new Promise((t,r)=>{a(),c();const p=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),k([])];d(i([]),p,A(),{onDone:t,onError:r})})),it("should go to dashboard and wait for app and version again when an app is open",()=>new Promise((t,r)=>{E(["Bitcoin","BOLOS"]),c();const p=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.GoToDashboard),o(e.GoToDashboard),o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),k([])];d(i([]),p,A(),{onDone:t,onError:r})})),it("should record restoredAppStorage: false and move on when consent is rejected",()=>new Promise((t,r)=>{a(),c(),u([s(S.REJECTED)]),g(),R();const p=[{appName:"AppWithStorage1",data:"0xaa"}],n=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.InitRestoreAppStorage,m.GrantConsent),k([{appName:"AppWithStorage1",restoredAppStorage:!1}])];d(i(p),n,A(),{onDone:t,onError:r})}))}),describe("Error",()=>{it("should go to Error when waitForAppAndVersion returns Left",()=>new Promise((t,r)=>{const p=new V("waitForAppAndVersion failed");vi.mocked(f).mockReturnValue(l(D(p)));const n=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),w(p)];d(i([]),n,A(),{onDone:t,onError:r})})),it("should go to Error when goToDashboard returns Left",()=>new Promise((t,r)=>{a("Bitcoin");const p=new V("goToDashboard failed");c(D(p));const n=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.GoToDashboard),o(e.GoToDashboard),w(p)];d(i([]),n,A(),{onDone:t,onError:r})})),it("should go to Error when initRestoreAppStorage fails with a fatal error",()=>new Promise((t,r)=>{a(),c();const p=new y(new Error("command failed"));u([D(p)]),g(),R();const n=[{appName:"AppWithStorage1",data:"0xaa"}],h=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.InitRestoreAppStorage,m.GrantConsent),w(p)];d(i(n),h,A(),{onDone:t,onError:r})})),it("should go to Error when restoreAppStorage returns Left",()=>new Promise((t,r)=>{a(),c(),u([s(S.GRANTED)]);const p=new G(new Error("chunk failed"));g(D(p)),R();const n=[{appName:"AppWithStorage1",data:"0xaa"}],h=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.InitRestoreAppStorage,m.GrantConsent),o(e.RestoreAppStorage),w(p)];d(i(n),h,A(),{onDone:t,onError:r})})),it("should go to Error when commitRestoreAppStorage returns Left",()=>new Promise((t,r)=>{a(),c(),u([s(S.GRANTED)]),g();const p=new T(new Error("commit failed"));R(D(p));const n=[{appName:"AppWithStorage1",data:"0xaa"}],h=[o(e.WaitForAppAndVersion),o(e.WaitForAppAndVersion),o(e.InitRestoreAppStorage,m.GrantConsent),o(e.RestoreAppStorage),o(e.CommitRestoreAppStorage),w(p)];d(i(n),h,A(),{onDone:t,onError:r})}))})});
|
|
2
|
+
//# sourceMappingURL=RestoreAppsStorageDeviceAction.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n DeviceActionStatus,\n UnknownDAError,\n UserInteractionRequired,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { type BackupApp } from \"@api/device-action/OsUpdate/Backup/types\";\nimport { RestoreAppsStorageDeviceAction } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceAction\";\nimport {\n CommitRestoreAppStorageError,\n InitRestoreAppStorageError,\n RestoreAppStorageError,\n} from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { commitRestoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage\";\nimport { initRestoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage\";\nimport { restoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage\";\nimport {\n InitRestoreAppStorageConsentResult,\n type RestoreAppsStorageDAError,\n type RestoreAppsStorageDAOutput,\n type RestoreAppsStorageDARequiredInteraction,\n type RestoreAppsStorageDAState,\n RestoreAppsStorageSteps,\n} from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\nimport { goToDashboard } from \"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\";\nimport { waitForAppAndVersion } from \"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\";\n\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion\");\nvi.mock(\"@api/device-action/OsUpdate/Shared/Substeps/GoToDashboard\");\nvi.mock(\n \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage\",\n);\nvi.mock(\n \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage\",\n);\nvi.mock(\n \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage\",\n);\n\n// \u2500\u2500\u2500 State builders \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\nconst pendingState = (\n step: RestoreAppsStorageSteps,\n requiredUserInteraction: RestoreAppsStorageDARequiredInteraction = UserInteractionRequired.None,\n): RestoreAppsStorageDAState => ({\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction,\n step,\n },\n});\n\nconst completedState = (\n output: RestoreAppsStorageDAOutput,\n): RestoreAppsStorageDAState => ({\n status: DeviceActionStatus.Completed,\n output,\n});\n\nconst errorState = (\n error: RestoreAppsStorageDAError,\n): RestoreAppsStorageDAState => ({\n status: DeviceActionStatus.Error,\n error,\n});\n\n// \u2500\u2500\u2500 Mock actor factory \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n//\n// Creates a minimal XState machine that immediately completes (after 0 ms) with\n// the given Either output. The machine exposes the `intermediateValue` shape\n// required by the parent's `onSnapshot` handler.\n\nconst createMockActorMachineFromOutput = (\n output: () => Either<unknown, unknown>,\n) =>\n createMachine({\n initial: \"ready\",\n states: {\n ready: {\n after: { 0: \"done\" },\n entry: assign({\n intermediateValue: () => ({\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n },\n done: { type: \"final\" },\n },\n output,\n });\n\nconst createMockActorMachine = (output: Either<unknown, unknown>) =>\n createMockActorMachineFromOutput(() => output);\n\n// \u2500\u2500\u2500 Tests \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\ndescribe(\"RestoreAppsStorageDeviceAction\", () => {\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n // \u2500\u2500\u2500 Setup helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n const setupWaitForAppAndVersion = (appName = \"BOLOS\") =>\n vi\n .mocked(waitForAppAndVersion)\n .mockReturnValue(\n createMockActorMachine(\n Right({ name: appName, version: \"1.0.0\" }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n\n const setupWaitForAppAndVersionSequence = (appNames: string[]) => {\n const remainingAppNames = [...appNames];\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachineFromOutput(() =>\n Right({\n name: remainingAppNames.shift() ?? \"BOLOS\",\n version: \"1.0.0\",\n }),\n ) as unknown as ReturnType<typeof waitForAppAndVersion>,\n );\n };\n\n const setupGoToDashboard = (\n output: Either<unknown, unknown> = Right(undefined),\n ) =>\n vi\n .mocked(goToDashboard)\n .mockReturnValue(\n createMockActorMachine(output) as unknown as ReturnType<\n typeof goToDashboard\n >,\n );\n\n const setupInitRestoreAppStorage = (\n results: Either<\n InitRestoreAppStorageError,\n InitRestoreAppStorageConsentResult\n >[] = [Right(InitRestoreAppStorageConsentResult.GRANTED)],\n ) => {\n const queue = [...results];\n vi.mocked(initRestoreAppStorage).mockReturnValue(() =>\n Promise.resolve(\n queue.shift() ?? Right(InitRestoreAppStorageConsentResult.GRANTED),\n ),\n );\n };\n\n const setupRestoreAppStorage = (\n result: Either<RestoreAppStorageError, void> = Right(undefined),\n ) =>\n vi.mocked(restoreAppStorage).mockReturnValue(() => Promise.resolve(result));\n\n const setupCommitRestoreAppStorage = (\n result: Either<CommitRestoreAppStorageError, void> = Right(undefined),\n ) =>\n vi\n .mocked(commitRestoreAppStorage)\n .mockReturnValue(() => Promise.resolve(result));\n\n const makeDeviceAction = (\n backupApp: BackupApp[] = [],\n isMasterConsentGranted = false,\n ) =>\n new RestoreAppsStorageDeviceAction({\n input: {\n backupApps: backupApp,\n unlockTimeout: 30_000,\n isMasterConsentGranted,\n },\n });\n\n // \u2500\u2500\u2500 Success \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n describe(\"Success\", () => {\n it(\"should restore storage for every app that has one, skipping apps without storage\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n setupInitRestoreAppStorage([\n Right(InitRestoreAppStorageConsentResult.GRANTED),\n Right(InitRestoreAppStorageConsentResult.GRANTED),\n ]);\n setupRestoreAppStorage();\n setupCommitRestoreAppStorage();\n\n const backupApp: BackupApp[] = [\n { appName: \"AppWithStorage1\", data: \"0xaa\" },\n { appName: \"AppNoStorage\", data: undefined },\n { appName: \"AppWithStorage2\", data: \"0xbb\" },\n ];\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(\n RestoreAppsStorageSteps.InitRestoreAppStorage,\n UserInteractionRequired.GrantConsent,\n ),\n pendingState(RestoreAppsStorageSteps.RestoreAppStorage),\n pendingState(RestoreAppsStorageSteps.CommitRestoreAppStorage),\n pendingState(\n RestoreAppsStorageSteps.InitRestoreAppStorage,\n UserInteractionRequired.GrantConsent,\n ),\n pendingState(RestoreAppsStorageSteps.RestoreAppStorage),\n pendingState(RestoreAppsStorageSteps.CommitRestoreAppStorage),\n completedState([\n { appName: \"AppWithStorage1\", restoredAppStorage: true },\n { appName: \"AppWithStorage2\", restoredAppStorage: true },\n ]),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(backupApp),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should not require grant consent user interaction when isMasterConsentGranted is true\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n setupInitRestoreAppStorage([\n Right(InitRestoreAppStorageConsentResult.GRANTED),\n ]);\n setupRestoreAppStorage();\n setupCommitRestoreAppStorage();\n\n const backupApp: BackupApp[] = [\n { appName: \"AppWithStorage1\", data: \"0xaa\" },\n ];\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.InitRestoreAppStorage),\n pendingState(RestoreAppsStorageSteps.RestoreAppStorage),\n pendingState(RestoreAppsStorageSteps.CommitRestoreAppStorage),\n completedState([\n { appName: \"AppWithStorage1\", restoredAppStorage: true },\n ]),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(backupApp, true),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should complete with an empty result when no app has storage to restore\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n completedState([]),\n ];\n\n testDeviceActionStates(\n makeDeviceAction([]),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should go to dashboard and wait for app and version again when an app is open\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersionSequence([\"Bitcoin\", \"BOLOS\"]);\n setupGoToDashboard();\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.GoToDashboard),\n pendingState(RestoreAppsStorageSteps.GoToDashboard),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n completedState([]),\n ];\n\n testDeviceActionStates(\n makeDeviceAction([]),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should record restoredAppStorage: false and move on when consent is rejected\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n setupInitRestoreAppStorage([\n Right(InitRestoreAppStorageConsentResult.REJECTED),\n ]);\n setupRestoreAppStorage(); // registered in actors but never invoked (consent rejected)\n setupCommitRestoreAppStorage(); // registered in actors but never invoked (consent rejected)\n\n const backupApp: BackupApp[] = [\n { appName: \"AppWithStorage1\", data: \"0xaa\" },\n ];\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(\n RestoreAppsStorageSteps.InitRestoreAppStorage,\n UserInteractionRequired.GrantConsent,\n ),\n completedState([\n { appName: \"AppWithStorage1\", restoredAppStorage: false },\n ]),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(backupApp),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n\n // \u2500\u2500\u2500 Error \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n describe(\"Error\", () => {\n it(\"should go to Error when waitForAppAndVersion returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n const error = new UnknownDAError(\"waitForAppAndVersion failed\");\n vi.mocked(waitForAppAndVersion).mockReturnValue(\n createMockActorMachine(Left(error)) as unknown as ReturnType<\n typeof waitForAppAndVersion\n >,\n );\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction([]),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should go to Error when goToDashboard returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion(\"Bitcoin\");\n const error = new UnknownDAError(\"goToDashboard failed\");\n setupGoToDashboard(Left(error));\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.GoToDashboard),\n pendingState(RestoreAppsStorageSteps.GoToDashboard),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction([]),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should go to Error when initRestoreAppStorage fails with a fatal error\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n const error = new InitRestoreAppStorageError(\n new Error(\"command failed\"),\n );\n setupInitRestoreAppStorage([Left(error)]);\n setupRestoreAppStorage(); // registered in actors but never invoked\n setupCommitRestoreAppStorage(); // registered in actors but never invoked\n\n const backupApp: BackupApp[] = [\n { appName: \"AppWithStorage1\", data: \"0xaa\" },\n ];\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(\n RestoreAppsStorageSteps.InitRestoreAppStorage,\n UserInteractionRequired.GrantConsent,\n ),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(backupApp),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should go to Error when restoreAppStorage returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n setupInitRestoreAppStorage([\n Right(InitRestoreAppStorageConsentResult.GRANTED),\n ]);\n const error = new RestoreAppStorageError(new Error(\"chunk failed\"));\n setupRestoreAppStorage(Left(error));\n setupCommitRestoreAppStorage(); // registered in actors but never invoked\n\n const backupApp: BackupApp[] = [\n { appName: \"AppWithStorage1\", data: \"0xaa\" },\n ];\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(\n RestoreAppsStorageSteps.InitRestoreAppStorage,\n UserInteractionRequired.GrantConsent,\n ),\n pendingState(RestoreAppsStorageSteps.RestoreAppStorage),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(backupApp),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n\n it(\"should go to Error when commitRestoreAppStorage returns Left\", () =>\n new Promise<void>((resolve, reject) => {\n setupWaitForAppAndVersion();\n setupGoToDashboard();\n setupInitRestoreAppStorage([\n Right(InitRestoreAppStorageConsentResult.GRANTED),\n ]);\n setupRestoreAppStorage();\n const error = new CommitRestoreAppStorageError(\n new Error(\"commit failed\"),\n );\n setupCommitRestoreAppStorage(Left(error));\n\n const backupApp: BackupApp[] = [\n { appName: \"AppWithStorage1\", data: \"0xaa\" },\n ];\n\n const expectedStates: RestoreAppsStorageDAState[] = [\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(RestoreAppsStorageSteps.WaitForAppAndVersion),\n pendingState(\n RestoreAppsStorageSteps.InitRestoreAppStorage,\n UserInteractionRequired.GrantConsent,\n ),\n pendingState(RestoreAppsStorageSteps.RestoreAppStorage),\n pendingState(RestoreAppsStorageSteps.CommitRestoreAppStorage),\n errorState(error),\n ];\n\n testDeviceActionStates(\n makeDeviceAction(backupApp),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n { onDone: resolve, onError: reject },\n );\n }));\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["DeviceActionStatus", "UnknownDAError", "UserInteractionRequired", "Left", "Right", "assign", "createMachine", "makeDeviceActionInternalApiMock", "testDeviceActionStates", "RestoreAppsStorageDeviceAction", "CommitRestoreAppStorageError", "InitRestoreAppStorageError", "RestoreAppStorageError", "commitRestoreAppStorage", "initRestoreAppStorage", "restoreAppStorage", "InitRestoreAppStorageConsentResult", "RestoreAppsStorageSteps", "goToDashboard", "waitForAppAndVersion", "pendingState", "step", "requiredUserInteraction", "completedState", "output", "errorState", "error", "createMockActorMachineFromOutput", "createMockActorMachine", "setupWaitForAppAndVersion", "appName", "setupWaitForAppAndVersionSequence", "appNames", "remainingAppNames", "setupGoToDashboard", "setupInitRestoreAppStorage", "results", "queue", "setupRestoreAppStorage", "result", "setupCommitRestoreAppStorage", "makeDeviceAction", "backupApp", "isMasterConsentGranted", "resolve", "reject", "expectedStates"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
class e{_tag="InitRestoreAppStorageError";originalError;constructor(r){this.originalError=r}}class t{_tag="RestoreAppStorageError";originalError;constructor(r){this.originalError=r}}class n{_tag="CommitRestoreAppStorageError";originalError;constructor(r){this.originalError=r}}export{n as CommitRestoreAppStorageError,e as InitRestoreAppStorageError,t as RestoreAppStorageError};
|
|
2
|
+
//# sourceMappingURL=RestoreAppsStorageDeviceActionErrors.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors.ts"],
|
|
4
|
+
"sourcesContent": ["import { type DmkError } from \"@ledgerhq/device-management-kit\";\n\nexport class InitRestoreAppStorageError implements DmkError {\n readonly _tag = \"InitRestoreAppStorageError\";\n readonly originalError?: unknown;\n\n constructor(originalError?: unknown) {\n this.originalError = originalError;\n }\n}\n\nexport class RestoreAppStorageError implements DmkError {\n readonly _tag = \"RestoreAppStorageError\";\n readonly originalError?: unknown;\n\n constructor(originalError?: unknown) {\n this.originalError = originalError;\n }\n}\n\nexport class CommitRestoreAppStorageError implements DmkError {\n readonly _tag = \"CommitRestoreAppStorageError\";\n readonly originalError?: unknown;\n\n constructor(originalError?: unknown) {\n this.originalError = originalError;\n }\n}\n\nexport type RestoreAppsStorageDeviceActionErrors =\n | InitRestoreAppStorageError\n | RestoreAppStorageError\n | CommitRestoreAppStorageError;\n"],
|
|
5
|
+
"mappings": "AAEO,MAAMA,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYC,EAAyB,CACnC,KAAK,cAAgBA,CACvB,CACF,CAEO,MAAMC,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYD,EAAyB,CACnC,KAAK,cAAgBA,CACvB,CACF,CAEO,MAAME,CAAiD,CACnD,KAAO,+BACP,cAET,YAAYF,EAAyB,CACnC,KAAK,cAAgBA,CACvB,CACF",
|
|
6
|
+
"names": ["InitRestoreAppStorageError", "originalError", "RestoreAppStorageError", "CommitRestoreAppStorageError"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{isSuccessCommandResult as o}from"@ledgerhq/device-management-kit";import{Left as t,Right as m}from"purify-ts/Either";import{CommitRestoreAppStorageCommand as p}from"../../../../../command/OsUpdate/Restore/CommitRestoreAppStorageCommand";import{CommitRestoreAppStorageError as i}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";const d=r=>async()=>{const e=await r.sendCommand(new p);return o(e)?m(void 0):t(new i(e.error.originalError))};export{d as commitRestoreAppStorage};
|
|
2
|
+
//# sourceMappingURL=CommitRestoreAppStorage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts/Either\";\n\nimport { CommitRestoreAppStorageCommand } from \"@api/command/OsUpdate/Restore/CommitRestoreAppStorageCommand\";\nimport { CommitRestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\n\ntype CommitRestoreAppStorageHandlerResponse = Promise<\n Either<CommitRestoreAppStorageError, void>\n>;\n\ntype CommitRestoreAppStorageHandler =\n () => CommitRestoreAppStorageHandlerResponse;\n\nexport const commitRestoreAppStorage =\n (internalApi: InternalApi): CommitRestoreAppStorageHandler =>\n async (): CommitRestoreAppStorageHandlerResponse => {\n const result = await internalApi.sendCommand(\n new CommitRestoreAppStorageCommand(),\n );\n\n if (!isSuccessCommandResult(result)) {\n return Left(new CommitRestoreAppStorageError(result.error.originalError));\n }\n\n return Right(undefined);\n };\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCACP,OAAsB,QAAAC,EAAM,SAAAC,MAAa,mBAEzC,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,gCAAAC,MAAoC,8FAStC,MAAMC,EACVC,GACD,SAAoD,CAClD,MAAMC,EAAS,MAAMD,EAAY,YAC/B,IAAIH,CACN,EAEA,OAAKH,EAAuBO,CAAM,EAI3BL,EAAM,MAAS,EAHbD,EAAK,IAAIG,EAA6BG,EAAO,MAAM,aAAa,CAAC,CAI5E",
|
|
6
|
+
"names": ["isSuccessCommandResult", "Left", "Right", "CommitRestoreAppStorageCommand", "CommitRestoreAppStorageError", "commitRestoreAppStorage", "internalApi", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as a,GLOBAL_ERRORS as s,GlobalCommandError as i}from"@ledgerhq/device-management-kit";import{makeDeviceActionInternalApiMock as n}from"../../../../../device-action/__test-utils__/makeInternalApi";import{CommitRestoreAppStorageError as p}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";import{commitRestoreAppStorage as m}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage";describe("CommitRestoreAppStorage",()=>{const o=n(),{sendCommand:r}=o;beforeEach(()=>{vi.resetAllMocks()}),describe("Success",()=>{it("Should commit the restored app storage",async()=>{r.mockResolvedValueOnce(a({data:void 0}));const e=await m(o)();expect(e.isRight()).toBe(!0)})}),describe("Error",()=>{it("Should return CommitRestoreAppStorageError",async()=>{const e=new i({errorCode:"6e00",...s["6e00"]});r.mockResolvedValueOnce(a({error:e}));const t=await m(o)();expect(t.isLeft()).toBe(!0),t.mapLeft(c=>{expect(c).toBeInstanceOf(p),expect(c.originalError).toBe(e.originalError)})})})});
|
|
2
|
+
//# sourceMappingURL=CommitRestoreAppStorage.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n GLOBAL_ERRORS,\n GlobalCommandError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { CommitRestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { commitRestoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/CommitRestoreAppStorage\";\n\ndescribe(\"CommitRestoreAppStorage\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const { sendCommand: sendCommandMock } = apiMock;\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"Success\", () => {\n it(\"Should commit the restored app storage\", async () => {\n sendCommandMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n\n const result = await commitRestoreAppStorage(apiMock)();\n\n expect(result.isRight()).toBe(true);\n });\n });\n\n describe(\"Error\", () => {\n it(\"Should return CommitRestoreAppStorageError\", async () => {\n const error = new GlobalCommandError({\n errorCode: \"6e00\",\n ...GLOBAL_ERRORS[\"6e00\"],\n });\n sendCommandMock.mockResolvedValueOnce(CommandResultFactory({ error }));\n\n const result = await commitRestoreAppStorage(apiMock)();\n\n expect(result.isLeft()).toBe(true);\n result.mapLeft((e) => {\n expect(e).toBeInstanceOf(CommitRestoreAppStorageError);\n expect(e.originalError).toBe(error.originalError);\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,wBAAAA,EACA,iBAAAC,EACA,sBAAAC,MACK,kCAEP,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,gCAAAC,MAAoC,8FAC7C,OAAS,2BAAAC,MAA+B,0FAExC,SAAS,0BAA2B,IAAM,CACxC,MAAMC,EAAUH,EAAgC,EAC1C,CAAE,YAAaI,CAAgB,EAAID,EAEzC,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,yCAA0C,SAAY,CACvDC,EAAgB,sBACdP,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EAEA,MAAMQ,EAAS,MAAMH,EAAwBC,CAAO,EAAE,EAEtD,OAAOE,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,CACpC,CAAC,CACH,CAAC,EAED,SAAS,QAAS,IAAM,CACtB,GAAG,6CAA8C,SAAY,CAC3D,MAAMC,EAAQ,IAAIP,EAAmB,CACnC,UAAW,OACX,GAAGD,EAAc,MAAM,CACzB,CAAC,EACDM,EAAgB,sBAAsBP,EAAqB,CAAE,MAAAS,CAAM,CAAC,CAAC,EAErE,MAAMD,EAAS,MAAMH,EAAwBC,CAAO,EAAE,EAEtD,OAAOE,EAAO,OAAO,CAAC,EAAE,KAAK,EAAI,EACjCA,EAAO,QAASE,GAAM,CACpB,OAAOA,CAAC,EAAE,eAAeN,CAA4B,EACrD,OAAOM,EAAE,aAAa,EAAE,KAAKD,EAAM,aAAa,CAClD,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["CommandResultFactory", "GLOBAL_ERRORS", "GlobalCommandError", "makeDeviceActionInternalApiMock", "CommitRestoreAppStorageError", "commitRestoreAppStorage", "apiMock", "sendCommandMock", "result", "error", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{isSuccessCommandResult as s}from"@ledgerhq/device-management-kit";import{Left as i,Right as r}from"purify-ts/Either";import{InitRestoreAppStorageCommand as g,InitRestoreAppStorageCommandError as R}from"../../../../../command/OsUpdate/Restore/InitRestoreAppStorageCommand";import{InitRestoreAppStorageError as m}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";import{InitRestoreAppStorageConsentResult as t}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/types";const A=["5501","5502"],u=o=>async({input:n})=>{const{appName:p,appStorageDataLength:a}=n,e=await o.sendCommand(new g({appName:p,appStorageDataLength:a}));return s(e)?r(t.GRANTED):e.error instanceof R&&A.includes(e.error.errorCode)?r(t.REJECTED):i(new m(e.error.originalError))};export{u as initRestoreAppStorage};
|
|
2
|
+
//# sourceMappingURL=InitRestoreAppStorage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type InternalApi,\n isSuccessCommandResult,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts/Either\";\n\nimport {\n InitRestoreAppStorageCommand,\n InitRestoreAppStorageCommandError,\n} from \"@api/command/OsUpdate/Restore/InitRestoreAppStorageCommand\";\nimport { InitRestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { InitRestoreAppStorageConsentResult } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\n\n// \"5501\" = rejected by user, \"5502\" = pin is not set\nconst INVALID_CONSENT_ERROR_CODES: string[] = [\"5501\", \"5502\"];\n\ntype InitRestoreAppStorageHandlerArgs = {\n input: { appName: string; appStorageDataLength: number };\n};\n\ntype InitRestoreAppStorageHandlerResponse = Promise<\n Either<InitRestoreAppStorageError, InitRestoreAppStorageConsentResult>\n>;\n\ntype InitRestoreAppStorageHandler = (\n args: InitRestoreAppStorageHandlerArgs,\n) => InitRestoreAppStorageHandlerResponse;\n\nexport const initRestoreAppStorage =\n (internalApi: InternalApi): InitRestoreAppStorageHandler =>\n async ({\n input,\n }: InitRestoreAppStorageHandlerArgs): InitRestoreAppStorageHandlerResponse => {\n const { appName, appStorageDataLength } = input;\n const result = await internalApi.sendCommand(\n new InitRestoreAppStorageCommand({ appName, appStorageDataLength }),\n );\n\n if (!isSuccessCommandResult(result)) {\n if (\n result.error instanceof InitRestoreAppStorageCommandError &&\n INVALID_CONSENT_ERROR_CODES.includes(result.error.errorCode)\n ) {\n return Right(InitRestoreAppStorageConsentResult.REJECTED);\n }\n return Left(new InitRestoreAppStorageError(result.error.originalError));\n }\n\n return Right(InitRestoreAppStorageConsentResult.GRANTED);\n };\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MACK,kCACP,OAAsB,QAAAC,EAAM,SAAAC,MAAa,mBAEzC,OACE,gCAAAC,EACA,qCAAAC,MACK,6DACP,OAAS,8BAAAC,MAAkC,8FAC3C,OAAS,sCAAAC,MAA0C,+DAGnD,MAAMC,EAAwC,CAAC,OAAQ,MAAM,EAchDC,EACVC,GACD,MAAO,CACL,MAAAC,CACF,IAA8E,CAC5E,KAAM,CAAE,QAAAC,EAAS,qBAAAC,CAAqB,EAAIF,EACpCG,EAAS,MAAMJ,EAAY,YAC/B,IAAIN,EAA6B,CAAE,QAAAQ,EAAS,qBAAAC,CAAqB,CAAC,CACpE,EAEA,OAAKZ,EAAuBa,CAAM,EAU3BX,EAAMI,EAAmC,OAAO,EARnDO,EAAO,iBAAiBT,GACxBG,EAA4B,SAASM,EAAO,MAAM,SAAS,EAEpDX,EAAMI,EAAmC,QAAQ,EAEnDL,EAAK,IAAII,EAA2BQ,EAAO,MAAM,aAAa,CAAC,CAI1E",
|
|
6
|
+
"names": ["isSuccessCommandResult", "Left", "Right", "InitRestoreAppStorageCommand", "InitRestoreAppStorageCommandError", "InitRestoreAppStorageError", "InitRestoreAppStorageConsentResult", "INVALID_CONSENT_ERROR_CODES", "initRestoreAppStorage", "internalApi", "input", "appName", "appStorageDataLength", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as c,GLOBAL_ERRORS as p,GlobalCommandError as m}from"@ledgerhq/device-management-kit";import{InitRestoreAppStorageCommandError as d}from"../../../../../command/OsUpdate/Restore/InitRestoreAppStorageCommand";import{makeDeviceActionInternalApiMock as l}from"../../../../../device-action/__test-utils__/makeInternalApi";import{InitRestoreAppStorageError as u}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";import{initRestoreAppStorage as s}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage";import{InitRestoreAppStorageConsentResult as i}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/types";describe("InitRestoreAppStorage",()=>{const r=l(),{sendCommand:o}=r,n={appName:"MyApp",appStorageDataLength:42};beforeEach(()=>{vi.resetAllMocks()}),describe("Success",()=>{it("Should return consent granted when the command succeeds",async()=>{o.mockResolvedValueOnce(c({data:void 0}));const e=await s(r)({input:n});expect(e.isRight()).toBe(!0),expect(e.extract()).toBe(i.GRANTED)})}),describe("Consent rejected",()=>{it.each(["5501","5502"])("Should return consent rejected when the command fails with %s",async e=>{o.mockResolvedValueOnce(c({error:new d({errorCode:e,message:"Invalid consent"})}));const t=await s(r)({input:n});expect(t.isRight()).toBe(!0),expect(t.extract()).toBe(i.REJECTED)})}),describe("Error",()=>{it("Should return InitRestoreAppStorageError for other error codes",async()=>{const e=new m({errorCode:"6e00",...p["6e00"]});o.mockResolvedValueOnce(c({error:e}));const t=await s(r)({input:n});expect(t.isLeft()).toBe(!0),t.mapLeft(a=>{expect(a).toBeInstanceOf(u),expect(a.originalError).toBe(e.originalError)})})})});
|
|
2
|
+
//# sourceMappingURL=InitRestoreAppStorage.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n GLOBAL_ERRORS,\n GlobalCommandError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { InitRestoreAppStorageCommandError } from \"@api/command/OsUpdate/Restore/InitRestoreAppStorageCommand\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { InitRestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { initRestoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/InitRestoreAppStorage\";\nimport { InitRestoreAppStorageConsentResult } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/types\";\n\ndescribe(\"InitRestoreAppStorage\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const { sendCommand: sendCommandMock } = apiMock;\n const input = { appName: \"MyApp\", appStorageDataLength: 42 };\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"Success\", () => {\n it(\"Should return consent granted when the command succeeds\", async () => {\n sendCommandMock.mockResolvedValueOnce(\n CommandResultFactory({ data: undefined }),\n );\n\n const result = await initRestoreAppStorage(apiMock)({ input });\n\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toBe(InitRestoreAppStorageConsentResult.GRANTED);\n });\n });\n\n describe(\"Consent rejected\", () => {\n it.each([\"5501\", \"5502\"] as const)(\n \"Should return consent rejected when the command fails with %s\",\n async (errorCode) => {\n sendCommandMock.mockResolvedValueOnce(\n CommandResultFactory({\n error: new InitRestoreAppStorageCommandError({\n errorCode,\n message: \"Invalid consent\",\n }),\n }),\n );\n\n const result = await initRestoreAppStorage(apiMock)({ input });\n\n expect(result.isRight()).toBe(true);\n expect(result.extract()).toBe(\n InitRestoreAppStorageConsentResult.REJECTED,\n );\n },\n );\n });\n\n describe(\"Error\", () => {\n it(\"Should return InitRestoreAppStorageError for other error codes\", async () => {\n const error = new GlobalCommandError({\n errorCode: \"6e00\",\n ...GLOBAL_ERRORS[\"6e00\"],\n });\n sendCommandMock.mockResolvedValueOnce(CommandResultFactory({ error }));\n\n const result = await initRestoreAppStorage(apiMock)({ input });\n\n expect(result.isLeft()).toBe(true);\n result.mapLeft((e) => {\n expect(e).toBeInstanceOf(InitRestoreAppStorageError);\n expect(e.originalError).toBe(error.originalError);\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,wBAAAA,EACA,iBAAAC,EACA,sBAAAC,MACK,kCAEP,OAAS,qCAAAC,MAAyC,6DAClD,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,8BAAAC,MAAkC,8FAC3C,OAAS,yBAAAC,MAA6B,wFACtC,OAAS,sCAAAC,MAA0C,+DAEnD,SAAS,wBAAyB,IAAM,CACtC,MAAMC,EAAUJ,EAAgC,EAC1C,CAAE,YAAaK,CAAgB,EAAID,EACnCE,EAAQ,CAAE,QAAS,QAAS,qBAAsB,EAAG,EAE3D,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0DAA2D,SAAY,CACxED,EAAgB,sBACdT,EAAqB,CAAE,KAAM,MAAU,CAAC,CAC1C,EAEA,MAAMW,EAAS,MAAML,EAAsBE,CAAO,EAAE,CAAE,MAAAE,CAAM,CAAC,EAE7D,OAAOC,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,EAClC,OAAOA,EAAO,QAAQ,CAAC,EAAE,KAAKJ,EAAmC,OAAO,CAC1E,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,KAAK,CAAC,OAAQ,MAAM,CAAU,EAC/B,gEACA,MAAOK,GAAc,CACnBH,EAAgB,sBACdT,EAAqB,CACnB,MAAO,IAAIG,EAAkC,CAC3C,UAAAS,EACA,QAAS,iBACX,CAAC,CACH,CAAC,CACH,EAEA,MAAMD,EAAS,MAAML,EAAsBE,CAAO,EAAE,CAAE,MAAAE,CAAM,CAAC,EAE7D,OAAOC,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,EAClC,OAAOA,EAAO,QAAQ,CAAC,EAAE,KACvBJ,EAAmC,QACrC,CACF,CACF,CACF,CAAC,EAED,SAAS,QAAS,IAAM,CACtB,GAAG,iEAAkE,SAAY,CAC/E,MAAMM,EAAQ,IAAIX,EAAmB,CACnC,UAAW,OACX,GAAGD,EAAc,MAAM,CACzB,CAAC,EACDQ,EAAgB,sBAAsBT,EAAqB,CAAE,MAAAa,CAAM,CAAC,CAAC,EAErE,MAAMF,EAAS,MAAML,EAAsBE,CAAO,EAAE,CAAE,MAAAE,CAAM,CAAC,EAE7D,OAAOC,EAAO,OAAO,CAAC,EAAE,KAAK,EAAI,EACjCA,EAAO,QAASG,GAAM,CACpB,OAAOA,CAAC,EAAE,eAAeT,CAA0B,EACnD,OAAOS,EAAE,aAAa,EAAE,KAAKD,EAAM,aAAa,CAClD,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["CommandResultFactory", "GLOBAL_ERRORS", "GlobalCommandError", "InitRestoreAppStorageCommandError", "makeDeviceActionInternalApiMock", "InitRestoreAppStorageError", "initRestoreAppStorage", "InitRestoreAppStorageConsentResult", "apiMock", "sendCommandMock", "input", "result", "errorCode", "error", "e"]
|
|
7
|
+
}
|
package/lib/esm/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{isSuccessCommandResult as a}from"@ledgerhq/device-management-kit";import{Left as s,Right as n}from"purify-ts/Either";import{RestoreAppStorageError as g}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";import{RestoreAppStorageTask as i}from"../../../../../task/OsUpdate/Restore/RestoreAppStorageTask";const d=(r,t)=>async({input:o})=>{const p=t("RestoreAppStorageTask"),e=await new i({appStorageData:o.appStorageData},r,p).run();return a(e)?n(void 0):s(new g(e.error.originalError))};export{d as restoreAppStorage};
|
|
2
|
+
//# sourceMappingURL=RestoreAppStorage.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type InternalApi,\n isSuccessCommandResult,\n type LoggerPublisherService,\n} from \"@ledgerhq/device-management-kit\";\nimport { type Either, Left, Right } from \"purify-ts/Either\";\n\nimport { RestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { RestoreAppStorageTask } from \"@api/task/OsUpdate/Restore/RestoreAppStorageTask\";\n\ntype RestoreAppStorageHandlerArgs = {\n input: { appStorageData: Uint8Array };\n};\n\ntype RestoreAppStorageHandlerResponse = Promise<\n Either<RestoreAppStorageError, void>\n>;\n\ntype RestoreAppStorageHandler = (\n args: RestoreAppStorageHandlerArgs,\n) => RestoreAppStorageHandlerResponse;\n\nexport const restoreAppStorage =\n (\n internalApi: InternalApi,\n loggerFactory: (tag: string) => LoggerPublisherService,\n ): RestoreAppStorageHandler =>\n async ({\n input,\n }: RestoreAppStorageHandlerArgs): RestoreAppStorageHandlerResponse => {\n const logger = loggerFactory(\"RestoreAppStorageTask\");\n const result = await new RestoreAppStorageTask(\n { appStorageData: input.appStorageData },\n internalApi,\n logger,\n ).run();\n\n if (!isSuccessCommandResult(result)) {\n return Left(new RestoreAppStorageError(result.error.originalError));\n }\n\n return Right(undefined);\n };\n"],
|
|
5
|
+
"mappings": "AAAA,OAEE,0BAAAA,MAEK,kCACP,OAAsB,QAAAC,EAAM,SAAAC,MAAa,mBAEzC,OAAS,0BAAAC,MAA8B,8FACvC,OAAS,yBAAAC,MAA6B,mDAc/B,MAAMC,EACX,CACEC,EACAC,IAEF,MAAO,CACL,MAAAC,CACF,IAAsE,CACpE,MAAMC,EAASF,EAAc,uBAAuB,EAC9CG,EAAS,MAAM,IAAIN,EACvB,CAAE,eAAgBI,EAAM,cAAe,EACvCF,EACAG,CACF,EAAE,IAAI,EAEN,OAAKT,EAAuBU,CAAM,EAI3BR,EAAM,MAAS,EAHbD,EAAK,IAAIE,EAAuBO,EAAO,MAAM,aAAa,CAAC,CAItE",
|
|
6
|
+
"names": ["isSuccessCommandResult", "Left", "Right", "RestoreAppStorageError", "RestoreAppStorageTask", "restoreAppStorage", "internalApi", "loggerFactory", "input", "logger", "result"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{CommandResultFactory as s,GLOBAL_ERRORS as p,GlobalCommandError as m}from"@ledgerhq/device-management-kit";import{makeDeviceActionInternalApiMock as l}from"../../../../../device-action/__test-utils__/makeInternalApi";import{RestoreAppStorageError as u}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors";import{restoreAppStorage as i}from"../../../../../device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage";import{RestoreAppStorageTask as d}from"../../../../../task/OsUpdate/Restore/RestoreAppStorageTask";vi.mock("@api/task/OsUpdate/Restore/RestoreAppStorageTask");describe("RestoreAppStorage",()=>{const e=l(),t=vi.mocked(d);beforeEach(()=>{vi.resetAllMocks()}),describe("Success",()=>{it("Should restore the app storage data",async()=>{const r=Uint8Array.from([1,2]),o=vi.fn().mockResolvedValueOnce(s({data:void 0}));t.mockImplementation(()=>({run:o}));const a=await i(e,e.loggerFactory)({input:{appStorageData:r}});expect(a.isRight()).toBe(!0),expect(t).toHaveBeenCalledWith({appStorageData:r},e,expect.anything())})}),describe("Error",()=>{it("Should return RestoreAppStorageError",async()=>{const r=Uint8Array.from([1,2]),o=new m({errorCode:"6e00",...p["6e00"]}),a=vi.fn().mockResolvedValueOnce(s({error:o}));t.mockImplementation(()=>({run:a}));const n=await i(e,e.loggerFactory)({input:{appStorageData:r}});expect(n.isLeft()).toBe(!0),n.mapLeft(c=>{expect(c).toBeInstanceOf(u),expect(c.originalError).toBe(o.originalError)})})})});
|
|
2
|
+
//# sourceMappingURL=RestoreAppStorage.test.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage.test.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n CommandResultFactory,\n GLOBAL_ERRORS,\n GlobalCommandError,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { RestoreAppStorageError } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\nimport { restoreAppStorage } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/Substeps/RestoreAppStorage\";\nimport { RestoreAppStorageTask } from \"@api/task/OsUpdate/Restore/RestoreAppStorageTask\";\n\nvi.mock(\"@api/task/OsUpdate/Restore/RestoreAppStorageTask\");\n\ndescribe(\"RestoreAppStorage\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n const MockTask = vi.mocked(RestoreAppStorageTask);\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"Success\", () => {\n it(\"Should restore the app storage data\", async () => {\n const appStorageData = Uint8Array.from([0x01, 0x02]);\n const runMock = vi\n .fn()\n .mockResolvedValueOnce(CommandResultFactory({ data: undefined }));\n MockTask.mockImplementation(() => ({ run: runMock }) as never);\n\n const result = await restoreAppStorage(\n apiMock,\n apiMock.loggerFactory!,\n )({ input: { appStorageData } });\n\n expect(result.isRight()).toBe(true);\n expect(MockTask).toHaveBeenCalledWith(\n { appStorageData },\n apiMock,\n expect.anything(),\n );\n });\n });\n\n describe(\"Error\", () => {\n it(\"Should return RestoreAppStorageError\", async () => {\n const appStorageData = Uint8Array.from([0x01, 0x02]);\n const error = new GlobalCommandError({\n errorCode: \"6e00\",\n ...GLOBAL_ERRORS[\"6e00\"],\n });\n const runMock = vi\n .fn()\n .mockResolvedValueOnce(CommandResultFactory({ error }));\n MockTask.mockImplementation(() => ({ run: runMock }) as never);\n\n const result = await restoreAppStorage(\n apiMock,\n apiMock.loggerFactory!,\n )({ input: { appStorageData } });\n\n expect(result.isLeft()).toBe(true);\n result.mapLeft((e) => {\n expect(e).toBeInstanceOf(RestoreAppStorageError);\n expect(e.originalError).toBe(error.originalError);\n });\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,OACE,wBAAAA,EACA,iBAAAC,EACA,sBAAAC,MACK,kCAEP,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,0BAAAC,MAA8B,8FACvC,OAAS,qBAAAC,MAAyB,oFAClC,OAAS,yBAAAC,MAA6B,mDAEtC,GAAG,KAAK,kDAAkD,EAE1D,SAAS,oBAAqB,IAAM,CAClC,MAAMC,EAAUJ,EAAgC,EAC1CK,EAAW,GAAG,OAAOF,CAAqB,EAEhD,WAAW,IAAM,CACf,GAAG,cAAc,CACnB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,sCAAuC,SAAY,CACpD,MAAMG,EAAiB,WAAW,KAAK,CAAC,EAAM,CAAI,CAAC,EAC7CC,EAAU,GACb,GAAG,EACH,sBAAsBV,EAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EAClEQ,EAAS,mBAAmB,KAAO,CAAE,IAAKE,CAAQ,EAAW,EAE7D,MAAMC,EAAS,MAAMN,EACnBE,EACAA,EAAQ,aACV,EAAE,CAAE,MAAO,CAAE,eAAAE,CAAe,CAAE,CAAC,EAE/B,OAAOE,EAAO,QAAQ,CAAC,EAAE,KAAK,EAAI,EAClC,OAAOH,CAAQ,EAAE,qBACf,CAAE,eAAAC,CAAe,EACjBF,EACA,OAAO,SAAS,CAClB,CACF,CAAC,CACH,CAAC,EAED,SAAS,QAAS,IAAM,CACtB,GAAG,uCAAwC,SAAY,CACrD,MAAME,EAAiB,WAAW,KAAK,CAAC,EAAM,CAAI,CAAC,EAC7CG,EAAQ,IAAIV,EAAmB,CACnC,UAAW,OACX,GAAGD,EAAc,MAAM,CACzB,CAAC,EACKS,EAAU,GACb,GAAG,EACH,sBAAsBV,EAAqB,CAAE,MAAAY,CAAM,CAAC,CAAC,EACxDJ,EAAS,mBAAmB,KAAO,CAAE,IAAKE,CAAQ,EAAW,EAE7D,MAAMC,EAAS,MAAMN,EACnBE,EACAA,EAAQ,aACV,EAAE,CAAE,MAAO,CAAE,eAAAE,CAAe,CAAE,CAAC,EAE/B,OAAOE,EAAO,OAAO,CAAC,EAAE,KAAK,EAAI,EACjCA,EAAO,QAASE,GAAM,CACpB,OAAOA,CAAC,EAAE,eAAeT,CAAsB,EAC/C,OAAOS,EAAE,aAAa,EAAE,KAAKD,EAAM,aAAa,CAClD,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
|
|
6
|
+
"names": ["CommandResultFactory", "GLOBAL_ERRORS", "GlobalCommandError", "makeDeviceActionInternalApiMock", "RestoreAppStorageError", "restoreAppStorage", "RestoreAppStorageTask", "apiMock", "MockTask", "appStorageData", "runMock", "result", "error", "e"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var t=(e=>(e.Idle="idle",e.WaitForAppAndVersion="waitForAppAndVersion",e.GoToDashboard="goToDashboard",e.FilterAppsWithStorage="filterAppsWithStorage",e.ExtractAppData="extractAppData",e.InitRestoreAppStorage="initRestoreAppStorage",e.RestoreAppStorage="restoreAppStorage",e.CommitRestoreAppStorage="commitRestoreAppStorage",e))(t||{}),o=(r=>(r.GRANTED="consentGranted",r.REJECTED="consentRejected",r))(o||{});export{o as InitRestoreAppStorageConsentResult,t as RestoreAppsStorageSteps};
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../src/api/device-action/OsUpdate/Restore/RestoreAppsStorage/types.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n type DeviceActionState,\n type GoToDashboardDAError,\n type GoToDashboardDARequiredInteraction,\n type HexaString,\n type UserInteractionRequired,\n type WaitForAppAndVersionDAError,\n type WaitForAppAndVersionDARequiredInteraction,\n} from \"@ledgerhq/device-management-kit\";\n\nimport { type BackupApp } from \"@api/device-action/OsUpdate/Backup/types\";\nimport { type RestoreAppsStorageDeviceActionErrors } from \"@api/device-action/OsUpdate/Restore/RestoreAppsStorage/RestoreAppsStorageDeviceActionErrors\";\n\nexport type RestoreAppsStorageDAInput = {\n backupApps: BackupApp[];\n isMasterConsentGranted: boolean;\n unlockTimeout: number;\n};\n\nexport type RestoreAppStorageResult = {\n appName: string;\n restoredAppStorage: boolean;\n};\n\nexport type RestoreAppsStorageDAOutput = RestoreAppStorageResult[];\n\nexport type RestoreAppsStorageDAError =\n | WaitForAppAndVersionDAError\n | GoToDashboardDAError\n | RestoreAppsStorageDeviceActionErrors;\n\nexport type RestoreAppsStorageDARequiredInteraction =\n | WaitForAppAndVersionDARequiredInteraction\n | GoToDashboardDARequiredInteraction\n | UserInteractionRequired.None\n | UserInteractionRequired.GrantConsent;\n\nexport type RestoreAppsStorageDAIntermediateValue = {\n requiredUserInteraction: RestoreAppsStorageDARequiredInteraction;\n step: RestoreAppsStorageSteps;\n};\n\n// A BackupApp whose storage `data` is known to be defined, i.e. it was\n// actually backed up and therefore has app storage to restore.\nexport type BackupAppWithStorage = BackupApp & { data: HexaString };\n\nexport type RestoreAppsStorageDAInternalState = {\n error: RestoreAppsStorageDAError | null;\n currentApp: string | null;\n appsWithStorage: BackupAppWithStorage[];\n currentAppStorageIndex: number;\n currentAppStorageName: string | null;\n currentAppStorageDataBytes: Uint8Array | null;\n currentAppStorageDataLength: number | null;\n restoreAppsStorageResult: RestoreAppStorageResult[];\n};\n\nexport type RestoreAppsStorageDAState = DeviceActionState<\n RestoreAppsStorageDAOutput,\n RestoreAppsStorageDAError,\n RestoreAppsStorageDAIntermediateValue\n>;\n\nexport enum RestoreAppsStorageSteps {\n Idle = \"idle\",\n WaitForAppAndVersion = \"waitForAppAndVersion\",\n GoToDashboard = \"goToDashboard\",\n FilterAppsWithStorage = \"filterAppsWithStorage\",\n ExtractAppData = \"extractAppData\",\n InitRestoreAppStorage = \"initRestoreAppStorage\",\n RestoreAppStorage = \"restoreAppStorage\",\n CommitRestoreAppStorage = \"commitRestoreAppStorage\",\n}\n\n// Outcome of the consent prompt triggered by InitRestoreAppStorageCommand.\nexport enum InitRestoreAppStorageConsentResult {\n GRANTED = \"consentGranted\",\n REJECTED = \"consentRejected\",\n}\n"],
|
|
5
|
+
"mappings": "AA+DO,IAAKA,OACVA,EAAA,KAAO,OACPA,EAAA,qBAAuB,uBACvBA,EAAA,cAAgB,gBAChBA,EAAA,sBAAwB,wBACxBA,EAAA,eAAiB,iBACjBA,EAAA,sBAAwB,wBACxBA,EAAA,kBAAoB,oBACpBA,EAAA,wBAA0B,0BARhBA,OAAA,IAYAC,OACVA,EAAA,QAAU,iBACVA,EAAA,SAAW,kBAFDA,OAAA",
|
|
6
|
+
"names": ["RestoreAppsStorageSteps", "InitRestoreAppStorageConsentResult"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{hexaStringToBuffer as m,isDashboardName as h,LANGUAGE_ID_TO_LANGUAGE as D,RefusedByUserDAError as f,UserInteractionRequired as c,XStateDeviceAction as R}from"@ledgerhq/device-management-kit";import{Left as E,Right as C}from"purify-ts";import{assign as a,fromPromise as k,setup as I}from"xstate";import{isMasterConsentSupported as v}from"../../../../command/OsUpdate/Restore/RequestMasterConsentCommand";import{isCustomLockScreenSupported as L}from"../../../../customLockScreenUtils/screenSpecs";import{getIsOnboarded as b}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/GetIsOnboarded";import{installLanguagePackage as y}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallLanguagePackage";import{installOrUpdateApps as x}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/InstallOrUpdateApps";import{requestMasterConsent as B}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RequestMasterConsent";import{restoreAppsStorage as V}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/RestoreAppsStorage";import{uploadCustomLockScreenDevice as O}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/Substeps/UploadCustomLockScreen";import{RequestMasterConsentResult as T,RestoreBackupSteps as s}from"../../../../device-action/OsUpdate/Restore/RestoreBackup/types";import{goToDashboard as U}from"../../../../device-action/OsUpdate/Shared/Substeps/GoToDashboard";import{waitForAppAndVersion as F}from"../../../../device-action/OsUpdate/Shared/Substeps/WaitForAppAndVersion";const S="english",g=n=>n===void 0?void 0:D[n],l=n=>{const r=g(n);return r!==void 0&&r!==S},d=n=>n instanceof f,M=(n,r)=>n?.map(p=>{const o=r.find(e=>e.appName===p.appName);return o?{...p,restoredAppStorage:o.restoredAppStorage}:p});class Y extends R{makeStateMachine(r){const{backup:p,unlockTimeout:o}=this.input;return I({types:{input:{},output:{},context:{}},actors:{waitForAppAndVersion:F(r,o),goToDashboard:U(r,o),getIsOnboarded:k(b(r)),requestMasterConsent:k(B(r)),installLanguagePackage:y(r,o,g(p.languageId)??S),installOrUpdateApps:x(r,o,p.installedApps.map(e=>({name:e.appName}))),restoreAppsStorage:V(r,o),uploadCustomLockScreen:O(r,o,m(p.clsHexImage??"")??new Uint8Array(0))},guards:{isDeviceOnDashboard:({context:e})=>h(e._internalState.currentApp),isDeviceOnboarded:({context:e})=>e._internalState.isDeviceOnboarded,isMasterConsentFeatureSupported:()=>v(r.getDeviceModel().id),hasBackedUpNonEnglishLanguage:({context:e})=>l(e.input.backup.languageId),hasAppsToReinstall:({context:e})=>e.input.backup.installedApps.length>0,isCustomLockScreenFeatureSupported:()=>L(r.getDeviceModel().id),hasBackedUpCustomLockScreen:({context:e})=>e.input.backup.clsHexImage!==void 0,hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorFromEvent:a({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"RestoreBackupDeviceAction",initial:"WaitForAppAndVersion",context:({input:e})=>({input:{backup:e.backup,unlockTimeout:e.unlockTimeout},intermediateValue:{requiredUserInteraction:c.None,step:s.Idle},_internalState:{error:null,currentApp:null,isDeviceOnboarded:!1,isMasterConsentGranted:!1,restoredLanguage:l(e.backup.languageId)?!1:void 0,restoredCLS:e.backup.clsHexImage!==void 0?!1:void 0,restoredApps:e.backup.installedApps.length>0?e.backup.installedApps.map(t=>({appName:t.appName,restoredApp:!1,restoredAppStorage:t.data!==void 0?!1:void 0})):void 0,appsToRestoreStorage:[]}}),states:{WaitForAppAndVersion:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.WaitForAppAndVersion})}),invoke:{src:"waitForAppAndVersion",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:t=>({...e.context._internalState,currentApp:t.name})})}),target:"CheckIfDeviceIsOnDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnDashboard:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnDashboard",target:"GetIsOnboarded"},{target:"GoToDashboard"}]},GoToDashboard:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.GoToDashboard})}),invoke:{src:"goToDashboard",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:()=>e.context._internalState})}),target:"CheckGoToDashboard"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGoToDashboard:{always:[{guard:"hasError",target:"Error"},{target:"WaitForAppAndVersion"}]},GetIsOnboarded:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.GetIsOnboarded})}),invoke:{src:"getIsOnboarded",onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:({isDeviceOnboarded:t})=>({...e.context._internalState,isDeviceOnboarded:t})})}),target:"CheckGetIsOnboarded"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckGetIsOnboarded:{always:[{guard:"hasError",target:"Error"},{guard:"isMasterConsentFeatureSupported",target:"RequestMasterConsent"},{target:"CheckBackedUpLanguage"}]},RequestMasterConsent:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.RequestMasterConsent,requiredUserInteraction:c.GrantConsent})}),exit:a({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.None})}),invoke:{src:"requestMasterConsent",input:({context:e})=>{const{backup:t}=e.input;return{languagePackConsentEnabled:!l(t.languageId),lockScreenPictureConsentEnabled:t.clsHexImage===void 0,appNumber:t.installedApps.length,appStorageNumber:t.installedApps.filter(u=>u.data===void 0).length}},onDone:[{guard:({event:e})=>e.output.isLeft(),actions:a({_internalState:({event:e,context:t})=>({...t._internalState,error:e.output.extract()})}),target:"Error"},{guard:({event:e})=>e.output.extract()===T.REJECTED,actions:a({_internalState:({context:e})=>({...e._internalState,isMasterConsentGranted:!1})}),target:"Success"},{actions:a({_internalState:({context:e})=>({...e._internalState,isMasterConsentGranted:!0})}),target:"CheckBackedUpLanguage"}],onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckBackedUpLanguage:{always:[{guard:"hasBackedUpNonEnglishLanguage",target:"InstallLanguagePackage"},{target:"CheckIfDeviceIsOnboarded"}]},InstallLanguagePackage:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.InstallLanguagePackage})}),invoke:{src:"installLanguagePackage",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,language:g(e.input.backup.languageId)}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?e.context._internalState:{...e.context._internalState,error:t},Right:()=>({...e.context._internalState,restoredLanguage:!0})})}),target:"CheckIfDeviceIsOnboarded"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckIfDeviceIsOnboarded:{always:[{guard:"hasError",target:"Error"},{guard:"isDeviceOnboarded",target:"CheckAppsToReinstall"},{target:"Success"}]},CheckAppsToReinstall:{always:[{guard:"hasAppsToReinstall",target:"InstallOrUpdateApps"},{target:"CheckIfDeviceSupportCustomLockScreenFeature"}]},InstallOrUpdateApps:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.InstallOrUpdateApps})}),invoke:{src:"installOrUpdateApps",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,applications:e.input.backup.installedApps.map(t=>({name:t.appName})),allowMissingApplication:!0}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?{...e.context._internalState,appsToRestoreStorage:[]}:{...e.context._internalState,error:t},Right:t=>{const u=new Set([...t.successfullyInstalled.map(i=>i.versionName),...t.alreadyInstalled]),{backup:A}=e.context.input;return{...e.context._internalState,restoredApps:e.context._internalState.restoredApps?.map(i=>({...i,restoredApp:u.has(i.appName)})),appsToRestoreStorage:A.installedApps.filter(i=>u.has(i.appName)&&i.data!==void 0)}}})}),target:"CheckInstallOrUpdateApps"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckInstallOrUpdateApps:{always:[{guard:"hasError",target:"Error"},{target:"RestoreAppsStorage"}]},RestoreAppsStorage:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.RestoreAppsStorage})}),invoke:{src:"restoreAppsStorage",input:({context:e})=>({backupApps:e._internalState.appsToRestoreStorage,isMasterConsentGranted:e._internalState.isMasterConsentGranted,unlockTimeout:e.input.unlockTimeout}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>({...e.context._internalState,error:t}),Right:t=>({...e.context._internalState,restoredApps:M(e.context._internalState.restoredApps,t)})})}),target:"CheckRestoreAppsStorage"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckRestoreAppsStorage:{always:[{guard:"hasError",target:"Error"},{target:"CheckIfDeviceSupportCustomLockScreenFeature"}]},CheckIfDeviceSupportCustomLockScreenFeature:{always:[{guard:"isCustomLockScreenFeatureSupported",target:"CheckBackedUpCustomLockScreen"},{target:"Success"}]},CheckBackedUpCustomLockScreen:{always:[{guard:"hasBackedUpCustomLockScreen",target:"UploadCustomLockScreen"},{target:"Success"}]},UploadCustomLockScreen:{entry:a({intermediateValue:e=>({...e.context.intermediateValue,step:s.UploadCustomLockScreen})}),invoke:{src:"uploadCustomLockScreen",input:({context:e})=>({unlockTimeout:e.input.unlockTimeout,imageData:m(e.input.backup.clsHexImage)}),onSnapshot:{actions:a({intermediateValue:e=>({...e.event.snapshot.context.intermediateValue,step:e.context.intermediateValue.step})})},onDone:{actions:a({_internalState:e=>e.event.output.caseOf({Left:t=>d(t)?e.context._internalState:{...e.context._internalState,error:t},Right:()=>({...e.context._internalState,restoredCLS:!0})})}),target:"CheckUploadCustomLockScreen"},onError:{actions:"assignErrorFromEvent",target:"Error"}}},CheckUploadCustomLockScreen:{always:[{guard:"hasError",target:"Error"},{target:"Success"}]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.error!==null?E(e._internalState.error):C({restoredLanguage:e._internalState.restoredLanguage,restoredCLS:e._internalState.restoredCLS,restoredApps:e._internalState.restoredApps})})}}export{Y as RestoreBackupDeviceAction};
|
|
2
|
+
//# sourceMappingURL=RestoreBackupDeviceAction.js.map
|