@ledgerhq/device-management-kit 0.0.0-signer-eth-plugin-fix-20250331141239 → 0.0.0-sol-signer-20251203164116

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.
Files changed (942) hide show
  1. package/README.md +43 -6
  2. package/lib/cjs/package.json +46 -42
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  9. package/lib/cjs/src/api/DmkConfig.js +1 -1
  10. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  11. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  12. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
  13. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  14. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  15. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
  16. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
  17. package/lib/cjs/src/api/command/Command.js +1 -1
  18. package/lib/cjs/src/api/command/Command.js.map +1 -1
  19. package/lib/cjs/src/api/command/Errors.js +1 -1
  20. package/lib/cjs/src/api/command/Errors.js.map +3 -3
  21. package/lib/cjs/src/api/command/di/commandModule.js +1 -1
  22. package/lib/cjs/src/api/command/di/commandModule.js.map +3 -3
  23. package/lib/cjs/src/api/command/di/commandModule.test.js +1 -1
  24. package/lib/cjs/src/api/command/di/commandModule.test.js.map +2 -2
  25. package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
  26. package/lib/cjs/src/api/command/model/CommandResult.js.map +2 -2
  27. package/lib/cjs/src/api/command/os/CloseAppCommand.js +1 -1
  28. package/lib/cjs/src/api/command/os/CloseAppCommand.js.map +2 -2
  29. package/lib/cjs/src/api/command/os/CloseAppCommand.test.js +1 -1
  30. package/lib/cjs/src/api/command/os/CloseAppCommand.test.js.map +2 -2
  31. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js +1 -1
  32. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js.map +2 -2
  33. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js +1 -1
  34. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js.map +2 -2
  35. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +1 -1
  36. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +2 -2
  37. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
  38. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
  39. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  40. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  41. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  42. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  43. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  44. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  45. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  46. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  47. package/lib/cjs/src/api/command/os/ListAppsCommand.js +1 -1
  48. package/lib/cjs/src/api/command/os/ListAppsCommand.js.map +2 -2
  49. package/lib/cjs/src/api/command/os/ListAppsCommand.test.js +1 -1
  50. package/lib/cjs/src/api/command/os/ListAppsCommand.test.js.map +2 -2
  51. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js +2 -0
  52. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  53. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  54. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  55. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +1 -1
  56. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +2 -2
  57. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +1 -1
  58. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +3 -3
  59. package/lib/cjs/src/api/command/os/OpenAppCommand.js +1 -1
  60. package/lib/cjs/src/api/command/os/OpenAppCommand.js.map +2 -2
  61. package/lib/cjs/src/api/command/os/OpenAppCommand.test.js +1 -1
  62. package/lib/cjs/src/api/command/os/OpenAppCommand.test.js.map +2 -2
  63. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  64. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  65. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +1 -1
  66. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  67. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  68. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  69. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  70. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  71. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  72. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  73. package/lib/cjs/src/api/command/utils/GlobalCommandError.js +1 -1
  74. package/lib/cjs/src/api/command/utils/GlobalCommandError.js.map +2 -2
  75. package/lib/cjs/src/api/device/DeviceModel.js +1 -1
  76. package/lib/cjs/src/api/device/DeviceModel.js.map +2 -2
  77. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  78. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  79. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  80. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  81. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  82. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  83. package/lib/cjs/src/api/device-action/di/deviceActionModule.js +1 -1
  84. package/lib/cjs/src/api/device-action/di/deviceActionModule.js.map +3 -3
  85. package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js +1 -1
  86. package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
  87. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +1 -1
  88. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  89. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  90. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
  91. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  92. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  93. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -1
  94. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +1 -1
  95. package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
  96. package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
  97. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  98. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  99. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  100. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  101. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +2 -0
  102. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  103. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  104. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  105. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  106. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  107. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
  108. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
  109. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +1 -1
  110. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +1 -1
  111. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  112. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  113. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  114. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  115. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +2 -0
  116. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  117. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  118. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  119. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  120. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  121. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  122. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +2 -2
  123. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  124. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  125. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  126. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  127. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  128. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  129. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +2 -0
  130. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  131. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  132. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  133. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  134. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  135. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  136. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  137. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  138. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  139. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  140. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  141. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  142. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  143. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  144. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  145. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  146. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  147. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  148. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  149. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  150. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  151. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  152. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  153. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  154. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
  155. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  156. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  157. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  158. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  159. package/lib/cjs/src/api/device-model/model/DeviceModel.js +1 -1
  160. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +2 -2
  161. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +1 -1
  162. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  163. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  164. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  165. package/lib/cjs/src/api/index.js +1 -1
  166. package/lib/cjs/src/api/index.js.map +3 -3
  167. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js +1 -1
  168. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js.map +3 -3
  169. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  170. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  171. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +1 -1
  172. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  173. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +3 -3
  174. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js +1 -1
  175. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +1 -1
  176. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  177. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  178. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
  179. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  180. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
  181. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +3 -3
  182. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js +1 -1
  183. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +1 -1
  184. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
  185. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
  186. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
  187. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
  188. package/lib/cjs/src/api/secure-channel/task/types.js +1 -1
  189. package/lib/cjs/src/api/secure-channel/task/types.js.map +2 -2
  190. package/lib/cjs/src/api/secure-channel/utils.js +1 -1
  191. package/lib/cjs/src/api/secure-channel/utils.js.map +3 -3
  192. package/lib/cjs/src/api/secure-channel/utils.test.js +1 -1
  193. package/lib/cjs/src/api/secure-channel/utils.test.js.map +3 -3
  194. package/lib/cjs/src/api/transport/model/ConnectedDevice.js +1 -1
  195. package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +3 -3
  196. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  197. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  198. package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
  199. package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
  200. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  201. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  202. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
  203. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
  204. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  205. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  206. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  207. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  208. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js +1 -1
  209. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js.map +3 -3
  210. package/lib/cjs/src/api/types.js +1 -1
  211. package/lib/cjs/src/api/types.js.map +1 -1
  212. package/lib/cjs/src/api/utils/AppName.js +2 -0
  213. package/lib/cjs/src/api/utils/AppName.js.map +7 -0
  214. package/lib/cjs/src/api/utils/AppName.test.js +2 -0
  215. package/lib/cjs/src/api/utils/AppName.test.js.map +7 -0
  216. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  217. package/lib/cjs/src/api/utils/HexaString.js.map +3 -3
  218. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  219. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  220. package/lib/cjs/src/di.js +1 -1
  221. package/lib/cjs/src/di.js.map +2 -2
  222. package/lib/cjs/src/internal/config/di/configModule.js +1 -1
  223. package/lib/cjs/src/internal/config/di/configModule.js.map +3 -3
  224. package/lib/cjs/src/internal/config/di/configModule.test.js +1 -1
  225. package/lib/cjs/src/internal/config/di/configModule.test.js.map +2 -2
  226. package/lib/cjs/src/internal/crypto/CryptoService.js +2 -0
  227. package/lib/cjs/src/internal/crypto/CryptoService.js.map +7 -0
  228. package/lib/cjs/src/internal/crypto/NobleCryptoService.js +2 -0
  229. package/lib/cjs/src/internal/crypto/NobleCryptoService.js.map +7 -0
  230. package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js +2 -0
  231. package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js.map +7 -0
  232. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
  233. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +3 -3
  234. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  235. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  236. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +1 -1
  237. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  238. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  239. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  240. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
  241. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
  242. package/lib/cjs/src/internal/device-session/model/DevicePinger.js +1 -1
  243. package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +3 -3
  244. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  245. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  246. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  247. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
  248. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  249. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +3 -3
  250. package/lib/cjs/src/internal/device-session/model/Frame.js +1 -1
  251. package/lib/cjs/src/internal/device-session/model/Frame.js.map +3 -3
  252. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  253. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +2 -2
  254. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  255. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  256. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  257. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  258. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js +1 -1
  259. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +3 -3
  260. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  261. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  262. package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js +1 -1
  263. package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js.map +1 -1
  264. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  265. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  266. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  267. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  268. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  269. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  270. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  271. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  272. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  273. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  274. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  275. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  276. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  277. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  278. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  279. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  280. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  281. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  282. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  283. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  284. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.js +2 -0
  285. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.js.map +7 -0
  286. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js +2 -0
  287. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +7 -0
  288. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  289. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  290. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  291. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  292. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  293. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  294. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  295. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  296. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js +1 -1
  297. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
  298. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
  299. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
  300. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  301. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  302. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  303. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  304. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  305. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  306. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  307. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  308. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  309. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  310. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  311. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  312. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  313. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  314. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  315. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  316. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  317. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  318. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  319. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  320. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  321. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  322. package/lib/cjs/src/internal/manager-api/model/Language.js +2 -0
  323. package/lib/cjs/src/internal/manager-api/model/Language.js.map +7 -0
  324. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  325. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  326. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  327. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  328. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  329. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  330. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  331. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  332. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  333. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  334. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  335. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  336. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  337. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  338. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  339. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +2 -2
  340. package/lib/cjs/src/internal/secure-channel/model/Errors.js +1 -1
  341. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +3 -3
  342. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  343. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  344. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  345. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  346. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
  347. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
  348. package/lib/cjs/src/internal/send/di/sendModule.js +1 -1
  349. package/lib/cjs/src/internal/send/di/sendModule.js.map +3 -3
  350. package/lib/cjs/src/internal/send/di/sendModule.test.js +1 -1
  351. package/lib/cjs/src/internal/send/di/sendModule.test.js.map +2 -2
  352. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  353. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  354. package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
  355. package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
  356. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  357. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  358. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  359. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  360. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  361. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  362. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  363. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  364. package/lib/esm/package.json +46 -42
  365. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  366. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  367. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  368. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  369. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  370. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  371. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  372. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
  373. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  374. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  375. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
  376. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
  377. package/lib/esm/src/api/command/Errors.js +1 -1
  378. package/lib/esm/src/api/command/Errors.js.map +3 -3
  379. package/lib/esm/src/api/command/di/commandModule.js +1 -1
  380. package/lib/esm/src/api/command/di/commandModule.js.map +3 -3
  381. package/lib/esm/src/api/command/di/commandModule.test.js +1 -1
  382. package/lib/esm/src/api/command/di/commandModule.test.js.map +2 -2
  383. package/lib/esm/src/api/command/model/CommandResult.js.map +2 -2
  384. package/lib/esm/src/api/command/os/CloseAppCommand.js +1 -1
  385. package/lib/esm/src/api/command/os/CloseAppCommand.js.map +2 -2
  386. package/lib/esm/src/api/command/os/CloseAppCommand.test.js +1 -1
  387. package/lib/esm/src/api/command/os/CloseAppCommand.test.js.map +2 -2
  388. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js +1 -1
  389. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js.map +2 -2
  390. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js +1 -1
  391. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js.map +2 -2
  392. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +1 -1
  393. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +2 -2
  394. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
  395. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
  396. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  397. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  398. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  399. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  400. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  401. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  402. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  403. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  404. package/lib/esm/src/api/command/os/ListAppsCommand.js +1 -1
  405. package/lib/esm/src/api/command/os/ListAppsCommand.js.map +2 -2
  406. package/lib/esm/src/api/command/os/ListAppsCommand.test.js +1 -1
  407. package/lib/esm/src/api/command/os/ListAppsCommand.test.js.map +2 -2
  408. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js +2 -0
  409. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  410. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  411. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  412. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +1 -1
  413. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +2 -2
  414. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +1 -1
  415. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +3 -3
  416. package/lib/esm/src/api/command/os/OpenAppCommand.js +1 -1
  417. package/lib/esm/src/api/command/os/OpenAppCommand.js.map +2 -2
  418. package/lib/esm/src/api/command/os/OpenAppCommand.test.js +1 -1
  419. package/lib/esm/src/api/command/os/OpenAppCommand.test.js.map +2 -2
  420. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  421. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  422. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +1 -1
  423. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  424. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  425. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  426. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  427. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  428. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  429. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  430. package/lib/esm/src/api/command/utils/GlobalCommandError.js +1 -1
  431. package/lib/esm/src/api/command/utils/GlobalCommandError.js.map +2 -2
  432. package/lib/esm/src/api/device/DeviceModel.js +1 -1
  433. package/lib/esm/src/api/device/DeviceModel.js.map +2 -2
  434. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  435. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  436. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  437. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  438. package/lib/esm/src/api/device-action/di/deviceActionModule.js +1 -1
  439. package/lib/esm/src/api/device-action/di/deviceActionModule.js.map +3 -3
  440. package/lib/esm/src/api/device-action/di/deviceActionModule.test.js +1 -1
  441. package/lib/esm/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
  442. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +1 -1
  443. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  444. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  445. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
  446. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  447. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  448. package/lib/esm/src/api/device-action/os/Errors.js +1 -1
  449. package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
  450. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  451. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  452. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  453. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  454. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js +1 -0
  455. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  456. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  457. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  458. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  459. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  460. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
  461. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
  462. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  463. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  464. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  465. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  466. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -0
  467. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  468. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  469. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  470. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  471. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  472. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  473. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  474. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  475. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  476. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  477. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  478. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -0
  479. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  480. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  481. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  482. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  483. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  484. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  485. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  486. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  487. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  488. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  489. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  490. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  491. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  492. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  493. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  494. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  495. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  496. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  497. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  498. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  499. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  500. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  501. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +2 -2
  502. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  503. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  504. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  505. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  506. package/lib/esm/src/api/device-model/model/DeviceModel.js +1 -1
  507. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +2 -2
  508. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +1 -1
  509. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  510. package/lib/esm/src/api/device-session/DeviceSessionState.js +1 -1
  511. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  512. package/lib/esm/src/api/index.js +1 -1
  513. package/lib/esm/src/api/index.js.map +3 -3
  514. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js +1 -1
  515. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js.map +3 -3
  516. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  517. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  518. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  519. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +3 -3
  520. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  521. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  522. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
  523. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  524. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
  525. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +3 -3
  526. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
  527. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
  528. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
  529. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
  530. package/lib/esm/src/api/secure-channel/task/types.js +1 -1
  531. package/lib/esm/src/api/secure-channel/task/types.js.map +2 -2
  532. package/lib/esm/src/api/secure-channel/utils.js +1 -1
  533. package/lib/esm/src/api/secure-channel/utils.js.map +3 -3
  534. package/lib/esm/src/api/secure-channel/utils.test.js +1 -1
  535. package/lib/esm/src/api/secure-channel/utils.test.js.map +3 -3
  536. package/lib/esm/src/api/transport/model/ConnectedDevice.js +1 -1
  537. package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +3 -3
  538. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  539. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  540. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  541. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  542. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
  543. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
  544. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  545. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  546. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js +1 -1
  547. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js.map +3 -3
  548. package/lib/esm/src/api/utils/AppName.js +2 -0
  549. package/lib/esm/src/api/utils/AppName.js.map +7 -0
  550. package/lib/esm/src/api/utils/AppName.test.js +2 -0
  551. package/lib/esm/src/api/utils/AppName.test.js.map +7 -0
  552. package/lib/esm/src/api/utils/HexaString.js +1 -1
  553. package/lib/esm/src/api/utils/HexaString.js.map +3 -3
  554. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  555. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  556. package/lib/esm/src/di.js +1 -1
  557. package/lib/esm/src/di.js.map +3 -3
  558. package/lib/esm/src/internal/config/di/configModule.js +1 -1
  559. package/lib/esm/src/internal/config/di/configModule.js.map +3 -3
  560. package/lib/esm/src/internal/config/di/configModule.test.js +1 -1
  561. package/lib/esm/src/internal/config/di/configModule.test.js.map +2 -2
  562. package/lib/esm/src/internal/crypto/CryptoService.js +1 -0
  563. package/lib/esm/src/internal/crypto/CryptoService.js.map +7 -0
  564. package/lib/esm/src/internal/crypto/NobleCryptoService.js +2 -0
  565. package/lib/esm/src/internal/crypto/NobleCryptoService.js.map +7 -0
  566. package/lib/esm/src/internal/crypto/NobleCryptoService.test.js +2 -0
  567. package/lib/esm/src/internal/crypto/NobleCryptoService.test.js.map +7 -0
  568. package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
  569. package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +3 -3
  570. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  571. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  572. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +1 -1
  573. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  574. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  575. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  576. package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
  577. package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
  578. package/lib/esm/src/internal/device-session/model/DevicePinger.js +1 -1
  579. package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +3 -3
  580. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  581. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  582. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  583. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
  584. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  585. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +3 -3
  586. package/lib/esm/src/internal/device-session/model/Frame.js +1 -1
  587. package/lib/esm/src/internal/device-session/model/Frame.js.map +3 -3
  588. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  589. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +2 -2
  590. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  591. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  592. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  593. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  594. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js +1 -1
  595. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +3 -3
  596. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  597. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  598. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  599. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  600. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  601. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  602. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  603. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  604. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  605. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  606. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  607. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  608. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  609. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  610. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  611. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  612. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  613. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  614. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  615. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +2 -2
  616. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  617. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  618. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.js +2 -0
  619. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.js.map +7 -0
  620. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js +2 -0
  621. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +7 -0
  622. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  623. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  624. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  625. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  626. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  627. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  628. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  629. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  630. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js +1 -1
  631. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
  632. package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
  633. package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
  634. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  635. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  636. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  637. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  638. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  639. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  640. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  641. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  642. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  643. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  644. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  645. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  646. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  647. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  648. package/lib/esm/src/internal/manager-api/model/Application.js +1 -1
  649. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  650. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  651. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  652. package/lib/esm/src/internal/manager-api/model/Language.js +1 -0
  653. package/lib/esm/src/internal/manager-api/model/Language.js.map +7 -0
  654. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  655. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  656. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  657. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  658. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  659. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  660. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  661. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  662. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  663. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  664. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  665. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +2 -2
  666. package/lib/esm/src/internal/secure-channel/model/Errors.js +1 -1
  667. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +3 -3
  668. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  669. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  670. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  671. package/lib/esm/src/internal/send/di/sendModule.js +1 -1
  672. package/lib/esm/src/internal/send/di/sendModule.js.map +3 -3
  673. package/lib/esm/src/internal/send/di/sendModule.test.js +1 -1
  674. package/lib/esm/src/internal/send/di/sendModule.test.js.map +2 -2
  675. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +1 -1
  676. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  677. package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
  678. package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
  679. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  680. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  681. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  682. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  683. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  684. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  685. package/lib/types/src/api/DeviceManagementKit.d.ts +27 -1
  686. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  687. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  688. package/lib/types/src/api/DmkConfig.d.ts +2 -0
  689. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  690. package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts.map +1 -1
  691. package/lib/types/src/api/apdu/utils/ApduParser.d.ts.map +1 -1
  692. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +66 -0
  693. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
  694. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +1 -0
  695. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
  696. package/lib/types/src/api/command/Command.d.ts +4 -0
  697. package/lib/types/src/api/command/Command.d.ts.map +1 -1
  698. package/lib/types/src/api/command/Errors.d.ts +5 -0
  699. package/lib/types/src/api/command/Errors.d.ts.map +1 -1
  700. package/lib/types/src/api/command/di/commandModule.d.ts.map +1 -1
  701. package/lib/types/src/api/command/model/CommandResult.d.ts +3 -3
  702. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  703. package/lib/types/src/api/command/os/CloseAppCommand.d.ts +1 -0
  704. package/lib/types/src/api/command/os/CloseAppCommand.d.ts.map +1 -1
  705. package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts +1 -0
  706. package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts.map +1 -1
  707. package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts +1 -0
  708. package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
  709. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts +17 -0
  710. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts.map +1 -0
  711. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts +2 -0
  712. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts.map +1 -0
  713. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +31 -2
  714. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  715. package/lib/types/src/api/command/os/ListAppsCommand.d.ts +1 -0
  716. package/lib/types/src/api/command/os/ListAppsCommand.d.ts.map +1 -1
  717. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +25 -0
  718. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -0
  719. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts +2 -0
  720. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts.map +1 -0
  721. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +1 -0
  722. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -1
  723. package/lib/types/src/api/command/os/OpenAppCommand.d.ts +1 -0
  724. package/lib/types/src/api/command/os/OpenAppCommand.d.ts.map +1 -1
  725. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  726. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +5 -1
  727. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  728. package/lib/types/src/api/command/utils/CommandErrors.d.ts.map +1 -1
  729. package/lib/types/src/api/command/utils/CommandUtils.d.ts +4 -0
  730. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  731. package/lib/types/src/api/command/utils/GlobalCommandError.d.ts +1 -1
  732. package/lib/types/src/api/command/utils/GlobalCommandError.d.ts.map +1 -1
  733. package/lib/types/src/api/device/DeviceModel.d.ts +2 -1
  734. package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
  735. package/lib/types/src/api/device-action/DeviceAction.d.ts +3 -1
  736. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  737. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  738. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +5 -0
  739. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  740. package/lib/types/src/api/device-action/di/deviceActionModule.d.ts.map +1 -1
  741. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +3 -1
  742. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts.map +1 -1
  743. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
  744. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +1 -1
  745. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
  746. package/lib/types/src/api/device-action/os/Errors.d.ts +25 -0
  747. package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
  748. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts +58 -0
  749. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -0
  750. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts +2 -0
  751. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts.map +1 -0
  752. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +29 -0
  753. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -0
  754. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +1 -1
  755. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  756. package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts.map +1 -1
  757. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts +3 -4
  758. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
  759. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts +40 -0
  760. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -0
  761. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts +2 -0
  762. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts.map +1 -0
  763. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +66 -0
  764. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -0
  765. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  766. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +0 -1
  767. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  768. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts +15 -0
  769. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -0
  770. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts +2 -0
  771. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts.map +1 -0
  772. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +25 -0
  773. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -0
  774. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  775. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -1
  776. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  777. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts +30 -0
  778. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts.map +1 -0
  779. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts +2 -0
  780. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts.map +1 -0
  781. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +31 -0
  782. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -0
  783. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts +2 -0
  784. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts.map +1 -0
  785. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +18 -0
  786. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -0
  787. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts +2 -0
  788. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts.map +1 -0
  789. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts +21 -0
  790. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -0
  791. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts +2 -0
  792. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts.map +1 -0
  793. package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts +1 -0
  794. package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts.map +1 -1
  795. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -1
  796. package/lib/types/src/api/device-model/model/DeviceModel.d.ts +2 -0
  797. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -1
  798. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -1
  799. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +93 -0
  800. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  801. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -1
  802. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -1
  803. package/lib/types/src/api/index.d.ts +7 -2
  804. package/lib/types/src/api/index.d.ts.map +1 -1
  805. package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts +1 -0
  806. package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts.map +1 -1
  807. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
  808. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +3 -1
  809. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -1
  810. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -1
  811. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +3 -1
  812. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -1
  813. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -1
  814. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +3 -1
  815. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -1
  816. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -1
  817. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +3 -1
  818. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -1
  819. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +9 -2
  820. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -1
  821. package/lib/types/src/api/secure-channel/task/types.d.ts +13 -1
  822. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -1
  823. package/lib/types/src/api/secure-channel/utils.d.ts +14 -8
  824. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -1
  825. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +3 -2
  826. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
  827. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  828. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  829. package/lib/types/src/api/transport/model/DeviceConnection.d.ts +2 -1
  830. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
  831. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +63 -0
  832. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  833. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts +2 -0
  834. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts.map +1 -0
  835. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +1 -1
  836. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  837. package/lib/types/src/api/transport/model/Errors.d.ts +27 -3
  838. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  839. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  840. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  841. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts +3 -1
  842. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts.map +1 -1
  843. package/lib/types/src/api/types.d.ts +6 -2
  844. package/lib/types/src/api/types.d.ts.map +1 -1
  845. package/lib/types/src/api/utils/AppName.d.ts +2 -0
  846. package/lib/types/src/api/utils/AppName.d.ts.map +1 -0
  847. package/lib/types/src/api/utils/AppName.test.d.ts +2 -0
  848. package/lib/types/src/api/utils/AppName.test.d.ts.map +1 -0
  849. package/lib/types/src/api/utils/HexaString.d.ts +4 -3
  850. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  851. package/lib/types/src/di.d.ts.map +1 -1
  852. package/lib/types/src/internal/config/di/configModule.d.ts.map +1 -1
  853. package/lib/types/src/internal/crypto/CryptoService.d.ts +12 -0
  854. package/lib/types/src/internal/crypto/CryptoService.d.ts.map +1 -0
  855. package/lib/types/src/internal/crypto/NobleCryptoService.d.ts +8 -0
  856. package/lib/types/src/internal/crypto/NobleCryptoService.d.ts.map +1 -0
  857. package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts +2 -0
  858. package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts.map +1 -0
  859. package/lib/types/src/internal/device-model/di/deviceModelModule.d.ts.map +1 -1
  860. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts +1 -0
  861. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts.map +1 -1
  862. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  863. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +1 -1
  864. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -1
  865. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +3 -1
  866. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  867. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  868. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -1
  869. package/lib/types/src/internal/device-session/model/Frame.d.ts.map +1 -1
  870. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts.map +1 -1
  871. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +7 -5
  872. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
  873. package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts +28 -1
  874. package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts.map +1 -1
  875. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +3 -1
  876. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  877. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts.map +1 -1
  878. package/lib/types/src/internal/discovery/di/discoveryModule.d.ts.map +1 -1
  879. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -0
  880. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  881. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -2
  882. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  883. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts.map +1 -1
  884. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +1 -1
  885. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -1
  886. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.d.ts +32 -0
  887. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.d.ts.map +1 -0
  888. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts +2 -0
  889. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts.map +1 -0
  890. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
  891. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  892. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +4 -2
  893. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  894. package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
  895. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +24 -5
  896. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  897. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +51 -6
  898. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  899. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +104 -18
  900. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  901. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +7 -0
  902. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  903. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  904. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  905. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  906. package/lib/types/src/internal/manager-api/model/Application.d.ts +12 -12
  907. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  908. package/lib/types/src/internal/manager-api/model/Const.d.ts +2 -0
  909. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  910. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +17 -3
  911. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  912. package/lib/types/src/internal/manager-api/model/Language.d.ts +12 -0
  913. package/lib/types/src/internal/manager-api/model/Language.d.ts.map +1 -0
  914. package/lib/types/src/internal/manager-api/model/Params.d.ts +20 -6
  915. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  916. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +9 -3
  917. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  918. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +42 -7
  919. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  920. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +13 -0
  921. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
  922. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
  923. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
  924. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -1
  925. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +22 -2
  926. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -1
  927. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +2 -2
  928. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
  929. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +3 -3
  930. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
  931. package/lib/types/src/internal/send/di/sendModule.d.ts.map +1 -1
  932. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +9 -1
  933. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  934. package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
  935. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  936. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  937. package/lib/types/src/internal/transport/service/TransportService.d.ts +3 -1
  938. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  939. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +1 -0
  940. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  941. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  942. package/package.json +43 -39
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport {\n installedAppResultGuard,\n type ListInstalledAppsDAError,\n type ListInstalledAppsDAInput,\n type ListInstalledAppsDAIntermediateValue,\n type ListInstalledAppsDAOutput,\n type ListInstalledAppsStateMachineInternalState,\n type MachineDependencies,\n} from \"./types\";\n\nexport class ListInstalledAppsDeviceAction extends XStateDeviceAction<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAInput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue,\n ListInstalledAppsStateMachineInternalState\n> {\n override makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAInput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue,\n ListInstalledAppsStateMachineInternalState\n > {\n type types = StateMachineTypes<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAInput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue,\n ListInstalledAppsStateMachineInternalState\n >;\n\n const {\n getOsVersion,\n getDeviceVersion,\n getFirmwareVersion,\n listInstalledApps,\n getDeviceSessionState,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n goToDashboard: goToDashboardMachine,\n getOsVersion: fromPromise(getOsVersion),\n getDeviceVersion: fromPromise(getDeviceVersion),\n getFirmwareVersion: fromPromise(getFirmwareVersion),\n listInstalledApps: fromObservable(listInstalledApps),\n },\n guards: {\n hasError: (_) => _.context._internalState.error !== null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"],\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEkB2sAuBDANjgggA6EAiYAbgJYDGY+1GlA9qgHRlW0BKYWEAngGIA2gAYAuolCEmsSoxZSQAD0QBGAJyjWADgDsAFg0A2HSb2iArMbUBmADQh+iAExrjrS6KuWNtte7Glga2AL6hjmiYuATEHDR0DMxsAOJMACpMJFiwABYARkxYAE4QghAsYKyUqORMANZVUBlZOQVFpWKSSCAycgqoSqoIxi6WrKJq1rYGNgaiBrOOzgi2th5qonouorYuo9YBBuGR6Nh4RKQUCfQDrGmZ2XmFJWVgxcVMxayEOFgYADMvgBbVjNR5tF6dCRKPryZJDRAHCZTYwzOYLJZOdR6DSeFy2MwBPaaXzGE4gKLnWJXTiJO4PVrPDoQADCuTA1HqIhhPThA0RCE2XlY+0semMomMBgsOjMyyRoh0E28BmClhc+0mxwilLOMUu8Vot2S9xaT3ar3ZnO5wjU3Wksnhih6w2F2jFEqlMqV8uxq0stlYgTlGg02wJOjCuqpBri12NSRY9zAGAA8rAAGrvOQscqVaq1BpNVMZ7PFXOoLqwp0C13qDVqVhaIK+HSifazNQK1YuPHGLTWQxabaLSwU2MXeN0k3JlKlrM55LWrk8h29WsI+tCjRqAysebSvY6TWagw6HvnvFeDsaGX6UR+Wx6Cf6qe0m5J1IL8uVle2+0a36LdQDdXd90PEIXBPU9zx7dFWD0LwxgMHYFkmckYzfGkjXpU15wwS4ABlKEwfNUCqGo6kaFNCOIEjMGrPlNxdUDXFscVRR0VFxXDJCL39PYgxcPRbD8NQ9DUOV9BfLDonfXDZ2-OjCAYjB-zXIDnUGbcRIkxDNEfEIwwCFx4MDYNjFMMxw01Qlo1OeScITPC51TYjSPUjlVztdd+RAlRXEkvQDK0O8xN3NQzP9HR9xvKxCT0E9Jj0WTdVQJgIDgJRJ2cmcvy0us2IQABaYwezK18nMNFylPYFyeD4FZHWA1jAoQVCezccYb02JDDPcQkqupGr8oZc1IRZQqAuGaDxhMfQxjsKMlQcf1NBcFVdlmPs9wJNVhrjD9E3GiFmStbz6mmtrhijTaFu4tZRJMSZzJCqNnyS9x5m2DRDoU2qv1osslza-ybvUNwg02DRLFi+YZnbSx4JE5sJO8Xc3CsWZMMckbp0-Bkf1B1B-2unTiokuxWGlJULHWWwOzGcymwMKnULEuzRn+vLCfw9z6M88nBR2VLRWQ6xxR0GxRhRpsb2fNYjDcXFZLxo7FKBgiPMwMnmNain2rGDiD01PdUs0NVu0EtUtq8KydginV1YBsbTQAZQAV2oWhYHgfXtJFsxtGsXbuMsCPdh7bjPG8AkNFi70-B50a+eTABRD4vmF3Tg88UZd3DyO1pWDj9wlCwLFMDQ+1xcdwlCIA */\n id: \"ListInstalledAppsDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n getOsVersionResponse: null,\n deviceVersion: null,\n firmwareVersion: null,\n result: { installedApps: [] },\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"GoToDashboard\",\n },\n },\n GoToDashboard: {\n invoke: {\n id: \"goToDashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<ListInstalledAppsStateMachineInternalState>(\n {\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n ),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetOsVersion\",\n },\n ],\n },\n GetOsVersion: {\n invoke: {\n id: \"getOsVersion\",\n src: \"getOsVersion\",\n input: (_) => undefined,\n onDone: {\n target: \"GetOsVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const currentState: DeviceSessionState =\n getDeviceSessionState();\n const isSecureConnectionAllowed =\n _.event.output.data.secureElementFlags\n .isSecureConnectionAllowed;\n if (\n currentState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...currentState,\n isSecureConnectionAllowed,\n });\n }\n return {\n ..._.context._internalState,\n getOsVersionResponse: _.event.output.data,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n },\n },\n GetOsVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetDeviceVersion\",\n },\n ],\n },\n GetDeviceVersion: {\n invoke: {\n id: \"getDeviceVersion\",\n src: \"getDeviceVersion\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n }),\n onDone: {\n target: \"GetDeviceVersionCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<ListInstalledAppsStateMachineInternalState>(\n {\n Right: (deviceVersion) => ({\n ..._.context._internalState,\n deviceVersion,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n ),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetDeviceVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"GetFirmwareVersion\" },\n ],\n },\n GetFirmwareVersion: {\n invoke: {\n id: \"getFirmwareVersion\",\n src: \"getFirmwareVersion\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n deviceVersion: _.context._internalState.deviceVersion!,\n }),\n onDone: {\n target: \"GetFirmwareVersionCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<ListInstalledAppsStateMachineInternalState>(\n {\n Right: (firmwareVersion) => ({\n ..._.context._internalState,\n firmwareVersion,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n ),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetFirmwareVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"ListInstalledApps\" },\n ],\n },\n ListInstalledApps: {\n invoke: {\n id: \"listInstalledApps\",\n src: \"listInstalledApps\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n finalFirmware: _.context._internalState.firmwareVersion!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.PermissionRequested: {\n return {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n return {\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n _internalState: (_) => {\n if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Result\n ) {\n if (\n installedAppResultGuard(_.event.snapshot.context.payload)\n ) {\n return {\n ..._.context._internalState,\n result: {\n installedApps: _.event.snapshot.context.payload,\n },\n };\n }\n throw new Error(\n `Invalid result ${JSON.stringify(_.event.snapshot.context.payload)}`,\n );\n }\n return { ..._.context._internalState };\n },\n }),\n },\n onDone: {\n target: \"Success\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListInstalledAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error) {\n return Left(_.context._internalState.error);\n } else {\n return Right(_.context._internalState.result);\n }\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const provider = 1; // TODO: get the provider from user configuration\n\n const getOsVersion = () =>\n internalApi.sendCommand(new GetOsVersionCommand());\n\n const getDeviceVersion = ({\n input,\n }: Input<{ deviceInfo: GetOsVersionResponse }>) => {\n const { deviceInfo } = input;\n return internalApi\n .getManagerApiService()\n .getDeviceVersion(deviceInfo, provider);\n };\n\n const getFirmwareVersion = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n deviceVersion: DeviceVersion;\n }>) => {\n const { deviceInfo, deviceVersion } = input;\n return internalApi\n .getManagerApiService()\n .getFirmwareVersion(deviceInfo, deviceVersion, provider);\n };\n\n const listInstalledApps = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n finalFirmware: FinalFirmware;\n }>) => {\n const { deviceInfo, finalFirmware } = input;\n const eitherConnection = internalApi\n .getSecureChannelService()\n .listInstalledApps(deviceInfo, finalFirmware);\n return new ConnectToSecureChannelTask(internalApi, {\n connection: eitherConnection,\n }).run();\n };\n\n return {\n getOsVersion,\n getDeviceVersion,\n getFirmwareVersion,\n listInstalledApps,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport {\n installedAppResultGuard,\n type ListInstalledAppsDAError,\n type ListInstalledAppsDAInput,\n type ListInstalledAppsDAIntermediateValue,\n type ListInstalledAppsDAOutput,\n type ListInstalledAppsStateMachineInternalState,\n type MachineDependencies,\n} from \"./types\";\n\nexport class ListInstalledAppsDeviceAction extends XStateDeviceAction<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAInput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue,\n ListInstalledAppsStateMachineInternalState\n> {\n override makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAInput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue,\n ListInstalledAppsStateMachineInternalState\n > {\n type types = StateMachineTypes<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAInput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue,\n ListInstalledAppsStateMachineInternalState\n >;\n\n const {\n getOsVersion,\n getDeviceVersion,\n getFirmwareVersion,\n listInstalledApps,\n getDeviceSessionState,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n goToDashboard: goToDashboardMachine,\n getOsVersion: fromPromise(getOsVersion),\n getDeviceVersion: fromPromise(getDeviceVersion),\n getFirmwareVersion: fromPromise(getFirmwareVersion),\n listInstalledApps: fromObservable(listInstalledApps),\n },\n guards: {\n hasError: (_) => _.context._internalState.error !== null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"],\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEkB2sAuBDANjgggA6EAiYAbgJYDGY+1GlA9qgHRlW0BKYWEAngGIA2gAYAuolCEmsSoxZSQAD0QBGAJyjWADgDsAFg0A2HSb2iArMbUBmADQh+iAExrjrS6KuWNtte7Glga2AL6hjmiYuATEHDR0DMxsAOJMACpMJFiwABYARkxYAE4QghAsYKyUqORMANZVUBlZOQVFpWKSSCAycgqoSqoIxi6WrKJq1rYGNgaiBrOOzgi2th5qonouorYuo9YBBuGR6Nh4RKQUCfQDrGmZ2XmFJWVgxcVMxayEOFgYADMvgBbVjNR5tF6dCRKPryZJDRAHCZTYwzOYLJZOdR6DSeFy2MwBPaaXzGE4gKLnWJXTiJO4PVrPDoQADCuTA1HqIhhPThA0RCE2XlY+0semMomMBgsOjMyyRoh0E28BmClhc+0mxwilLOMUu8Vot2S9xaT3ar3ZnO5wjU3Wksnhih6w2F2jFEqlMqV8uxq0stlYgTlGg02wJOjCuqpBri12NSRY9zAGAA8rAAGrvOQscqVaq1BpNVMZ7PFXOoLqwp0C13qDVqVhaIK+HSifazNQK1YuPHGLTWQxabaLSwU2MXeN0k3JlKlrM55LWrk8h29WsI+tCjRqAysebSvY6TWagw6HvnvFeDsaGX6UR+Wx6Cf6qe0m5J1IL8uVle2+0a36LdQDdXd90PEIXBPU9zx7dFWD0LwxgMHYFkmckYzfGkjXpU15wwS4ABlKEwfNUCqGo6kaFNCOIEjMGrPlNxdUDXFscVRR0VFxXDJCL39PYgxcPRbD8NQ9DUOV9BfLDonfXDZ2-OjCAYjB-zXIDnUGbcRIkxDNEfEIwwCFx4MDYNjFMMxw01Qlo1OeScITPC51TYjSPUjlVztdd+RAlRXEkvQDK0O8xN3NQzP9HR9xvKxCT0E9Jj0WTdVQJgIDgJRJ2cmcvy0us2IQABaYwezK18nMNFylPYFyeD4FZHWA1jAoQVCezccYb02JDDPcQkqupGr8oZc1IRZQqAuGaDxhMfQxjsKMlQcf1NBcFVdlmPs9wJNVhrjD9E3GiFmStbz6mmtrhijTaFu4tZRJMSZzJCqNnyS9x5m2DRDoU2qv1osslza-ybvUNwg02DRLFi+YZnbSx4JE5sJO8Xc3CsWZMMckbp0-Bkf1B1B-2unTiokuxWGlJULHWWwOzGcymwMKnULEuzRn+vLCfw9z6M88nBR2VLRWQ6xxR0GxRhRpsb2fNYjDcXFZLxo7FKBgiPMwMnmNain2rGDiD01PdUs0NVu0EtUtq8KydginV1YBsbTQAZQAV2oWhYHgfXtJFsxtGsXbuMsCPdh7bjPG8AkNFi70-B50a+eTABRD4vmF3Tg88UZd3DyO1pWDj9wlCwLFMDQ+1xcdwlCIA */\n id: \"ListInstalledAppsDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n getOsVersionResponse: null,\n deviceVersion: null,\n firmwareVersion: null,\n result: { installedApps: [] },\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"GoToDashboard\",\n },\n },\n GoToDashboard: {\n invoke: {\n id: \"goToDashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<ListInstalledAppsStateMachineInternalState>(\n {\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n ),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetOsVersion\",\n },\n ],\n },\n GetOsVersion: {\n invoke: {\n id: \"getOsVersion\",\n src: \"getOsVersion\",\n input: (_) => undefined,\n onDone: {\n target: \"GetOsVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const currentState: DeviceSessionState =\n getDeviceSessionState();\n const isSecureConnectionAllowed =\n _.event.output.data.secureElementFlags\n .isSecureConnectionAllowed;\n if (\n currentState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...currentState,\n isSecureConnectionAllowed,\n });\n }\n return {\n ..._.context._internalState,\n getOsVersionResponse: _.event.output.data,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n },\n },\n GetOsVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetDeviceVersion\",\n },\n ],\n },\n GetDeviceVersion: {\n invoke: {\n id: \"getDeviceVersion\",\n src: \"getDeviceVersion\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n }),\n onDone: {\n target: \"GetDeviceVersionCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<ListInstalledAppsStateMachineInternalState>(\n {\n Right: (deviceVersion) => ({\n ..._.context._internalState,\n deviceVersion,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n ),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetDeviceVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"GetFirmwareVersion\" },\n ],\n },\n GetFirmwareVersion: {\n invoke: {\n id: \"getFirmwareVersion\",\n src: \"getFirmwareVersion\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n deviceVersion: _.context._internalState.deviceVersion!,\n }),\n onDone: {\n target: \"GetFirmwareVersionCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<ListInstalledAppsStateMachineInternalState>(\n {\n Right: (firmwareVersion) => ({\n ..._.context._internalState,\n firmwareVersion,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n ),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetFirmwareVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"ListInstalledApps\" },\n ],\n },\n ListInstalledApps: {\n invoke: {\n id: \"listInstalledApps\",\n src: \"listInstalledApps\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n finalFirmware: _.context._internalState.firmwareVersion!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.DeviceId: {\n return {\n ..._.context.intermediateValue,\n deviceId: _.event.snapshot.context.payload.deviceId,\n };\n }\n case SecureChannelEventType.PermissionRequested: {\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n _internalState: (_) => {\n if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Error\n ) {\n return {\n ..._.context._internalState,\n error: _.event.snapshot.context.error.mapDAErrors(),\n };\n } else if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Result\n ) {\n if (\n installedAppResultGuard(_.event.snapshot.context.payload)\n ) {\n return {\n ..._.context._internalState,\n result: {\n installedApps: _.event.snapshot.context.payload,\n },\n };\n }\n throw new Error(\n `Invalid result ${JSON.stringify(_.event.snapshot.context.payload)}`,\n );\n }\n return { ..._.context._internalState };\n },\n }),\n },\n onDone: {\n target: \"Success\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListInstalledAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error) {\n return Left(_.context._internalState.error);\n } else {\n return Right(_.context._internalState.result);\n }\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const getOsVersion = () =>\n internalApi.sendCommand(new GetOsVersionCommand());\n\n const getDeviceVersion = ({\n input,\n }: Input<{ deviceInfo: GetOsVersionResponse }>) => {\n const { deviceInfo } = input;\n return internalApi.getManagerApiService().getDeviceVersion(deviceInfo);\n };\n\n const getFirmwareVersion = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n deviceVersion: DeviceVersion;\n }>) => {\n const { deviceInfo, deviceVersion } = input;\n return internalApi\n .getManagerApiService()\n .getFirmwareVersion(deviceInfo, deviceVersion);\n };\n\n const listInstalledApps = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n finalFirmware: FinalFirmware;\n }>) => {\n const { deviceInfo, finalFirmware } = input;\n const eitherConnection = internalApi\n .getSecureChannelService()\n .listInstalledApps(deviceInfo, finalFirmware);\n return new ConnectToSecureChannelTask(internalApi, {\n connection: eitherConnection,\n }).run();\n };\n\n return {\n getOsVersion,\n getDeviceVersion,\n getFirmwareVersion,\n listInstalledApps,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["ListInstalledAppsDeviceAction_exports", "__export", "ListInstalledAppsDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_GetOsVersionCommand", "import_UserInteractionRequired", "import_Const", "import_GoToDashboardDeviceAction", "import_XStateDeviceAction", "import_DeviceSessionState", "import_ConnectToSecureChannelTask", "import_types", "internalApi", "getOsVersion", "getDeviceVersion", "getFirmwareVersion", "listInstalledApps", "getDeviceSessionState", "setDeviceSessionState", "unlockTimeout", "goToDashboardMachine", "_", "error", "currentState", "isSecureConnectionAllowed", "deviceVersion", "firmwareVersion", "input", "deviceInfo", "finalFirmware", "eitherConnection", "state"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var s in e)n(t,s,{get:e[s],enumerable:!0})},A=(t,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of p(e))!a.call(t,r)&&r!==s&&n(t,r,{get:()=>e[r],enumerable:!(o=i(e,r))||o.enumerable});return t};var d=t=>A(n({},"__esModule",{value:!0}),t);var m={};l(m,{installedAppResultGuard:()=>c});module.exports=d(m);function c(t){return Array.isArray(t)&&t.every(e=>typeof e=="object"&&e!==null&&"flags"in e&&"hash"in e&&"hash_code_data"in e&&"name"in e&&typeof e.flags=="number"&&typeof e.hash=="string"&&typeof e.hash_code_data=="string"&&typeof e.name=="string")}0&&(module.exports={installedAppResultGuard});
1
+ "use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(r,e)=>{for(var s in e)n(r,s,{get:e[s],enumerable:!0})},A=(r,e,s,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!a.call(r,t)&&t!==s&&n(r,t,{get:()=>e[t],enumerable:!(o=i(e,t))||o.enumerable});return r};var d=r=>A(n({},"__esModule",{value:!0}),r);var m={};l(m,{installedAppResultGuard:()=>c});module.exports=d(m);function c(r){return Array.isArray(r)&&r.every(e=>typeof e=="object"&&e!==null&&"flags"in e&&"hash"in e&&"hash_code_data"in e&&"name"in e&&typeof e.flags=="number"&&typeof e.hash=="string"&&typeof e.hash_code_data=="string"&&typeof e.name=="string")}0&&(module.exports={installedAppResultGuard});
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/secure-channel/device-action/ListInstalledApps/types.ts"],
4
- "sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\n\nimport { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport {\n type GetOsVersionCommandResult,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { type UnknownDAError } from \"@api/device-action/os/Errors\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type SecureChannelEvent } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nexport type ListInstalledAppsDAOutput = {\n installedApps: Array<InstalledApp>;\n};\n\nexport type ListInstalledAppsDAInput = GoToDashboardDAInput;\n\nexport type ListInstalledAppsDAError =\n | CommandErrorResult[\"error\"]\n | GoToDashboardDAError\n | HttpFetchApiError\n | UnknownDAError;\n\nexport type ListInstalledAppsDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.AllowSecureConnection;\n\nexport type ListInstalledAppsDAIntermediateValue = {\n requiredUserInteraction: ListInstalledAppsDARequiredInteraction;\n};\n\nexport type ListInstalledAppsDAState = DeviceActionState<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue\n>;\n\nexport type ListInstalledAppsStateMachineInternalState = {\n error: ListInstalledAppsDAError | null;\n result: { installedApps: Array<InstalledApp> };\n getOsVersionResponse: GetOsVersionResponse | null;\n deviceVersion: DeviceVersion | null;\n firmwareVersion: FinalFirmware | null;\n};\n\nexport type MachineDependencies = {\n getOsVersion: () => Promise<GetOsVersionCommandResult>;\n getDeviceVersion: (\n args: Input<{ deviceInfo: GetOsVersionResponse }>,\n ) => EitherAsync<HttpFetchApiError, DeviceVersion>;\n getFirmwareVersion: (\n args: Input<{\n deviceInfo: GetOsVersionResponse;\n deviceVersion: DeviceVersion;\n }>,\n ) => EitherAsync<HttpFetchApiError, FinalFirmware>;\n listInstalledApps: (\n args: Input<{\n deviceInfo: GetOsVersionResponse;\n finalFirmware: FinalFirmware;\n }>,\n ) => Observable<SecureChannelEvent>;\n getDeviceSessionState: () => DeviceSessionState;\n setDeviceSessionState: (state: DeviceSessionState) => DeviceSessionState;\n};\n\nexport type InstalledApp = {\n flags: number;\n hash: string;\n hash_code_data: string;\n name: string;\n};\n\nexport function installedAppResultGuard(\n value: unknown,\n): value is ListInstalledAppsDAOutput[\"installedApps\"] {\n return (\n Array.isArray(value) &&\n value.every(\n (item) =>\n typeof item === \"object\" &&\n item !== null &&\n \"flags\" in item &&\n \"hash\" in item &&\n \"hash_code_data\" in item &&\n \"name\" in item &&\n typeof item.flags === \"number\" &&\n typeof item.hash === \"string\" &&\n typeof item.hash_code_data === \"string\" &&\n typeof item.name === \"string\",\n )\n );\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAqFO,SAASE,EACdE,EACqD,CACrD,OACE,MAAM,QAAQA,CAAK,GACnBA,EAAM,MACHC,GACC,OAAOA,GAAS,UAChBA,IAAS,MACT,UAAWA,GACX,SAAUA,GACV,mBAAoBA,GACpB,SAAUA,GACV,OAAOA,EAAK,OAAU,UACtB,OAAOA,EAAK,MAAS,UACrB,OAAOA,EAAK,gBAAmB,UAC/B,OAAOA,EAAK,MAAS,QACzB,CAEJ",
4
+ "sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\n\nimport { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport {\n type GetOsVersionCommandResult,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { type UnknownDAError } from \"@api/device-action/os/Errors\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type SecureChannelEvent } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\nimport type { SecureChannelDAErrors } from \"@internal/secure-channel/model/Errors\";\n\nexport type ListInstalledAppsDAOutput = {\n installedApps: Array<InstalledApp>;\n};\n\nexport type ListInstalledAppsDAInput = GoToDashboardDAInput;\n\nexport type ListInstalledAppsDAError =\n | CommandErrorResult[\"error\"]\n | GoToDashboardDAError\n | HttpFetchApiError\n | SecureChannelDAErrors\n | UnknownDAError;\n\nexport type ListInstalledAppsDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.AllowSecureConnection;\n\nexport type ListInstalledAppsDAIntermediateValue = {\n requiredUserInteraction: ListInstalledAppsDARequiredInteraction;\n deviceId?: Uint8Array;\n};\n\nexport type ListInstalledAppsDAState = DeviceActionState<\n ListInstalledAppsDAOutput,\n ListInstalledAppsDAError,\n ListInstalledAppsDAIntermediateValue\n>;\n\nexport type ListInstalledAppsStateMachineInternalState = {\n error: ListInstalledAppsDAError | null;\n result: { installedApps: Array<InstalledApp> };\n getOsVersionResponse: GetOsVersionResponse | null;\n deviceVersion: DeviceVersion | null;\n firmwareVersion: FinalFirmware | null;\n};\n\nexport type MachineDependencies = {\n getOsVersion: () => Promise<GetOsVersionCommandResult>;\n getDeviceVersion: (\n args: Input<{ deviceInfo: GetOsVersionResponse }>,\n ) => EitherAsync<HttpFetchApiError, DeviceVersion>;\n getFirmwareVersion: (\n args: Input<{\n deviceInfo: GetOsVersionResponse;\n deviceVersion: DeviceVersion;\n }>,\n ) => EitherAsync<HttpFetchApiError, FinalFirmware>;\n listInstalledApps: (\n args: Input<{\n deviceInfo: GetOsVersionResponse;\n finalFirmware: FinalFirmware;\n }>,\n ) => Observable<SecureChannelEvent>;\n getDeviceSessionState: () => DeviceSessionState;\n setDeviceSessionState: (state: DeviceSessionState) => DeviceSessionState;\n};\n\nexport type InstalledApp = {\n flags: number;\n hash: string;\n hash_code_data: string;\n name: string;\n};\n\nexport function installedAppResultGuard(\n value: unknown,\n): value is ListInstalledAppsDAOutput[\"installedApps\"] {\n return (\n Array.isArray(value) &&\n value.every(\n (item) =>\n typeof item === \"object\" &&\n item !== null &&\n \"flags\" in item &&\n \"hash\" in item &&\n \"hash_code_data\" in item &&\n \"name\" in item &&\n typeof item.flags === \"number\" &&\n typeof item.hash === \"string\" &&\n typeof item.hash_code_data === \"string\" &&\n typeof item.name === \"string\",\n )\n );\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAwFO,SAASE,EACdE,EACqD,CACrD,OACE,MAAM,QAAQA,CAAK,GACnBA,EAAM,MACHC,GACC,OAAOA,GAAS,UAChBA,IAAS,MACT,UAAWA,GACX,SAAUA,GACV,mBAAoBA,GACpB,SAAUA,GACV,OAAOA,EAAK,OAAU,UACtB,OAAOA,EAAK,MAAS,UACrB,OAAOA,EAAK,gBAAmB,UAC/B,OAAOA,EAAK,MAAS,QACzB,CAEJ",
6
6
  "names": ["types_exports", "__export", "installedAppResultGuard", "__toCommonJS", "value", "item"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var T=Object.prototype.hasOwnProperty;var C=(r,e)=>{for(var o in e)m(r,o,{get:e[o],enumerable:!0})},M=(r,e,o,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of k(e))!T.call(r,s)&&s!==o&&m(r,s,{get:()=>e[s],enumerable:!(l=V(e,s))||l.enumerable});return r};var N=r=>M(m({},"__esModule",{value:!0}),r);var L={};C(L,{UninstallAppDeviceAction:()=>G});module.exports=N(L);var d=require("purify-ts"),a=require("xstate"),g=require("../../../command/model/CommandResult"),D=require("../../../command/os/GetOsVersionCommand"),u=require("../../../device-action/model/UserInteractionRequired"),I=require("../../../device-action/os/Const"),S=require("../../../device-action/os/Errors"),v=require("../../../device-action/os/GoToDashboard/GoToDashboardDeviceAction"),y=require("../../../device-action/xstate-utils/XStateDeviceAction"),f=require("../../../device-session/DeviceSessionState"),E=require("../../../secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction"),U=require("../../../secure-channel/task/ConnectToSecureChannelTask"),h=require("../../../secure-channel/task/types");class G extends y.XStateDeviceAction{makeStateMachine(e){const{getOsVersion:o,getAppsByHash:l,uninstallApp:s,getDeviceSessionState:i,setDeviceSessionState:c}=this.extractDependencies(e),p=this.input.unlockTimeout??I.DEFAULT_UNLOCK_TIMEOUT_MS,A=new v.GoToDashboardDeviceAction({input:{unlockTimeout:p}}).makeStateMachine(e),x=new E.ListInstalledAppsDeviceAction({input:{unlockTimeout:p}}).makeStateMachine(e);return(0,a.setup)({types:{input:{},context:{},output:{}},actors:{listInstalledApps:x,goToDashboard:A,getOsVersion:(0,a.fromPromise)(o),getAppsByHash:(0,a.fromPromise)(l),uninstallApp:(0,a.fromObservable)(s)},guards:{hasError:t=>t.context._internalState.error!==null,appNotInstalled:t=>!t.context._internalState.installedApps.some(n=>n.name===t.context.input.appName),appNotFound:t=>t.context._internalState.appList.findIndex(n=>n?.versionName===t.context.input.appName)===-1,isDepAppOfOther:t=>t.context._internalState.appList.some(n=>n?.parentName===t.context.input.appName)},actions:{assignErrorFromEvent:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:t.event.error})}),assignAppNotFound:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:new S.UnknownDAError("App to uninstall not found in manager API")})}),assignIsDepAppOfOther:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:new S.UnknownDAError("App to uninstall is a dependency of another installed app")})})}}).createMachine({id:"UninstallAppDeviceAction",initial:"DeviceReady",context:t=>({input:{unlockTimeout:t.input.unlockTimeout,appName:t.input.appName},intermediateValue:{requiredUserInteraction:u.UserInteractionRequired.None},_internalState:{error:null,installedApps:[],appList:[],getOsVersionResponse:null}}),states:{DeviceReady:{always:{target:"ListInstalledApps"}},ListInstalledApps:{invoke:{id:"listInstalledApps",src:"listInstalledApps",input:t=>({unlockTimeout:t.context.input.unlockTimeout}),onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>({...t.context.intermediateValue,requiredUserInteraction:t.event.snapshot.context.intermediateValue.requiredUserInteraction})})},onDone:{target:"ListInstalledAppsCheck",actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:({installedApps:n})=>({...t.context._internalState,installedApps:n,hasCheckedInstalledApps:!0}),Left:n=>({...t.context._internalState,error:n})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},ListInstalledAppsCheck:{always:[{target:"Error",guard:"hasError"},{target:"Success",guard:"appNotInstalled"},{target:"GetAppsByHash"}]},GetAppsByHash:{invoke:{id:"getAppsByHash",src:"getAppsByHash",input:t=>t.context._internalState.installedApps,onDone:{target:"GetAppsByHashCheck",actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:n=>({...t.context._internalState,appList:n}),Left:n=>({...t.context._internalState,error:n})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetAppsByHashCheck:{always:[{target:"Error",guard:"hasError"},{target:"Error",guard:"appNotFound",actions:"assignAppNotFound"},{target:"Error",guard:"isDepAppOfOther",actions:"assignIsDepAppOfOther"},{target:"GoToDashboard"}]},GoToDashboard:{invoke:{id:"goToDashboard",src:"goToDashboard",input:t=>({unlockTimeout:t.context.input.unlockTimeout}),onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>({...t.context.intermediateValue,requiredUserInteraction:t.event.snapshot.context.intermediateValue.requiredUserInteraction})})},onDone:{target:"GoToDashboardCheck",actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:()=>t.context._internalState,Left:n=>({...t.context._internalState,error:n})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GoToDashboardCheck:{always:[{target:"Error",guard:"hasError"},{target:"GetOsVersion"}]},GetOsVersion:{invoke:{id:"getOsVersion",src:"getOsVersion",input:t=>{},onDone:{target:"GetOsVersionCheck",actions:(0,a.assign)({_internalState:t=>{if((0,g.isSuccessCommandResult)(t.event.output)){const n=i(),O=t.event.output.data.secureElementFlags.isSecureConnectionAllowed;return n.sessionStateType!==f.DeviceSessionStateType.Connected&&c({...n,isSecureConnectionAllowed:O}),{...t.context._internalState,getOsVersionResponse:t.event.output.data}}return{...t.context._internalState,error:t.event.output.error}}})}}},GetOsVersionCheck:{always:[{target:"Error",guard:"hasError"},{target:"UninstallApp"}]},UninstallApp:{invoke:{id:"uninstallApp",src:"uninstallApp",input:t=>({deviceInfo:t.context._internalState.getOsVersionResponse,app:t.context._internalState.appList.find(n=>n?.versionName===t.context.input.appName)}),onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>{switch(t.event.snapshot.context?.type){case h.SecureChannelEventType.PermissionRequested:return{requiredUserInteraction:u.UserInteractionRequired.AllowSecureConnection};case h.SecureChannelEventType.PermissionGranted:return{requiredUserInteraction:u.UserInteractionRequired.None};default:return{...t.context.intermediateValue}}}})},onDone:{target:"ListInstalledApps"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},Success:{type:"final",description:"App uninstalled successfully"},Error:{type:"final"}},output:({context:t})=>t._internalState.error?(0,d.Left)(t._internalState.error):(0,d.Right)(void 0)})}extractDependencies(e){return{getOsVersion:()=>e.sendCommand(new D.GetOsVersionCommand),getAppsByHash:({input:i})=>{const c=i.map(p=>p.hash);return e.getManagerApiService().getAppsByHash(c)},uninstallApp:({input:i})=>{const{deviceInfo:c,app:p}=i,A=e.getSecureChannelService().uninstallApp(c,p);return new U.ConnectToSecureChannelTask(e,{connection:A}).run()},getDeviceSessionState:()=>e.getDeviceSessionState(),setDeviceSessionState:i=>e.setDeviceSessionState(i)}}}0&&(module.exports={UninstallAppDeviceAction});
1
+ "use strict";var S=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var C=(r,e)=>{for(var i in e)S(r,i,{get:e[i],enumerable:!0})},M=(r,e,i,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of T(e))!k.call(r,s)&&s!==i&&S(r,s,{get:()=>e[s],enumerable:!(c=V(e,s))||c.enumerable});return r};var N=r=>M(S({},"__esModule",{value:!0}),r);var L={};C(L,{UninstallAppDeviceAction:()=>G});module.exports=N(L);var A=require("purify-ts"),a=require("xstate"),D=require("../../../command/model/CommandResult"),v=require("../../../command/os/GetOsVersionCommand"),d=require("../../../device-action/model/UserInteractionRequired"),I=require("../../../device-action/os/Const"),h=require("../../../device-action/os/Errors"),y=require("../../../device-action/os/GoToDashboard/GoToDashboardDeviceAction"),f=require("../../../device-action/xstate-utils/XStateDeviceAction"),g=require("../../../device-session/DeviceSessionState"),x=require("../../../secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction"),E=require("../../../secure-channel/task/ConnectToSecureChannelTask"),u=require("../../../secure-channel/task/types");class G extends f.XStateDeviceAction{makeStateMachine(e){const{getOsVersion:i,getAppsByHash:c,uninstallApp:s,getDeviceSessionState:o,setDeviceSessionState:p}=this.extractDependencies(e),l=this.input.unlockTimeout??I.DEFAULT_UNLOCK_TIMEOUT_MS,m=new y.GoToDashboardDeviceAction({input:{unlockTimeout:l}}).makeStateMachine(e),U=new x.ListInstalledAppsDeviceAction({input:{unlockTimeout:l}}).makeStateMachine(e);return(0,a.setup)({types:{input:{},context:{},output:{}},actors:{listInstalledApps:U,goToDashboard:m,getOsVersion:(0,a.fromPromise)(i),getAppsByHash:(0,a.fromPromise)(c),uninstallApp:(0,a.fromObservable)(s)},guards:{hasError:t=>t.context._internalState.error!==null,appNotInstalled:t=>!t.context._internalState.installedApps.some(n=>n.name===t.context.input.appName),appNotFound:t=>t.context._internalState.appList.findIndex(n=>n?.versionName===t.context.input.appName)===-1,isDepAppOfOther:t=>t.context._internalState.appList.some(n=>n?.parentName===t.context.input.appName)},actions:{assignErrorFromEvent:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:t.event.error})}),assignAppNotFound:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:new h.UnknownDAError("App to uninstall not found in manager API")})}),assignIsDepAppOfOther:(0,a.assign)({_internalState:t=>({...t.context._internalState,error:new h.UnknownDAError("App to uninstall is a dependency of another installed app")})}),cleanupDeviceState:()=>{const t=o();t.sessionStateType!==g.DeviceSessionStateType.Connected&&p({...t,installedApps:[],appsUpdates:void 0})}}}).createMachine({id:"UninstallAppDeviceAction",initial:"DeviceReady",context:t=>({input:{unlockTimeout:t.input.unlockTimeout,appName:t.input.appName},intermediateValue:{requiredUserInteraction:d.UserInteractionRequired.None},_internalState:{error:null,installedApps:[],appList:[],getOsVersionResponse:null}}),states:{DeviceReady:{always:{target:"ListInstalledApps"}},ListInstalledApps:{invoke:{id:"listInstalledApps",src:"listInstalledApps",input:t=>({unlockTimeout:t.context.input.unlockTimeout}),onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>({...t.context.intermediateValue,requiredUserInteraction:t.event.snapshot.context.intermediateValue.requiredUserInteraction})})},onDone:{target:"ListInstalledAppsCheck",actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:({installedApps:n})=>({...t.context._internalState,installedApps:n,hasCheckedInstalledApps:!0}),Left:n=>({...t.context._internalState,error:n})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},ListInstalledAppsCheck:{always:[{target:"Error",guard:"hasError"},{target:"Success",guard:"appNotInstalled"},{target:"GetAppsByHash"}]},GetAppsByHash:{invoke:{id:"getAppsByHash",src:"getAppsByHash",input:t=>t.context._internalState.installedApps,onDone:{target:"GetAppsByHashCheck",actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:n=>({...t.context._internalState,appList:n}),Left:n=>({...t.context._internalState,error:n})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetAppsByHashCheck:{always:[{target:"Error",guard:"hasError"},{target:"Error",guard:"appNotFound",actions:"assignAppNotFound"},{target:"Error",guard:"isDepAppOfOther",actions:"assignIsDepAppOfOther"},{target:"GoToDashboard"}]},GoToDashboard:{invoke:{id:"goToDashboard",src:"goToDashboard",input:t=>({unlockTimeout:t.context.input.unlockTimeout}),onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>({...t.context.intermediateValue,requiredUserInteraction:t.event.snapshot.context.intermediateValue.requiredUserInteraction})})},onDone:{target:"GoToDashboardCheck",actions:(0,a.assign)({_internalState:t=>t.event.output.caseOf({Right:()=>t.context._internalState,Left:n=>({...t.context._internalState,error:n})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GoToDashboardCheck:{always:[{target:"Error",guard:"hasError"},{target:"GetOsVersion"}]},GetOsVersion:{invoke:{id:"getOsVersion",src:"getOsVersion",input:t=>{},onDone:{target:"GetOsVersionCheck",actions:(0,a.assign)({_internalState:t=>{if((0,D.isSuccessCommandResult)(t.event.output)){const n=o(),O=t.event.output.data.secureElementFlags.isSecureConnectionAllowed;return n.sessionStateType!==g.DeviceSessionStateType.Connected&&p({...n,isSecureConnectionAllowed:O}),{...t.context._internalState,getOsVersionResponse:t.event.output.data}}return{...t.context._internalState,error:t.event.output.error}}})}}},GetOsVersionCheck:{always:[{target:"Error",guard:"hasError"},{target:"UninstallApp"}]},UninstallApp:{invoke:{id:"uninstallApp",src:"uninstallApp",input:t=>({deviceInfo:t.context._internalState.getOsVersionResponse,app:t.context._internalState.appList.find(n=>n?.versionName===t.context.input.appName)}),onSnapshot:{actions:(0,a.assign)({intermediateValue:t=>{switch(t.event.snapshot.context?.type){case u.SecureChannelEventType.DeviceId:return{...t.context.intermediateValue,deviceId:t.event.snapshot.context.payload.deviceId};case u.SecureChannelEventType.PermissionRequested:return{...t.context.intermediateValue,requiredUserInteraction:d.UserInteractionRequired.AllowSecureConnection};case u.SecureChannelEventType.PermissionGranted:return{...t.context.intermediateValue,requiredUserInteraction:d.UserInteractionRequired.None};default:return{...t.context.intermediateValue}}},_internalState:t=>t.event.snapshot.context?.type===u.SecureChannelEventType.Error?{...t.context._internalState,error:t.event.snapshot.context.error.mapDAErrors()}:t.context._internalState})},onDone:{target:"ListInstalledApps",actions:"cleanupDeviceState"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},Success:{type:"final",description:"App uninstalled successfully"},Error:{type:"final"}},output:({context:t})=>t._internalState.error?(0,A.Left)(t._internalState.error):(0,A.Right)(void 0)})}extractDependencies(e){return{getOsVersion:()=>e.sendCommand(new v.GetOsVersionCommand),getAppsByHash:({input:o})=>{const p=o.map(l=>l.hash);return e.getManagerApiService().getAppsByHash(p)},uninstallApp:({input:o})=>{const{deviceInfo:p,app:l}=o,m=e.getSecureChannelService().uninstallApp(p,l);return new E.ConnectToSecureChannelTask(e,{connection:m}).run()},getDeviceSessionState:()=>e.getDeviceSessionState(),setDeviceSessionState:o=>e.setDeviceSessionState(o)}}}0&&(module.exports={UninstallAppDeviceAction});
2
2
  //# sourceMappingURL=UninstallAppDeviceAction.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nimport { type InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\n\nimport {\n type MachineDependencies,\n type UninstallAppDAError,\n type UninstallAppDAInput,\n type UninstallAppDAIntermediateValue,\n type UninstallAppDAOutput,\n type UninstallAppStateMachineInternalState,\n} from \"./types\";\n\nexport class UninstallAppDeviceAction extends XStateDeviceAction<\n UninstallAppDAOutput,\n UninstallAppDAInput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue,\n UninstallAppStateMachineInternalState\n> {\n override makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n UninstallAppDAOutput,\n UninstallAppDAInput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue,\n UninstallAppStateMachineInternalState\n > {\n type types = StateMachineTypes<\n UninstallAppDAOutput,\n UninstallAppDAInput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue,\n UninstallAppStateMachineInternalState\n >;\n\n const {\n getOsVersion,\n getAppsByHash,\n uninstallApp,\n getDeviceSessionState,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n const listInstalledAppsMachine = new ListInstalledAppsDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n listInstalledApps: listInstalledAppsMachine,\n goToDashboard: goToDashboardMachine,\n getOsVersion: fromPromise(getOsVersion),\n getAppsByHash: fromPromise(getAppsByHash),\n uninstallApp: fromObservable(uninstallApp),\n },\n guards: {\n hasError: (_) => _.context._internalState.error !== null,\n appNotInstalled: (_) =>\n !_.context._internalState.installedApps.some(\n (app) => app.name === _.context.input.appName,\n ),\n appNotFound: (_) =>\n _.context._internalState.appList.findIndex(\n (app) => app?.versionName === _.context.input.appName,\n ) === -1,\n isDepAppOfOther: (_) =>\n _.context._internalState.appList.some(\n (app) => app?.parentName === _.context.input.appName,\n ),\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"],\n }),\n }),\n assignAppNotFound: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: new UnknownDAError(\n \"App to uninstall not found in manager API\",\n ),\n }),\n }),\n assignIsDepAppOfOther: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: new UnknownDAError(\n \"App to uninstall is a dependency of another installed app\",\n ),\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEkB2sAuBDANjgggA6EAiYAbgJYDGY+1GlA9qgHRlW0BKYWEAngGIA2gAYAuolCEmsSoxZSQAD0QBGAJyjWADgDsAFg0A2HSb2iArMbUBmADQh+iAExrjrS6KuWNtte7Glga2AL6hjmiYuATEHDR0DMxsAOJMACpMJFiwABYARkxYAE4QghAsYKyUqORMANZVUBlZOQVFpWKSSCAycgqoSqoIxi6WrKJq1rYGNgaiBrOOzgi2th5qonouorYuo9YBBuGR6Nh4RKQUCfQDrGmZ2XmFJWVgxcVMxayEOFgYADMvgBbVjNR5tF6dCRKPryZJDRAHCZTYwzOYLJZOdR6DSeFy2MwBPaaXzGE4gKLnWJXTiJO4PVrPDoQADCuTA1HqIhhPThA0RCE2XlY+0semMomMBgsOjMyyRoh0E28BmClhc+0mxwilLOMUu8Vot2S9xaT3ar3ZnO5wjU3Wksnhih6w2F2jFEqlMqV8uxq0stlYgTlGg02wJOjCuqpBri12NSRY9zAGAA8rAAGrvOQscqVaq1BpNVMZ7PFXOoLqwp0C13qDVqVhaIK+HSifazNQK1YuPHGLTWQxabaLSwU2MXeN0k3JlKlrM55LWrk8h29WsI+tCjRqAysebSvY6TWagw6HvnvFeDsaGX6UR+Wx6Cf6qe0m5J1IL8uVle2+0a36LdQDdXd90PEIXBPU9zx7dFWD0LwxgMHYFkmckYzfGkjXpU15wwS4ABlKEwfNUCqGo6kaFNCOIEjMGrPlNxdUDXFscVRR0VFxXDJCL39PYgxcPRbD8NQ9DUOV9BfLDonfXDZ2-OjCAYjB-zXIDnUGbcRIkxDNEfEIwwCFx4MDYNjFMMxw01Qlo1OeScITPC51TYjSPUjlVztdd+RAlRXEkvQDK0O8xN3NQzP9HR9xvKxCT0E9Jj0WTdVQJgIDgJRJ2cmcvy0us2IQABaYwezK18nMNFylPYFyeD4FZHWA1jAoQVCezccYb02JDDPcQkqupGr8oZc1IRZQqAuGaDxhMfQxjsKMlQcf1NBcFVdlmPs9wJNVhrjD9E3GiFmStbz6mmtrhijTaFu4tZRJMSZzJCqNnyS9x5m2DRDoU2qv1osslza-ybvUNwg02DRLFi+YZnbSx4JE5sJO8Xc3CsWZMMckbp0-Bkf1B1B-2unTiokuxWGlJULHWWwOzGcymwMKnULEuzRn+vLCfw9z6M88nBR2VLRWQ6xxR0GxRhRpsb2fNYjDcXFZLxo7FKBgiPMwMnmNain2rGDiD01PdUs0NVu0EtUtq8KydginV1YBsbTQAZQAV2oWhYHgfXtJFsxtGsXbuMsCPdh7bjPG8AkNFi70-B50a+eTABRD4vmF3Tg88UZd3DyO1pWDj9wlCwLFMDQ+1xcdwlCIA */\n id: \"UninstallAppDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n appName: _.input.appName,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n installedApps: [],\n appList: [],\n getOsVersionResponse: null,\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"ListInstalledApps\",\n },\n },\n ListInstalledApps: {\n invoke: {\n id: \"listInstalledApps\",\n src: \"listInstalledApps\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"ListInstalledAppsCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<UninstallAppStateMachineInternalState>({\n Right: ({ installedApps }) => ({\n ..._.context._internalState,\n installedApps,\n hasCheckedInstalledApps: true,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n }),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListInstalledAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n guard: \"appNotInstalled\",\n },\n {\n target: \"GetAppsByHash\",\n },\n ],\n },\n GetAppsByHash: {\n invoke: {\n id: \"getAppsByHash\",\n src: \"getAppsByHash\",\n input: (_) => _.context._internalState.installedApps!,\n onDone: {\n target: \"GetAppsByHashCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf({\n Right: (apps) => ({\n ..._.context._internalState,\n appList: apps,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n }),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetAppsByHashCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Error\",\n guard: \"appNotFound\",\n actions: \"assignAppNotFound\",\n },\n {\n target: \"Error\",\n guard: \"isDepAppOfOther\",\n actions: \"assignIsDepAppOfOther\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n invoke: {\n id: \"goToDashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<UninstallAppStateMachineInternalState>({\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n }),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetOsVersion\",\n },\n ],\n },\n GetOsVersion: {\n invoke: {\n id: \"getOsVersion\",\n src: \"getOsVersion\",\n input: (_) => undefined,\n onDone: {\n target: \"GetOsVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const currentState: DeviceSessionState =\n getDeviceSessionState();\n const isSecureConnectionAllowed =\n _.event.output.data.secureElementFlags\n .isSecureConnectionAllowed;\n if (\n currentState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...currentState,\n isSecureConnectionAllowed,\n });\n }\n return {\n ..._.context._internalState,\n getOsVersionResponse: _.event.output.data,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n },\n },\n GetOsVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"UninstallApp\",\n },\n ],\n },\n UninstallApp: {\n invoke: {\n id: \"uninstallApp\",\n src: \"uninstallApp\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n app: _.context._internalState.appList.find(\n (app) => app?.versionName === _.context.input.appName,\n )!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.PermissionRequested: {\n return {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n return {\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n }),\n },\n onDone: {\n target: \"ListInstalledApps\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n Success: {\n type: \"final\",\n description: \"App uninstalled successfully\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.error\n ? Left(context._internalState.error)\n : Right(void 0),\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const getOsVersion = () =>\n internalApi.sendCommand(new GetOsVersionCommand());\n\n const getAppsByHash = ({ input }: Input<InstalledApp[]>) => {\n const appHashes = input.map((app) => app.hash);\n return internalApi.getManagerApiService().getAppsByHash(appHashes);\n };\n\n const uninstallApp = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n app: Application;\n }>) => {\n const { deviceInfo, app } = input;\n const eitherConnection = internalApi\n .getSecureChannelService()\n .uninstallApp(deviceInfo, app);\n return new ConnectToSecureChannelTask(internalApi, {\n connection: eitherConnection,\n }).run();\n };\n\n return {\n getOsVersion,\n getAppsByHash,\n uninstallApp,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["UninstallAppDeviceAction_exports", "__export", "UninstallAppDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_GetOsVersionCommand", "import_UserInteractionRequired", "import_Const", "import_Errors", "import_GoToDashboardDeviceAction", "import_XStateDeviceAction", "import_DeviceSessionState", "import_ListInstalledAppsDeviceAction", "import_ConnectToSecureChannelTask", "import_types", "internalApi", "getOsVersion", "getAppsByHash", "uninstallApp", "getDeviceSessionState", "setDeviceSessionState", "unlockTimeout", "goToDashboardMachine", "listInstalledAppsMachine", "_", "app", "installedApps", "error", "apps", "currentState", "isSecureConnectionAllowed", "context", "input", "appHashes", "deviceInfo", "eitherConnection", "state"]
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nimport { type InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\n\nimport {\n type MachineDependencies,\n type UninstallAppDAError,\n type UninstallAppDAInput,\n type UninstallAppDAIntermediateValue,\n type UninstallAppDAOutput,\n type UninstallAppStateMachineInternalState,\n} from \"./types\";\n\nexport class UninstallAppDeviceAction extends XStateDeviceAction<\n UninstallAppDAOutput,\n UninstallAppDAInput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue,\n UninstallAppStateMachineInternalState\n> {\n override makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n UninstallAppDAOutput,\n UninstallAppDAInput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue,\n UninstallAppStateMachineInternalState\n > {\n type types = StateMachineTypes<\n UninstallAppDAOutput,\n UninstallAppDAInput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue,\n UninstallAppStateMachineInternalState\n >;\n\n const {\n getOsVersion,\n getAppsByHash,\n uninstallApp,\n getDeviceSessionState,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n const listInstalledAppsMachine = new ListInstalledAppsDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n listInstalledApps: listInstalledAppsMachine,\n goToDashboard: goToDashboardMachine,\n getOsVersion: fromPromise(getOsVersion),\n getAppsByHash: fromPromise(getAppsByHash),\n uninstallApp: fromObservable(uninstallApp),\n },\n guards: {\n hasError: (_) => _.context._internalState.error !== null,\n appNotInstalled: (_) =>\n !_.context._internalState.installedApps.some(\n (app) => app.name === _.context.input.appName,\n ),\n appNotFound: (_) =>\n _.context._internalState.appList.findIndex(\n (app) => app?.versionName === _.context.input.appName,\n ) === -1,\n isDepAppOfOther: (_) =>\n _.context._internalState.appList.some(\n (app) => app?.parentName === _.context.input.appName,\n ),\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"],\n }),\n }),\n assignAppNotFound: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: new UnknownDAError(\n \"App to uninstall not found in manager API\",\n ),\n }),\n }),\n assignIsDepAppOfOther: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: new UnknownDAError(\n \"App to uninstall is a dependency of another installed app\",\n ),\n }),\n }),\n cleanupDeviceState: () => {\n // After app successful uninstallation, cleanup the device session state\n // to force fetching the new device state when required\n const state = getDeviceSessionState();\n if (state.sessionStateType !== DeviceSessionStateType.Connected) {\n setDeviceSessionState({\n ...state,\n installedApps: [],\n appsUpdates: undefined,\n });\n }\n },\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QEkB2sAuBDANjgggA6EAiYAbgJYDGY+1GlA9qgHRlW0BKYWEAngGIA2gAYAuolCEmsSoxZSQAD0QBGAJyjWADgDsAFg0A2HSb2iArMbUBmADQh+iAExrjrS6KuWNtte7Glga2AL6hjmiYuATEHDR0DMxsAOJMACpMJFiwABYARkxYAE4QghAsYKyUqORMANZVUBlZOQVFpWKSSCAycgqoSqoIxi6WrKJq1rYGNgaiBrOOzgi2th5qonouorYuo9YBBuGR6Nh4RKQUCfQDrGmZ2XmFJWVgxcVMxayEOFgYADMvgBbVjNR5tF6dCRKPryZJDRAHCZTYwzOYLJZOdR6DSeFy2MwBPaaXzGE4gKLnWJXTiJO4PVrPDoQADCuTA1HqIhhPThA0RCE2XlY+0semMomMBgsOjMyyRoh0E28BmClhc+0mxwilLOMUu8Vot2S9xaT3ar3ZnO5wjU3Wksnhih6w2F2jFEqlMqV8uxq0stlYgTlGg02wJOjCuqpBri12NSRY9zAGAA8rAAGrvOQscqVaq1BpNVMZ7PFXOoLqwp0C13qDVqVhaIK+HSifazNQK1YuPHGLTWQxabaLSwU2MXeN0k3JlKlrM55LWrk8h29WsI+tCjRqAysebSvY6TWagw6HvnvFeDsaGX6UR+Wx6Cf6qe0m5J1IL8uVle2+0a36LdQDdXd90PEIXBPU9zx7dFWD0LwxgMHYFkmckYzfGkjXpU15wwS4ABlKEwfNUCqGo6kaFNCOIEjMGrPlNxdUDXFscVRR0VFxXDJCL39PYgxcPRbD8NQ9DUOV9BfLDonfXDZ2-OjCAYjB-zXIDnUGbcRIkxDNEfEIwwCFx4MDYNjFMMxw01Qlo1OeScITPC51TYjSPUjlVztdd+RAlRXEkvQDK0O8xN3NQzP9HR9xvKxCT0E9Jj0WTdVQJgIDgJRJ2cmcvy0us2IQABaYwezK18nMNFylPYFyeD4FZHWA1jAoQVCezccYb02JDDPcQkqupGr8oZc1IRZQqAuGaDxhMfQxjsKMlQcf1NBcFVdlmPs9wJNVhrjD9E3GiFmStbz6mmtrhijTaFu4tZRJMSZzJCqNnyS9x5m2DRDoU2qv1osslza-ybvUNwg02DRLFi+YZnbSx4JE5sJO8Xc3CsWZMMckbp0-Bkf1B1B-2unTiokuxWGlJULHWWwOzGcymwMKnULEuzRn+vLCfw9z6M88nBR2VLRWQ6xxR0GxRhRpsb2fNYjDcXFZLxo7FKBgiPMwMnmNain2rGDiD01PdUs0NVu0EtUtq8KydginV1YBsbTQAZQAV2oWhYHgfXtJFsxtGsXbuMsCPdh7bjPG8AkNFi70-B50a+eTABRD4vmF3Tg88UZd3DyO1pWDj9wlCwLFMDQ+1xcdwlCIA */\n id: \"UninstallAppDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n appName: _.input.appName,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n installedApps: [],\n appList: [],\n getOsVersionResponse: null,\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"ListInstalledApps\",\n },\n },\n ListInstalledApps: {\n invoke: {\n id: \"listInstalledApps\",\n src: \"listInstalledApps\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"ListInstalledAppsCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<UninstallAppStateMachineInternalState>({\n Right: ({ installedApps }) => ({\n ..._.context._internalState,\n installedApps,\n hasCheckedInstalledApps: true,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n }),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n ListInstalledAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n guard: \"appNotInstalled\",\n },\n {\n target: \"GetAppsByHash\",\n },\n ],\n },\n GetAppsByHash: {\n invoke: {\n id: \"getAppsByHash\",\n src: \"getAppsByHash\",\n input: (_) => _.context._internalState.installedApps!,\n onDone: {\n target: \"GetAppsByHashCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf({\n Right: (apps) => ({\n ..._.context._internalState,\n appList: apps,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n }),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetAppsByHashCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Error\",\n guard: \"appNotFound\",\n actions: \"assignAppNotFound\",\n },\n {\n target: \"Error\",\n guard: \"isDepAppOfOther\",\n actions: \"assignIsDepAppOfOther\",\n },\n {\n target: \"GoToDashboard\",\n },\n ],\n },\n GoToDashboard: {\n invoke: {\n id: \"goToDashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<UninstallAppStateMachineInternalState>({\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n }),\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetOsVersion\",\n },\n ],\n },\n GetOsVersion: {\n invoke: {\n id: \"getOsVersion\",\n src: \"getOsVersion\",\n input: (_) => undefined,\n onDone: {\n target: \"GetOsVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const currentState: DeviceSessionState =\n getDeviceSessionState();\n const isSecureConnectionAllowed =\n _.event.output.data.secureElementFlags\n .isSecureConnectionAllowed;\n if (\n currentState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...currentState,\n isSecureConnectionAllowed,\n });\n }\n return {\n ..._.context._internalState,\n getOsVersionResponse: _.event.output.data,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n },\n },\n GetOsVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"UninstallApp\",\n },\n ],\n },\n UninstallApp: {\n invoke: {\n id: \"uninstallApp\",\n src: \"uninstallApp\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n app: _.context._internalState.appList.find(\n (app) => app?.versionName === _.context.input.appName,\n )!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.DeviceId: {\n return {\n ..._.context.intermediateValue,\n deviceId: _.event.snapshot.context.payload.deviceId,\n };\n }\n case SecureChannelEventType.PermissionRequested: {\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n return {\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n _internalState: (_) => {\n if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Error\n ) {\n return {\n ..._.context._internalState,\n error: _.event.snapshot.context.error.mapDAErrors(),\n };\n }\n return _.context._internalState;\n },\n }),\n },\n onDone: {\n target: \"ListInstalledApps\",\n actions: \"cleanupDeviceState\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n Success: {\n type: \"final\",\n description: \"App uninstalled successfully\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.error\n ? Left(context._internalState.error)\n : Right(undefined),\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const getOsVersion = () =>\n internalApi.sendCommand(new GetOsVersionCommand());\n\n const getAppsByHash = ({ input }: Input<InstalledApp[]>) => {\n const appHashes = input.map((app) => app.hash);\n return internalApi.getManagerApiService().getAppsByHash(appHashes);\n };\n\n const uninstallApp = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n app: Application;\n }>) => {\n const { deviceInfo, app } = input;\n const eitherConnection = internalApi\n .getSecureChannelService()\n .uninstallApp(deviceInfo, app);\n return new ConnectToSecureChannelTask(internalApi, {\n connection: eitherConnection,\n }).run();\n };\n\n return {\n getOsVersion,\n getAppsByHash,\n uninstallApp,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["UninstallAppDeviceAction_exports", "__export", "UninstallAppDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_GetOsVersionCommand", "import_UserInteractionRequired", "import_Const", "import_Errors", "import_GoToDashboardDeviceAction", "import_XStateDeviceAction", "import_DeviceSessionState", "import_ListInstalledAppsDeviceAction", "import_ConnectToSecureChannelTask", "import_types", "internalApi", "getOsVersion", "getAppsByHash", "uninstallApp", "getDeviceSessionState", "setDeviceSessionState", "unlockTimeout", "goToDashboardMachine", "listInstalledAppsMachine", "_", "app", "state", "installedApps", "error", "apps", "currentState", "isSecureConnectionAllowed", "context", "input", "appHashes", "deviceInfo", "eitherConnection"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(t,e,o,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!a.call(t,r)&&r!==o&&n(t,r,{get:()=>e[r],enumerable:!(p=i(e,r))||p.enumerable});return t};var A=t=>l(n({},"__esModule",{value:!0}),t);var m={};module.exports=A(m);
1
+ "use strict";var p=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var l=(t,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!a.call(t,r)&&r!==o&&p(t,r,{get:()=>e[r],enumerable:!(n=i(e,r))||n.enumerable});return t};var A=t=>l(p({},"__esModule",{value:!0}),t);var m={};module.exports=A(m);
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/secure-channel/device-action/UninstallApp/types.ts"],
4
- "sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\n\nimport { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport {\n type GetOsVersionCommandResult,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { type UnknownDAError } from \"@api/device-action/os/Errors\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { type SecureChannelEvent } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nexport type UninstallAppDAOutput = void;\n\nexport type UninstallAppDAInput = GoToDashboardDAInput & { appName: string };\n\nexport type UninstallAppDAError =\n | CommandErrorResult[\"error\"]\n | GoToDashboardDAError\n | HttpFetchApiError\n | UnknownDAError;\n\nexport type UninstallAppDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.AllowSecureConnection;\n\nexport type UninstallAppDAIntermediateValue = {\n requiredUserInteraction: UninstallAppDARequiredInteraction;\n};\n\nexport type UninstallAppDAState = DeviceActionState<\n UninstallAppDAOutput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue\n>;\n\nexport type UninstallAppStateMachineInternalState = {\n error: UninstallAppDAError | null;\n installedApps: Array<InstalledApp>;\n appList: Array<Application | null>;\n getOsVersionResponse: GetOsVersionResponse | null;\n};\n\nexport type MachineDependencies = {\n getOsVersion: () => Promise<GetOsVersionCommandResult>;\n getAppsByHash: (\n args: Input<InstalledApp[]>,\n ) => EitherAsync<HttpFetchApiError, Array<Application | null>>;\n uninstallApp: (\n args: Input<{ deviceInfo: GetOsVersionResponse; app: Application }>,\n ) => Observable<SecureChannelEvent>;\n getDeviceSessionState: () => DeviceSessionState;\n setDeviceSessionState: (state: DeviceSessionState) => DeviceSessionState;\n};\n"],
4
+ "sourcesContent": ["import { type EitherAsync } from \"purify-ts\";\nimport { type Observable } from \"rxjs\";\n\nimport { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport {\n type GetOsVersionCommandResult,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { type UnknownDAError } from \"@api/device-action/os/Errors\";\nimport {\n type GoToDashboardDAError,\n type GoToDashboardDAInput,\n} from \"@api/device-action/os/GoToDashboard/types\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nimport { type SecureChannelEvent } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport type { SecureChannelDAErrors } from \"@internal/secure-channel/model/Errors\";\n\nexport type UninstallAppDAOutput = void;\n\nexport type UninstallAppDAInput = GoToDashboardDAInput & { appName: string };\n\nexport type UninstallAppDAError =\n | CommandErrorResult[\"error\"]\n | GoToDashboardDAError\n | HttpFetchApiError\n | UnknownDAError\n | SecureChannelDAErrors;\n\nexport type UninstallAppDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.AllowSecureConnection;\n\nexport type UninstallAppDAIntermediateValue = {\n requiredUserInteraction: UninstallAppDARequiredInteraction;\n deviceId?: Uint8Array;\n};\n\nexport type UninstallAppDAState = DeviceActionState<\n UninstallAppDAOutput,\n UninstallAppDAError,\n UninstallAppDAIntermediateValue\n>;\n\nexport type UninstallAppStateMachineInternalState = {\n error: UninstallAppDAError | null;\n installedApps: Array<InstalledApp>;\n appList: Array<Application | null>;\n getOsVersionResponse: GetOsVersionResponse | null;\n};\n\nexport type MachineDependencies = {\n getOsVersion: () => Promise<GetOsVersionCommandResult>;\n getAppsByHash: (\n args: Input<InstalledApp[]>,\n ) => EitherAsync<HttpFetchApiError, Array<Application | null>>;\n uninstallApp: (\n args: Input<{ deviceInfo: GetOsVersionResponse; app: Application }>,\n ) => Observable<SecureChannelEvent>;\n getDeviceSessionState: () => DeviceSessionState;\n setDeviceSessionState: (state: DeviceSessionState) => DeviceSessionState;\n};\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var x=Object.create;var g=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var I=(o,t)=>{for(var c in t)g(o,c,{get:t[c],enumerable:!0})},_=(o,t,c,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let l of M(t))!O.call(o,l)&&l!==c&&g(o,l,{get:()=>t[l],enumerable:!(e=R(t,l))||e.enumerable});return o};var U=(o,t,c)=>(c=o!=null?x(T(o)):{},_(t||!o||!o.__esModule?g(c,"default",{value:o,enumerable:!0}):c,o)),N=o=>_(g({},"__esModule",{value:!0}),o);var P={};I(P,{ConnectToSecureChannelTask:()=>W});module.exports=N(P);var w=U(require("isomorphic-ws")),A=require("rxjs"),E=require("../../command/utils/CommandUtils"),n=require("../../secure-channel/task/types"),S=require("../../secure-channel/utils"),h=require("../../utils/HexaString"),i=require("../../../internal/secure-channel/model/Errors");class W{constructor(t,c){this._api=t;this._args=c;if(this._args.connection.isRight())this._connection=this._args.connection.extract();else throw new i.SecureChannelError(`Invalid WebSocket connection: ${String(this._args.connection.extract())}`)}_connection;run(){const t=this._api.disableRefresher("connectToSecureChannel");return new A.Observable(e=>{let l=!1,u=!1,m=!1,y=null,f=!1;return this._connection.onopen=()=>{e.next({type:n.SecureChannelEventType.Opened})},this._connection.onerror=C=>{u||e.error(new i.SecureChannelError({url:this._connection.url,errorMessage:C.message}))},this._connection.onclose=()=>{u||(m?(e.next({type:n.SecureChannelEventType.Closed}),e.complete()):e.error(new i.SecureChannelError(y??{url:this._connection.url,errorMessage:"Connection closed unexpectedly"})))},this._connection.onmessage=async C=>{if(!l){y=null;try{const a=JSON.parse(String(C.data));switch(a.query){case n.InMessageQueryEnum.EXCHANGE:{const{nonce:d}=a;if(Array.isArray(a.data)){e.error(new i.SecureChannelError(`${n.InMessageQueryEnum.EXCHANGE} data type should not be Array`));break}const r=(0,h.hexaStringToBuffer)(a.data);if(r===null||r.length<5){e.error(new i.SecureChannelError(`Received invalid APDU data: ${a.data}`));break}e.next({type:n.SecureChannelEventType.PreExchange,payload:{nonce:d,apdu:r}}),(0,S.willRequestPermission)(r)&&!this.isSecureConnectionAllowed()&&(f=!0,e.next({type:n.SecureChannelEventType.PermissionRequested}));const p=await this._api.sendApdu(r);if(l)return;p.caseOf({Left:s=>{e.error(new i.SecureChannelError(s))},Right:s=>{let k;if(E.CommandUtils.isSuccessResponse(s))k=n.OutMessageResponseEnum.SUCCESS,e.next({type:n.SecureChannelEventType.Exchange,payload:{nonce:d,apdu:r,data:s.data,status:s.statusCode}});else{if(k=n.OutMessageResponseEnum.ERROR,y=new i.SecureChannelError({url:this._connection.url,errorMessage:`Invalid status code: ${(0,h.bufferToHexaString)(s.statusCode)}`}),E.CommandUtils.isLockedDeviceResponse(s)){e.error(new i.SecureChannelError({url:this._connection.url,errorMessage:"Device is locked"}));return}if((0,S.isRefusedByUser)(s.statusCode)&&f){e.error(new i.SecureChannelError({url:this._connection.url,errorMessage:"User refused on the device"}));return}}f&&(e.next({type:n.SecureChannelEventType.PermissionGranted}),f=!1);const v={nonce:d,response:k,data:(0,h.bufferToHexaString)(s.data).slice(2)};this._connection.send(JSON.stringify(v))}});break}case n.InMessageQueryEnum.BULK:{if(u=!0,this._connection.close(),!Array.isArray(a.data)||a.data.length===0){e.error(new i.SecureChannelError("Invalid bulk data received"));break}const d=a.data.reduce((r,p)=>{const s=(0,h.hexaStringToBuffer)(p);return s===null?r:[...r,s]},[]);for(let r=0,p=d.length;r<p;r++){if(await this._api.sendApdu(d[r]),l){e.error(new i.SecureChannelError("Bulk sending cancelled by unsubscribing"));break}e.next({type:n.SecureChannelEventType.Progress,payload:{progress:+Number((r+1)/p).toFixed(2),index:r,total:p}})}m=!0,e.complete();break}case n.InMessageQueryEnum.SUCCESS:{if(u)break;const d=a.result??a.data;d&&e.next({type:n.SecureChannelEventType.Result,payload:d??""}),m=!0,e.complete();break}case n.InMessageQueryEnum.WARNING:{if(u)break;e.next({type:n.SecureChannelEventType.Warning,payload:{message:String(a.data)}});break}case n.InMessageQueryEnum.ERROR:{if(u)break;e.error(new i.SecureChannelError({url:this._connection.url,errorMessage:String(a.data)}))}}}catch(a){y=new i.SecureChannelError(a),e.error(y)}}},()=>{t(),l=!0,this._connection.readyState===w.default.OPEN&&this._connection.close()}})}isSecureConnectionAllowed(){const t=this._api.getDeviceSessionState();return"isSecureConnectionAllowed"in t&&t.isSecureConnectionAllowed}}0&&(module.exports={ConnectToSecureChannelTask});
1
+ "use strict";var R=Object.create;var C=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var W=(s,e)=>{for(var i in e)C(s,i,{get:e[i],enumerable:!0})},A=(s,e,i,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of N(e))!U.call(s,l)&&l!==i&&C(s,l,{get:()=>e[l],enumerable:!(r=D(e,l))||r.enumerable});return s};var q=(s,e,i)=>(i=s!=null?R(P(s)):{},A(e||!s||!s.__esModule?C(i,"default",{value:s,enumerable:!0}):i,s)),$=s=>A(C({},"__esModule",{value:!0}),s);var L={};W(L,{ConnectToSecureChannelTask:()=>G});module.exports=$(L);var M=q(require("isomorphic-ws")),k=require("rxjs"),g=require("../../command/utils/CommandUtils"),t=require("../../secure-channel/task/types"),S=require("../../secure-channel/utils"),m=require("../../utils/HexaString"),I=require("../../../internal/crypto/NobleCryptoService"),n=require("../../../internal/secure-channel/model/Errors");class G{constructor(e,i){this._api=e;this._args=i;if(this._args.connection.isRight())this._connection=this._args.connection.extract();else throw new n.SecureChannelError(`Invalid WebSocket connection: ${String(this._args.connection.extract())}`);this._cryptoService=this._args.cryptoService??new I.NobleCryptoService}_connection;_cryptoService;_deviceIdCaptured=!1;run(){const e=this._api.disableRefresher("connectToSecureChannel");return new k.Observable(r=>{let l=!1,u=!1,E=!1;const p=h=>{r.next({type:t.SecureChannelEventType.Error,error:h}),r.complete(),u=!0};return this._connection.onopen=()=>{r.next({type:t.SecureChannelEventType.Opened})},this._connection.onerror=h=>{u||(r.next({type:t.SecureChannelEventType.Error,error:new n.SecureChannelError({url:this._connection.url,errorMessage:h.message})}),r.complete())},this._connection.onclose=()=>{u||(E?r.next({type:t.SecureChannelEventType.Closed}):r.next({type:t.SecureChannelEventType.Error,error:new n.SecureChannelError({url:this._connection.url,errorMessage:"Connection closed unexpectedly"})}),r.complete())},this._connection.onmessage=async h=>{if(l)return;let a;try{const o=JSON.parse(String(h.data));if(this.isInMessageType(o))a=o;else throw new Error("Data does not match InMessageType")}catch{p(new n.SecureChannelError({url:this._connection.url,errorMessage:`Invalid message received: ${String(h.data)}`}));return}switch(a.query){case t.InMessageQueryEnum.EXCHANGE:{const{nonce:o,data:d}=a;if(typeof d!="string"){p(new n.SecureChannelError(`${t.InMessageQueryEnum.EXCHANGE} data type should be an APDU`));return}const c=(0,m.hexaStringToBuffer)(d);if(c===null||c.length<5){p(new n.SecureChannelError(`Received invalid APDU data: ${d}`));return}r.next({type:t.SecureChannelEventType.PreExchange,payload:{nonce:o,apdu:c}});let y=!1;(0,S.willRequestPermission)(c)&&!this.isSecureConnectionAllowed()&&(y=!0,r.next({type:t.SecureChannelEventType.PermissionRequested}));const v=await this._api.sendApdu(c);if(l)return;v.caseOf({Left:f=>{p(new n.SecureChannelError(f))},Right:f=>{let _;const w=this.mapDeviceError(f);if(w===null){if(_=t.OutMessageResponseEnum.SUCCESS,!this._deviceIdCaptured&&(0,S.isGetCertificateApdu)(c)){this._deviceIdCaptured=!0;const x=(0,S.extractPublicKey)(f);if(x){const O=this._cryptoService.sha3_256(x);r.next({type:t.SecureChannelEventType.DeviceId,payload:{deviceId:O}})}}r.next({type:t.SecureChannelEventType.Exchange,payload:{nonce:o,apdu:c,data:f.data,status:f.statusCode}}),y&&r.next({type:t.SecureChannelEventType.PermissionGranted})}else _=t.OutMessageResponseEnum.ERROR,p(w);const T={nonce:o,response:_,data:(0,m.bufferToHexaString)(f.data,!1)};this._connection.send(JSON.stringify(T))}});break}case t.InMessageQueryEnum.BULK:{if(u=!0,this._connection.close(),!Array.isArray(a.data)||a.data.length===0||!a.data.every(o=>typeof o=="string")){p(new n.SecureChannelError("Invalid bulk data received"));return}for(let o=0,d=a.data.length;o<d;o++){const c=(0,m.hexaStringToBuffer)(a.data[o]);if(c===null||c.length<5){p(new n.SecureChannelError(`Received invalid APDU bulk data: ${a.data[o]}`));return}const y=await this._api.sendApdu(c);if(l)return;if(y.isLeft()){p(new n.SecureChannelError(y.extract()));return}else if(y.isRight()){const v=this.mapDeviceError(y.extract());if(v===null)r.next({type:t.SecureChannelEventType.Progress,payload:{progress:+Number((o+1)/d).toFixed(2),index:o,total:d}});else{p(v);return}}}E=!0,r.complete();break}case t.InMessageQueryEnum.SUCCESS:{if(u)break;const o=a.result??a.data;o&&r.next({type:t.SecureChannelEventType.Result,payload:o??""}),E=!0,r.complete();break}case t.InMessageQueryEnum.WARNING:{if(u)break;r.next({type:t.SecureChannelEventType.Warning,payload:{message:String(a.data)}});break}case t.InMessageQueryEnum.ERROR:{if(u)break;p(new n.SecureChannelError({url:this._connection.url,errorMessage:String(a.data)}))}}},()=>{e(),l=!0,this._connection.readyState===M.default.OPEN&&this._connection.close()}})}isSecureConnectionAllowed(){const e=this._api.getDeviceSessionState();return"isSecureConnectionAllowed"in e&&e.isSecureConnectionAllowed}isInMessageType(e){if(typeof e!="object"||!e)return!1;const i=e;return typeof i.uuid=="string"&&typeof i.session=="string"&&typeof i.query=="string"&&Object.values(t.InMessageQueryEnum).includes(i.query)&&typeof i.nonce=="number"}mapDeviceError(e){return g.CommandUtils.isSuccessResponse(e)?null:g.CommandUtils.isLockedDeviceResponse(e)?new n.SecureChannelError({url:this._connection.url,errorMessage:"Device is locked"},n.SecureChannelErrorType.DeviceLocked):g.CommandUtils.isRefusedByUser(e)?new n.SecureChannelError({url:this._connection.url,errorMessage:"User refused on the device"},n.SecureChannelErrorType.RefusedByUser):g.CommandUtils.isAppAlreadyInstalled(e)?new n.SecureChannelError({url:this._connection.url,errorMessage:"App already installed"},n.SecureChannelErrorType.AppAlreadyInstalled):g.CommandUtils.isOutOfMemory(e)?new n.SecureChannelError({url:this._connection.url,errorMessage:"Out of memory"},n.SecureChannelErrorType.OutOfMemory):new n.SecureChannelError({url:this._connection.url,errorMessage:`Invalid status code: ${(0,m.bufferToHexaString)(e.statusCode)}`})}}0&&(module.exports={ConnectToSecureChannelTask});
2
2
  //# sourceMappingURL=ConnectToSecureChannelTask.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/secure-channel/task/ConnectToSecureChannelTask.ts"],
4
- "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { type Either } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n InMessageQueryEnum,\n type InMessageType,\n OutMessageResponseEnum,\n type OutMessageType,\n type SecureChannelEvent,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport {\n isRefusedByUser,\n willRequestPermission,\n} from \"@api/secure-channel/utils\";\nimport { bufferToHexaString, hexaStringToBuffer } from \"@api/utils/HexaString\";\nimport {\n SecureChannelError,\n type WebSocketConnectionError,\n} from \"@internal/secure-channel/model/Errors\";\n\nexport type ConnectToSecureChannelTaskArgs = {\n connection: Either<WebSocketConnectionError, WebSocket>;\n};\n\nexport class ConnectToSecureChannelTask {\n private readonly _connection: WebSocket;\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: ConnectToSecureChannelTaskArgs,\n ) {\n if (this._args.connection.isRight()) {\n this._connection = this._args.connection.extract();\n } else {\n throw new SecureChannelError(\n `Invalid WebSocket connection: ${String(this._args.connection.extract())}`,\n );\n }\n }\n\n run(): Observable<SecureChannelEvent> {\n const reenableRefresher = this._api.disableRefresher(\n \"connectToSecureChannel\",\n );\n\n const obs = new Observable<SecureChannelEvent>((subscriber) => {\n let unsubscribed: boolean = false;\n let inBulkMode = false;\n let communicationFinished = false;\n let deviceError: SecureChannelError | null = null;\n let waitingForUserAction = false;\n\n this._connection.onopen = () => {\n subscriber.next({\n type: SecureChannelEventType.Opened,\n });\n };\n\n this._connection.onerror = (error) => {\n // When the bulk sending is in progress, network error is ignored\n if (inBulkMode) {\n return;\n }\n\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: error.message,\n }),\n );\n };\n\n this._connection.onclose = () => {\n // When the bulk sending is in progress, network event is ignored\n if (inBulkMode) {\n return;\n }\n\n if (communicationFinished) {\n subscriber.next({\n type: SecureChannelEventType.Closed,\n });\n subscriber.complete();\n } else {\n subscriber.error(\n new SecureChannelError(\n deviceError ?? {\n url: this._connection.url,\n errorMessage: \"Connection closed unexpectedly\",\n },\n ),\n );\n }\n };\n\n this._connection.onmessage = async (event) => {\n // When unsubscribed, ignore the message\n if (unsubscribed) {\n return;\n }\n deviceError = null;\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const input: InMessageType = JSON.parse(String(event.data));\n\n switch (input.query) {\n case InMessageQueryEnum.EXCHANGE: {\n const { nonce } = input;\n\n if (Array.isArray(input.data)) {\n subscriber.error(\n new SecureChannelError(\n `${InMessageQueryEnum.EXCHANGE} data type should not be Array`,\n ),\n );\n break;\n }\n\n const apdu = hexaStringToBuffer(input.data);\n\n if (apdu === null || apdu.length < 5) {\n subscriber.error(\n new SecureChannelError(\n `Received invalid APDU data: ${input.data}`,\n ),\n );\n break;\n }\n\n subscriber.next({\n type: SecureChannelEventType.PreExchange,\n payload: { nonce, apdu },\n });\n\n if (\n willRequestPermission(apdu) &&\n !this.isSecureConnectionAllowed()\n ) {\n waitingForUserAction = true;\n subscriber.next({\n type: SecureChannelEventType.PermissionRequested,\n });\n }\n\n const response = await this._api.sendApdu(apdu);\n\n if (unsubscribed) {\n return;\n }\n\n response.caseOf({\n Left: (error) => {\n subscriber.error(new SecureChannelError(error));\n },\n Right: (apduResponse: ApduResponse) => {\n let outMessageResponse: OutMessageResponseEnum;\n /**\n * | Status Code | Description | Event Emitted |\n * |-------------|------------------------------------|------------------------------------|\n * | 0x9000 | Success | SecureChannelEventEnum.Exchange |\n * | 0x5515 | Device is locked | Error |\n * | 0x5501 | User refused on the device | Error |\n * | 0x6985 | Condition of use not satisfied | Error |\n */\n // Success response\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n outMessageResponse = OutMessageResponseEnum.SUCCESS;\n // Emit event for the exchange\n subscriber.next({\n type: SecureChannelEventType.Exchange,\n payload: {\n nonce,\n apdu,\n data: apduResponse.data,\n status: apduResponse.statusCode,\n },\n });\n } else {\n outMessageResponse = OutMessageResponseEnum.ERROR;\n\n deviceError = new SecureChannelError({\n url: this._connection.url,\n errorMessage: `Invalid status code: ${bufferToHexaString(\n apduResponse.statusCode,\n )}`,\n });\n\n // Device is locked\n if (CommandUtils.isLockedDeviceResponse(apduResponse)) {\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: `Device is locked`,\n }),\n );\n return;\n }\n\n // User refused the permission\n if (\n isRefusedByUser(apduResponse.statusCode) &&\n waitingForUserAction\n ) {\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: \"User refused on the device\",\n }),\n );\n return;\n }\n }\n\n if (waitingForUserAction) {\n subscriber.next({\n type: SecureChannelEventType.PermissionGranted,\n });\n waitingForUserAction = false;\n }\n\n // Send the message back to the server\n const message: OutMessageType = {\n nonce,\n response: outMessageResponse,\n data: bufferToHexaString(apduResponse.data).slice(2),\n };\n this._connection.send(JSON.stringify(message));\n },\n });\n break;\n }\n case InMessageQueryEnum.BULK: {\n inBulkMode = true;\n this._connection.close();\n\n if (!Array.isArray(input.data) || input.data.length === 0) {\n subscriber.error(\n new SecureChannelError(\"Invalid bulk data received\"),\n );\n break;\n }\n\n const apdus = input.data.reduce(\n (acc: Array<Uint8Array>, cur: string) => {\n const apdu = hexaStringToBuffer(cur);\n return apdu === null ? acc : [...acc, apdu];\n },\n [],\n );\n\n for (let i = 0, len = apdus.length; i < len; i++) {\n await this._api.sendApdu(apdus[i]!);\n if (unsubscribed) {\n subscriber.error(\n new SecureChannelError(\n \"Bulk sending cancelled by unsubscribing\",\n ),\n );\n break;\n }\n subscriber.next({\n type: SecureChannelEventType.Progress,\n payload: {\n progress: +Number((i + 1) / len).toFixed(2),\n index: i,\n total: len,\n },\n });\n }\n communicationFinished = true;\n subscriber.complete();\n break;\n }\n case InMessageQueryEnum.SUCCESS: {\n // Ignore success message when in bulk mode\n if (inBulkMode) {\n break;\n }\n // Emit the result if there is any\n const payload = input.result ?? input.data;\n if (payload) {\n subscriber.next({\n type: SecureChannelEventType.Result,\n payload: payload ?? \"\",\n });\n }\n communicationFinished = true;\n subscriber.complete();\n break;\n }\n case InMessageQueryEnum.WARNING: {\n // Ignore warning message when in bulk mode\n if (inBulkMode) {\n break;\n }\n subscriber.next({\n type: SecureChannelEventType.Warning,\n payload: { message: String(input.data) },\n });\n break;\n }\n case InMessageQueryEnum.ERROR: {\n if (inBulkMode) {\n break;\n }\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: String(input.data),\n }),\n );\n }\n }\n } catch (error) {\n deviceError = new SecureChannelError(error);\n subscriber.error(deviceError);\n }\n };\n\n return () => {\n reenableRefresher();\n unsubscribed = true;\n // Close the connection if it is open when unsubscribing\n if (this._connection.readyState === WebSocket.OPEN) {\n this._connection.close();\n }\n };\n });\n\n return obs;\n }\n\n /**\n * Determines if a secure connection is already allowed based on the current device session state.\n *\n * @returns {boolean} `true` if a secure connection is allowed, otherwise `false`.\n */\n isSecureConnectionAllowed(): boolean {\n const deviceSessionState = this._api.getDeviceSessionState();\n return (\n \"isSecureConnectionAllowed\" in deviceSessionState &&\n deviceSessionState.isSecureConnectionAllowed\n );\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["ConnectToSecureChannelTask_exports", "__export", "ConnectToSecureChannelTask", "__toCommonJS", "import_isomorphic_ws", "import_rxjs", "import_CommandUtils", "import_types", "import_utils", "import_HexaString", "import_Errors", "_api", "_args", "reenableRefresher", "subscriber", "unsubscribed", "inBulkMode", "communicationFinished", "deviceError", "waitingForUserAction", "error", "event", "input", "nonce", "apdu", "response", "apduResponse", "outMessageResponse", "message", "apdus", "acc", "cur", "i", "len", "payload", "WebSocket", "deviceSessionState"]
4
+ "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { type Either } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n InMessageQueryEnum,\n type InMessageType,\n OutMessageResponseEnum,\n type OutMessageType,\n type SecureChannelEvent,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport {\n extractPublicKey,\n isGetCertificateApdu,\n willRequestPermission,\n} from \"@api/secure-channel/utils\";\nimport { bufferToHexaString, hexaStringToBuffer } from \"@api/utils/HexaString\";\nimport { type CryptoService } from \"@internal/crypto/CryptoService\";\nimport { NobleCryptoService } from \"@internal/crypto/NobleCryptoService\";\nimport {\n SecureChannelError,\n SecureChannelErrorType,\n type WebSocketConnectionError,\n} from \"@internal/secure-channel/model/Errors\";\n\nexport type ConnectToSecureChannelTaskArgs = {\n connection: Either<WebSocketConnectionError, WebSocket>;\n cryptoService?: CryptoService;\n};\n\nexport class ConnectToSecureChannelTask {\n private readonly _connection: WebSocket;\n private readonly _cryptoService: CryptoService;\n private _deviceIdCaptured: boolean = false;\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: ConnectToSecureChannelTaskArgs,\n ) {\n if (this._args.connection.isRight()) {\n this._connection = this._args.connection.extract();\n } else {\n throw new SecureChannelError(\n `Invalid WebSocket connection: ${String(this._args.connection.extract())}`,\n );\n }\n this._cryptoService = this._args.cryptoService ?? new NobleCryptoService();\n }\n\n run(): Observable<SecureChannelEvent> {\n const reenableRefresher = this._api.disableRefresher(\n \"connectToSecureChannel\",\n );\n\n const obs = new Observable<SecureChannelEvent>((subscriber) => {\n let unsubscribed: boolean = false;\n let ignoreNetworkEvents = false;\n let communicationFinished = false;\n\n const notifyError = (error: SecureChannelError) => {\n subscriber.next({\n type: SecureChannelEventType.Error,\n error,\n });\n subscriber.complete();\n\n // Netowrks events can be ignored once the obervable has been completed\n ignoreNetworkEvents = true;\n };\n\n this._connection.onopen = () => {\n subscriber.next({\n type: SecureChannelEventType.Opened,\n });\n };\n\n this._connection.onerror = (error) => {\n if (ignoreNetworkEvents) {\n return;\n }\n\n subscriber.next({\n type: SecureChannelEventType.Error,\n error: new SecureChannelError({\n url: this._connection.url,\n errorMessage: error.message,\n }),\n });\n subscriber.complete();\n };\n\n this._connection.onclose = () => {\n if (ignoreNetworkEvents) {\n return;\n }\n\n if (communicationFinished) {\n subscriber.next({\n type: SecureChannelEventType.Closed,\n });\n } else {\n subscriber.next({\n type: SecureChannelEventType.Error,\n error: new SecureChannelError({\n url: this._connection.url,\n errorMessage: \"Connection closed unexpectedly\",\n }),\n });\n }\n subscriber.complete();\n };\n\n this._connection.onmessage = async (event) => {\n // When unsubscribed, ignore the message\n if (unsubscribed) {\n return;\n }\n\n // Parse input message\n let input: InMessageType;\n try {\n const jsonData = JSON.parse(String(event.data));\n if (this.isInMessageType(jsonData)) {\n input = jsonData;\n } else {\n throw new Error(\"Data does not match InMessageType\");\n }\n } catch (_) {\n notifyError(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: `Invalid message received: ${String(event.data)}`,\n }),\n );\n return;\n }\n\n // Execute message query\n switch (input.query) {\n case InMessageQueryEnum.EXCHANGE: {\n const { nonce, data } = input;\n\n // Exchange query should contain a single APDU\n if (typeof data !== \"string\") {\n notifyError(\n new SecureChannelError(\n `${InMessageQueryEnum.EXCHANGE} data type should be an APDU`,\n ),\n );\n return;\n }\n\n // APDU should be a valid hex string\n const apdu = hexaStringToBuffer(data);\n if (apdu === null || apdu.length < 5) {\n notifyError(\n new SecureChannelError(`Received invalid APDU data: ${data}`),\n );\n return;\n }\n subscriber.next({\n type: SecureChannelEventType.PreExchange,\n payload: { nonce, apdu },\n });\n\n // Notify permission requested\n let permissionRequested = false;\n if (\n willRequestPermission(apdu) &&\n !this.isSecureConnectionAllowed()\n ) {\n permissionRequested = true;\n subscriber.next({\n type: SecureChannelEventType.PermissionRequested,\n });\n }\n\n // Send APDU to the device\n const response = await this._api.sendApdu(apdu);\n if (unsubscribed) {\n return;\n }\n\n // Map device response\n response.caseOf({\n Left: (error) => {\n notifyError(new SecureChannelError(error));\n },\n Right: (apduResponse: ApduResponse) => {\n let outMessageResponse: OutMessageResponseEnum;\n const deviceError = this.mapDeviceError(apduResponse);\n if (deviceError === null) {\n outMessageResponse = OutMessageResponseEnum.SUCCESS;\n\n // Check if this is the first GetCertificate call\n if (!this._deviceIdCaptured && isGetCertificateApdu(apdu)) {\n this._deviceIdCaptured = true;\n const publicKey = extractPublicKey(apduResponse);\n if (publicKey) {\n // Compute SHA3-256 hash of the public key to get the device ID\n const deviceId = this._cryptoService.sha3_256(publicKey);\n subscriber.next({\n type: SecureChannelEventType.DeviceId,\n payload: { deviceId },\n });\n }\n }\n\n // Emit event for the exchange\n subscriber.next({\n type: SecureChannelEventType.Exchange,\n payload: {\n nonce,\n apdu,\n data: apduResponse.data,\n status: apduResponse.statusCode,\n },\n });\n\n // If manager consent was requested, notify the \"granted\" event\n if (permissionRequested) {\n subscriber.next({\n type: SecureChannelEventType.PermissionGranted,\n });\n }\n } else {\n outMessageResponse = OutMessageResponseEnum.ERROR;\n notifyError(deviceError);\n }\n\n // Send the message back to the server\n const message: OutMessageType = {\n nonce,\n response: outMessageResponse,\n data: bufferToHexaString(apduResponse.data, false),\n };\n this._connection.send(JSON.stringify(message));\n },\n });\n break;\n }\n case InMessageQueryEnum.BULK: {\n // Network not needed anymore during bulk APDUs sending\n ignoreNetworkEvents = true;\n this._connection.close();\n\n // A valid array of APDUs is required in a bulk query\n if (\n !Array.isArray(input.data) ||\n input.data.length === 0 ||\n !input.data.every((data) => typeof data === \"string\")\n ) {\n notifyError(new SecureChannelError(\"Invalid bulk data received\"));\n return;\n }\n\n for (let i = 0, len = input.data.length; i < len; i++) {\n // APDU should be a valid hex string\n const apdu = hexaStringToBuffer(input.data[i]!);\n if (apdu === null || apdu.length < 5) {\n notifyError(\n new SecureChannelError(\n `Received invalid APDU bulk data: ${input.data[i]}`,\n ),\n );\n return;\n }\n\n // Send APDU to the device\n const response = await this._api.sendApdu(apdu);\n if (unsubscribed) {\n return;\n }\n\n // Map device response\n if (response.isLeft()) {\n notifyError(new SecureChannelError(response.extract()));\n return;\n } else if (response.isRight()) {\n const deviceError = this.mapDeviceError(response.extract());\n if (deviceError === null) {\n // Notify the progress\n subscriber.next({\n type: SecureChannelEventType.Progress,\n payload: {\n progress: +Number((i + 1) / len).toFixed(2),\n index: i,\n total: len,\n },\n });\n } else {\n notifyError(deviceError);\n return;\n }\n }\n }\n communicationFinished = true;\n subscriber.complete();\n break;\n }\n case InMessageQueryEnum.SUCCESS: {\n if (ignoreNetworkEvents) {\n break;\n }\n // Emit the result if there is any\n const payload = input.result ?? input.data;\n if (payload) {\n subscriber.next({\n type: SecureChannelEventType.Result,\n payload: payload ?? \"\",\n });\n }\n communicationFinished = true;\n subscriber.complete();\n break;\n }\n case InMessageQueryEnum.WARNING: {\n if (ignoreNetworkEvents) {\n break;\n }\n subscriber.next({\n type: SecureChannelEventType.Warning,\n payload: { message: String(input.data) },\n });\n break;\n }\n case InMessageQueryEnum.ERROR: {\n if (ignoreNetworkEvents) {\n break;\n }\n notifyError(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: String(input.data),\n }),\n );\n }\n }\n };\n\n return () => {\n reenableRefresher();\n unsubscribed = true;\n // Close the connection if it is open when unsubscribing\n if (this._connection.readyState === WebSocket.OPEN) {\n this._connection.close();\n }\n };\n });\n\n return obs;\n }\n\n /**\n * Determines if a secure connection is already allowed based on the current device session state.\n *\n * @returns {boolean} `true` if a secure connection is allowed, otherwise `false`.\n */\n isSecureConnectionAllowed(): boolean {\n const deviceSessionState = this._api.getDeviceSessionState();\n return (\n \"isSecureConnectionAllowed\" in deviceSessionState &&\n deviceSessionState.isSecureConnectionAllowed\n );\n }\n\n isInMessageType(data: unknown): data is InMessageType {\n if (typeof data !== \"object\" || !data) {\n return false;\n }\n\n const message = data as InMessageType;\n return (\n typeof message.uuid === \"string\" &&\n typeof message.session === \"string\" &&\n typeof message.query === \"string\" &&\n Object.values(InMessageQueryEnum).includes(message.query) &&\n typeof message.nonce === \"number\"\n );\n }\n\n mapDeviceError(apduResponse: ApduResponse): SecureChannelError | null {\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n return null;\n }\n\n // Device is locked\n if (CommandUtils.isLockedDeviceResponse(apduResponse)) {\n return new SecureChannelError(\n {\n url: this._connection.url,\n errorMessage: `Device is locked`,\n },\n SecureChannelErrorType.DeviceLocked,\n );\n }\n\n // User refused the permission\n if (CommandUtils.isRefusedByUser(apduResponse)) {\n return new SecureChannelError(\n {\n url: this._connection.url,\n errorMessage: \"User refused on the device\",\n },\n SecureChannelErrorType.RefusedByUser,\n );\n }\n\n // App already installed\n if (CommandUtils.isAppAlreadyInstalled(apduResponse)) {\n return new SecureChannelError(\n {\n url: this._connection.url,\n errorMessage: \"App already installed\",\n },\n SecureChannelErrorType.AppAlreadyInstalled,\n );\n }\n\n // Out of memory\n if (CommandUtils.isOutOfMemory(apduResponse)) {\n return new SecureChannelError(\n {\n url: this._connection.url,\n errorMessage: \"Out of memory\",\n },\n SecureChannelErrorType.OutOfMemory,\n );\n }\n\n return new SecureChannelError({\n url: this._connection.url,\n errorMessage: `Invalid status code: ${bufferToHexaString(\n apduResponse.statusCode,\n )}`,\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["ConnectToSecureChannelTask_exports", "__export", "ConnectToSecureChannelTask", "__toCommonJS", "import_isomorphic_ws", "import_rxjs", "import_CommandUtils", "import_types", "import_utils", "import_HexaString", "import_NobleCryptoService", "import_Errors", "_api", "_args", "reenableRefresher", "subscriber", "unsubscribed", "ignoreNetworkEvents", "communicationFinished", "notifyError", "error", "event", "input", "jsonData", "nonce", "data", "apdu", "permissionRequested", "response", "apduResponse", "outMessageResponse", "deviceError", "publicKey", "deviceId", "message", "i", "len", "payload", "WebSocket", "deviceSessionState"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var h=Object.create;var m=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var f=(e,o,u,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of S(o))!C.call(e,c)&&c!==u&&m(e,c,{get:()=>o[c],enumerable:!(a=b(o,c))||a.enumerable});return e};var E=(e,o,u)=>(u=e!=null?h(v(e)):{},f(o||!e||!e.__esModule?m(u,"default",{value:e,enumerable:!0}):u,e));var g=E(require("isomorphic-ws")),p=require("purify-ts"),n=require("vitest"),r=require("../../secure-channel/task/types"),y=require("../../../internal/secure-channel/model/Errors"),x=require("./ConnectToSecureChannelTask");n.vi.mock("isomorphic-ws",()=>({...n.vi.importActual("isomorphic-ws"),__esModule:!0,default:class{onopen=null;onmessage=null;send=n.vi.fn();close=n.vi.fn();url;constructor(e){this.url=e}}}));const d=5;(0,n.describe)("ConnectToSecureChannelTask",()=>{let e,o,u,a;const c=n.vi.fn();beforeEach(()=>{e=new g.default("wss://test-host.com"),o={sendApdu:c,disableRefresher:n.vi.fn()},u={connection:(0,p.Right)(e)},a=new x.ConnectToSecureChannelTask(o,u)}),afterEach(()=>{n.vi.resetAllMocks()}),(0,n.it)("should emit Opened event on WebSocket open",async()=>{const t=[];a.run().subscribe(s=>t.push(s)),expect(e.onopen).toBeDefined(),e.onopen({type:"open",target:{}}),await new Promise(s=>setTimeout(s,d)),expect(t).toStrictEqual([{type:r.SecureChannelEventType.Opened}])}),(0,n.it)("should handle incoming EXCHANGE message including requesting user permission",async()=>{c.mockResolvedValue((0,p.Right)({data:new Uint8Array([144,0]),statusCode:new Uint8Array([144,0])}));const t=n.vi.spyOn(e,"send");n.vi.spyOn(a,"isSecureConnectionAllowed").mockReturnValueOnce(!1);const i=[];a.run().subscribe({next:l=>{i.push(l)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"exchange",nonce:1,data:"e051000000"}),type:"",target:{}}),await new Promise(l=>setTimeout(l,d)),expect(t).toHaveBeenCalledExactlyOnceWith(JSON.stringify({nonce:1,response:"success",data:"9000"})),expect(i).toStrictEqual([{type:r.SecureChannelEventType.PreExchange,payload:{nonce:1,apdu:new Uint8Array([224,81,0,0,0])}},{type:r.SecureChannelEventType.PermissionRequested},{type:r.SecureChannelEventType.Exchange,payload:{nonce:1,apdu:new Uint8Array([224,81,0,0,0]),data:new Uint8Array([144,0]),status:new Uint8Array([144,0])}},{type:r.SecureChannelEventType.PermissionGranted}])}),(0,n.it)("should handle incoming BULK message",async()=>{c.mockResolvedValue((0,p.Right)({data:new Uint8Array([144,0]),statusCode:new Uint8Array([144,0])}));const t=n.vi.fn(),i=a.run(),s=[];i.subscribe({next:l=>{s.push(l)},complete:()=>t()}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"bulk",nonce:1,data:["0000000100","0000000200","0000000300"]}),type:"",target:{}}),await new Promise(l=>setTimeout(l,d)),expect(c).toHaveBeenCalledTimes(3),expect(s).toStrictEqual([{type:r.SecureChannelEventType.Progress,payload:{progress:.33,index:0,total:3}},{type:r.SecureChannelEventType.Progress,payload:{progress:.67,index:1,total:3}},{type:r.SecureChannelEventType.Progress,payload:{progress:1,index:2,total:3}}]),expect(t).toHaveBeenCalledOnce()}),(0,n.it)("should handle incoming SUCCESS message",()=>{const t=n.vi.fn(),i=[];a.run().subscribe({next:l=>i.push(l),complete:()=>t()}),e.onmessage({data:JSON.stringify({query:"success",nonce:1,result:"success result"}),type:"",target:{}}),expect(i).toStrictEqual([{type:r.SecureChannelEventType.Result,payload:"success result"}]),expect(t).toHaveBeenCalledOnce()}),(0,n.it)("should handle incoming WARNING message",()=>{const t=[];a.run().subscribe({next:s=>t.push(s)}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"warning",nonce:1,data:"warning message"}),type:"",target:{}}),expect(t).toStrictEqual([{type:r.SecureChannelEventType.Warning,payload:{message:"warning message"}}])}),(0,n.it)("should handle incoming ERROR message",()=>{const t=n.vi.fn();a.run().subscribe({error:s=>{expect(s).toBeInstanceOf(y.SecureChannelError),t(s)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"error"}),type:"",target:{}}),expect(t).toHaveBeenCalled()})});
1
+ "use strict";var S=Object.create;var f=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var A=(e,i,d,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let c of C(i))!k.call(e,c)&&c!==d&&f(e,c,{get:()=>i[c],enumerable:!(r=w(i,c))||r.enumerable});return e};var T=(e,i,d)=>(d=e!=null?S(E(e)):{},A(i||!e||!e.__esModule?f(d,"default",{value:e,enumerable:!0}):d,e));var v=T(require("isomorphic-ws")),u=require("purify-ts"),n=require("vitest"),x=require("../../secure-channel/task/types"),p=require("../../../internal/secure-channel/model/Errors"),b=require("./ConnectToSecureChannelTask");n.vi.mock("isomorphic-ws",()=>({...n.vi.importActual("isomorphic-ws"),__esModule:!0,default:class{onopen=null;onmessage=null;send=n.vi.fn();close=n.vi.fn();url;constructor(e){this.url=e}}}));const m=5;(0,n.describe)("ConnectToSecureChannelTask",()=>{let e,i,d,r;const c=n.vi.fn(),l={uuid:"5b776c8d-8af2-48c0-8250-04edca2ef5e9",session:"39ce749e-00a4-4c31-a697-1dc1a29e2cab",query:"success",nonce:15};beforeEach(()=>{e=new v.default("wss://test-host.com"),i={sendApdu:c,disableRefresher:t=>n.vi.fn()},d={connection:(0,u.Right)(e)},r=new b.ConnectToSecureChannelTask(i,d)}),afterEach(()=>{n.vi.resetAllMocks()}),(0,n.it)("should emit Opened event on WebSocket open",async()=>{const t=[];r.run().subscribe(s=>t.push(s)),expect(e.onopen).toBeDefined(),e.onopen({type:"open",target:{}}),await new Promise(s=>setTimeout(s,m)),expect(t).toStrictEqual([{type:x.SecureChannelEventType.Opened}])}),(0,n.it)("Error on wrongly formatted message",async()=>{const t=[];r.run().subscribe({next:s=>{t.push(s)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:"invalidData",type:"",target:{}}),await new Promise(s=>setTimeout(s,m)),expect(t).toStrictEqual([{type:x.SecureChannelEventType.Error,error:new p.SecureChannelError({url:"wss://test-host.com",errorMessage:"Invalid message received: invalidData"})}])}),(0,n.it)("should handle incoming EXCHANGE message including requesting user permission",async()=>{c.mockResolvedValue((0,u.Right)({data:new Uint8Array([144,0]),statusCode:new Uint8Array([144,0])}));const t=n.vi.spyOn(e,"send");n.vi.spyOn(r,"isSecureConnectionAllowed").mockReturnValueOnce(!1);const a=[];r.run().subscribe({next:o=>{a.push(o)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"exchange",nonce:1,data:"e051000000"}),type:"",target:{}}),await new Promise(o=>setTimeout(o,m)),expect(t).toHaveBeenCalledExactlyOnceWith(JSON.stringify({nonce:1,response:"success",data:"9000"})),expect(a).toStrictEqual([{type:x.SecureChannelEventType.PreExchange,payload:{nonce:1,apdu:new Uint8Array([224,81,0,0,0])}},{type:x.SecureChannelEventType.PermissionRequested},{type:x.SecureChannelEventType.Exchange,payload:{nonce:1,apdu:new Uint8Array([224,81,0,0,0]),data:new Uint8Array([144,0]),status:new Uint8Array([144,0])}},{type:x.SecureChannelEventType.PermissionGranted}])}),(0,n.it)("should capture and emit device ID on first GetCertificate APDU",async()=>{const t=new Uint8Array([7,74,7,161,82,230,187,193,65,4,28,116,122,78,8,27,92,30,208,39,252,175,128,218,218,31,132,252,142,67,96,203,83,196,182,158,99,203,145,183,202,211,21,99,104,89,27,251,5,143,114,15,151,175,196,115,249,120,85,251,150,228,84,212,128,24,22,0,52,159,216,220,18,81,70,48,68,2,32,126,60,221,29,21,8,246,141,22,99,74,58,30,225,151,196,80,201,23,101,229,226,72,36,23,178,94,227,160,25,129,200,2,32,89,121,93,9,41,199,216,75,173,173,229,5,14,59,33,25,125,170,255,163,41,234,7,213,180,41,28,166,233,42,114,217]);c.mockResolvedValue((0,u.Right)({data:t,statusCode:new Uint8Array([144,0])}));const a=new Uint8Array([170,187,204,221]),s={sha3_256:n.vi.fn().mockReturnValue(a)},o=new b.ConnectToSecureChannelTask(i,{connection:(0,u.Right)(e),cryptoService:s}),g=[];o.run().subscribe({next:y=>{g.push(y)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"exchange",nonce:1,data:"e052000000"}),type:"",target:{}}),await new Promise(y=>setTimeout(y,m)),expect(s.sha3_256).toHaveBeenCalledWith(Uint8Array.from([4,28,116,122,78,8,27,92,30,208,39,252,175,128,218,218,31,132,252,142,67,96,203,83,196,182,158,99,203,145,183,202,211,21,99,104,89,27,251,5,143,114,15,151,175,196,115,249,120,85,251,150,228,84,212,128,24,22,0,52,159,216,220,18,81]));const h=g.find(y=>y.type===x.SecureChannelEventType.DeviceId);expect(h).toBeDefined(),expect(h?.payload?.deviceId).toBe(a)}),(0,n.it)("should handle incoming EXCHANGE message with a device error",async()=>{c.mockResolvedValue((0,u.Right)({data:new Uint8Array([]),statusCode:new Uint8Array([85,21])}));const t=n.vi.spyOn(e,"send"),a=[];r.run().subscribe({next:o=>{a.push(o)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"exchange",nonce:1,data:"e053000000"}),type:"",target:{}}),await new Promise(o=>setTimeout(o,m)),expect(t).toHaveBeenCalledExactlyOnceWith(JSON.stringify({nonce:1,response:"error",data:""})),expect(a).toStrictEqual([{type:x.SecureChannelEventType.PreExchange,payload:{nonce:1,apdu:new Uint8Array([224,83,0,0,0])}},{type:x.SecureChannelEventType.Error,error:new p.SecureChannelError({url:"wss://test-host.com",errorMessage:"Device is locked"},p.SecureChannelErrorType.DeviceLocked)}])}),(0,n.it)("should handle incoming BULK message",async()=>{c.mockResolvedValue((0,u.Right)({data:new Uint8Array([144,0]),statusCode:new Uint8Array([144,0])}));const t=n.vi.fn(),a=r.run(),s=[];a.subscribe({next:o=>{s.push(o)},complete:()=>t()}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"bulk",nonce:1,data:["0000000100","0000000200","0000000300"]}),type:"",target:{}}),await new Promise(o=>setTimeout(o,m)),expect(c).toHaveBeenCalledTimes(3),expect(s).toStrictEqual([{type:x.SecureChannelEventType.Progress,payload:{progress:.33,index:0,total:3}},{type:x.SecureChannelEventType.Progress,payload:{progress:.67,index:1,total:3}},{type:x.SecureChannelEventType.Progress,payload:{progress:1,index:2,total:3}}]),expect(t).toHaveBeenCalledOnce()}),(0,n.it)("should handle incoming BULK message with a device error",async()=>{c.mockResolvedValue((0,u.Right)({data:new Uint8Array([]),statusCode:new Uint8Array([85,1])}));const t=n.vi.fn(),a=r.run(),s=[];a.subscribe({next:o=>{s.push(o)},complete:()=>t()}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"bulk",nonce:1,data:["0000000100","0000000200","0000000300"]}),type:"",target:{}}),await new Promise(o=>setTimeout(o,m)),expect(c).toHaveBeenCalledTimes(1),expect(s).toStrictEqual([{type:x.SecureChannelEventType.Error,error:new p.SecureChannelError({url:"wss://test-host.com",errorMessage:"User refused on the device"},p.SecureChannelErrorType.RefusedByUser)}]),expect(t).toHaveBeenCalledOnce()}),(0,n.it)("should handle incoming SUCCESS message",()=>{const t=n.vi.fn(),a=[];r.run().subscribe({next:o=>a.push(o),complete:()=>t()}),e.onmessage({data:JSON.stringify({...l,query:"success",nonce:1,result:"success result"}),type:"",target:{}}),expect(a).toStrictEqual([{type:x.SecureChannelEventType.Result,payload:"success result"}]),expect(t).toHaveBeenCalledOnce()}),(0,n.it)("should handle incoming WARNING message",()=>{const t=[];r.run().subscribe({next:s=>t.push(s)}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"warning",nonce:1,data:"warning message"}),type:"",target:{}}),expect(t).toStrictEqual([{type:x.SecureChannelEventType.Warning,payload:{message:"warning message"}}])}),(0,n.it)("should handle incoming ERROR message",()=>{const t=[];r.run().subscribe({next:s=>t.push(s)}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({...l,query:"error",data:"My error"}),type:"",target:{}}),expect(t).toStrictEqual([{type:x.SecureChannelEventType.Error,error:new p.SecureChannelError({url:"wss://test-host.com",errorMessage:"My error"})}])})});
2
2
  //# sourceMappingURL=ConnectToSecureChannelTask.test.js.map