@ledgerhq/device-management-kit 0.0.0-webhid-20250129103551 → 0.0.0-wrong-error-when-in-experimental-provider-20251021161219

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 (1230) hide show
  1. package/README.md +64 -11
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/package.json +26 -26
  4. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  5. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  7. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  9. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  10. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
  11. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  12. package/lib/cjs/src/api/DmkConfig.js +1 -1
  13. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  14. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  15. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
  16. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  17. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  18. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
  19. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
  20. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  21. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  22. package/lib/cjs/src/api/command/Errors.js +1 -1
  23. package/lib/cjs/src/api/command/Errors.js.map +3 -3
  24. package/lib/cjs/src/api/command/di/commandModule.js +1 -1
  25. package/lib/cjs/src/api/command/di/commandModule.js.map +3 -3
  26. package/lib/cjs/src/api/command/di/commandModule.test.js +1 -1
  27. package/lib/cjs/src/api/command/di/commandModule.test.js.map +2 -2
  28. package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
  29. package/lib/cjs/src/api/command/model/CommandResult.js.map +2 -2
  30. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  31. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  32. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  33. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  34. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  35. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  36. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  37. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  38. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js +2 -0
  39. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  40. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  41. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  42. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  43. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  44. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  45. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  46. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js +2 -0
  47. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  48. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  49. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  50. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  51. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  52. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +1 -1
  53. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  54. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  55. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  56. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  57. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  58. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  59. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  60. package/lib/cjs/src/api/command/utils/GlobalCommandError.js +1 -1
  61. package/lib/cjs/src/api/command/utils/GlobalCommandError.js.map +2 -2
  62. package/lib/cjs/src/api/device/DeviceModel.js +1 -1
  63. package/lib/cjs/src/api/device/DeviceModel.js.map +2 -2
  64. package/lib/cjs/src/api/device/SecureElementFlags.js +2 -0
  65. package/lib/cjs/src/api/device/SecureElementFlags.js.map +7 -0
  66. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  67. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  68. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  69. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  70. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  71. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  72. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  73. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  74. package/lib/cjs/src/api/device-action/di/deviceActionModule.js +1 -1
  75. package/lib/cjs/src/api/device-action/di/deviceActionModule.js.map +3 -3
  76. package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js +1 -1
  77. package/lib/cjs/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
  78. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js +1 -1
  79. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  80. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  81. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  82. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  83. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  84. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  85. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  86. package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
  87. package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
  88. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  89. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  90. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  91. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  92. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +2 -0
  93. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  94. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  95. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  96. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  97. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  98. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
  99. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
  100. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  101. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  102. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +1 -1
  103. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +1 -1
  104. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  105. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  106. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  107. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  108. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +2 -0
  109. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  110. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  111. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  112. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  113. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  114. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  115. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  116. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  117. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  118. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  119. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  120. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  121. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  122. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  123. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  124. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  125. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  126. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  127. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  128. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +2 -0
  129. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  130. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  131. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  132. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  133. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  134. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  135. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  136. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  137. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  138. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  139. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  140. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  141. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  142. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  143. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  144. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  145. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  146. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  147. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  148. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  149. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  150. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  151. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  152. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  153. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  154. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  155. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  156. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  157. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  158. package/lib/cjs/src/api/device-model/model/DeviceModel.js +1 -1
  159. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +2 -2
  160. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +1 -1
  161. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  162. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  163. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  164. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  165. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  166. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  167. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  168. package/lib/cjs/src/api/index.js +1 -1
  169. package/lib/cjs/src/api/index.js.map +3 -3
  170. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  171. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  172. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  173. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  174. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  175. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  176. package/lib/cjs/src/api/secure-channel/constants.js +2 -0
  177. package/lib/cjs/src/api/secure-channel/constants.js.map +7 -0
  178. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  179. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  180. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  181. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  182. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js +2 -0
  183. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  184. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +2 -0
  185. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +7 -0
  186. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +2 -0
  187. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +7 -0
  188. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js +2 -0
  189. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +7 -0
  190. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +2 -0
  191. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +7 -0
  192. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +2 -0
  193. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +7 -0
  194. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +2 -0
  195. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +7 -0
  196. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +2 -0
  197. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +7 -0
  198. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +2 -0
  199. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +7 -0
  200. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js +2 -0
  201. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +7 -0
  202. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  203. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  204. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  205. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  206. package/lib/cjs/src/api/secure-channel/task/types.js +2 -0
  207. package/lib/cjs/src/api/secure-channel/task/types.js.map +7 -0
  208. package/lib/cjs/src/api/secure-channel/types.js +2 -0
  209. package/lib/cjs/src/api/secure-channel/types.js.map +7 -0
  210. package/lib/cjs/src/api/secure-channel/utils.js +2 -0
  211. package/lib/cjs/src/api/secure-channel/utils.js.map +7 -0
  212. package/lib/cjs/src/api/secure-channel/utils.test.js +2 -0
  213. package/lib/cjs/src/api/secure-channel/utils.test.js.map +7 -0
  214. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  215. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  216. package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
  217. package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
  218. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  219. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  220. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  221. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  222. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
  223. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
  224. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  225. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  226. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  227. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  228. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  229. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  230. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  231. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +1 -1
  232. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +3 -3
  233. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  234. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  235. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  236. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  237. package/lib/cjs/src/api/types.js +1 -1
  238. package/lib/cjs/src/api/types.js.map +1 -1
  239. package/lib/cjs/src/api/utils/AppName.js +2 -0
  240. package/lib/cjs/src/api/utils/AppName.js.map +7 -0
  241. package/lib/cjs/src/api/utils/AppName.test.js +2 -0
  242. package/lib/cjs/src/api/utils/AppName.test.js.map +7 -0
  243. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  244. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  245. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  246. package/lib/cjs/src/api/utils/HexaString.js.map +3 -3
  247. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  248. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  249. package/lib/cjs/src/di.js +1 -1
  250. package/lib/cjs/src/di.js.map +3 -3
  251. package/lib/cjs/src/di.stub.js +1 -1
  252. package/lib/cjs/src/di.stub.js.map +2 -2
  253. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  254. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  255. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  256. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  257. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  258. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  259. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  260. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  261. package/lib/cjs/src/internal/config/di/configModule.js +1 -1
  262. package/lib/cjs/src/internal/config/di/configModule.js.map +3 -3
  263. package/lib/cjs/src/internal/config/di/configModule.test.js +1 -1
  264. package/lib/cjs/src/internal/config/di/configModule.test.js.map +2 -2
  265. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  266. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  267. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  268. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  269. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
  270. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +3 -3
  271. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  272. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  273. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +1 -1
  274. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  275. package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js +1 -1
  276. package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +3 -3
  277. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  278. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  279. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
  280. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
  281. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  282. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  283. package/lib/cjs/src/internal/device-session/model/DevicePinger.js +2 -0
  284. package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +7 -0
  285. package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js +2 -0
  286. package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js.map +7 -0
  287. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  288. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  289. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  290. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  291. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js +2 -0
  292. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +7 -0
  293. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +2 -0
  294. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +7 -0
  295. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  296. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  297. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  298. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +3 -3
  299. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +2 -0
  300. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +7 -0
  301. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +2 -0
  302. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +7 -0
  303. package/lib/cjs/src/internal/device-session/model/Frame.js +1 -1
  304. package/lib/cjs/src/internal/device-session/model/Frame.js.map +3 -3
  305. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  306. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +2 -2
  307. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  308. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  309. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  310. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  311. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  312. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  313. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  314. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  315. package/lib/cjs/src/internal/device-session/service/MutexService.js +2 -0
  316. package/lib/cjs/src/internal/device-session/service/MutexService.js.map +7 -0
  317. package/lib/cjs/src/internal/device-session/service/MutexService.test.js +2 -0
  318. package/lib/cjs/src/internal/device-session/service/MutexService.test.js.map +7 -0
  319. package/lib/cjs/src/internal/device-session/service/RefresherService.js +2 -0
  320. package/lib/cjs/src/internal/device-session/service/RefresherService.js.map +7 -0
  321. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +2 -0
  322. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  323. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  324. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  325. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  326. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  327. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  328. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  329. package/lib/cjs/src/internal/device-session/utils/deviceSessionUtils.js +2 -0
  330. package/lib/cjs/src/internal/device-session/utils/deviceSessionUtils.js.map +7 -0
  331. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  332. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  333. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  334. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  335. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  336. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  337. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  338. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  339. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  340. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  341. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  342. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  343. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  344. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  345. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  346. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  347. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  348. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  349. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  350. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  351. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  352. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +3 -3
  353. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  354. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  355. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  356. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  357. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  358. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  359. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  360. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  361. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  362. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  363. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js +1 -1
  364. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
  365. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
  366. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
  367. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  368. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  369. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  370. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  371. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  372. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  373. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  374. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  375. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  376. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  377. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  378. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  379. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  380. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  381. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  382. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  383. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  384. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  385. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  386. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  387. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  388. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  389. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  390. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  391. package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
  392. package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
  393. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  394. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  395. package/lib/cjs/src/internal/manager-api/model/Language.js +2 -0
  396. package/lib/cjs/src/internal/manager-api/model/Language.js.map +7 -0
  397. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  398. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  399. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  400. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  401. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  402. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  403. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  404. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  405. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  406. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  407. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  408. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  409. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  410. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  411. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  412. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  413. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  414. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  415. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  416. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  417. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  418. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  419. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  420. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  421. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  422. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  423. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  424. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  425. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  426. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  427. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  428. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  429. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  430. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  431. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  432. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  433. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  434. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  435. package/lib/cjs/src/internal/send/di/sendModule.js +1 -1
  436. package/lib/cjs/src/internal/send/di/sendModule.js.map +3 -3
  437. package/lib/cjs/src/internal/send/di/sendModule.test.js +1 -1
  438. package/lib/cjs/src/internal/send/di/sendModule.test.js.map +2 -2
  439. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  440. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  441. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  442. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  443. package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
  444. package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
  445. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  446. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  447. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  448. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  449. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  450. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  451. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  452. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  453. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  454. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  455. package/lib/esm/package.json +26 -26
  456. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  457. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  458. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  459. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  460. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  461. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  462. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  463. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  464. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  465. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +3 -3
  466. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  467. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  468. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
  469. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +3 -3
  470. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  471. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  472. package/lib/esm/src/api/command/Errors.js +1 -1
  473. package/lib/esm/src/api/command/Errors.js.map +3 -3
  474. package/lib/esm/src/api/command/di/commandModule.js +1 -1
  475. package/lib/esm/src/api/command/di/commandModule.js.map +3 -3
  476. package/lib/esm/src/api/command/di/commandModule.test.js +1 -1
  477. package/lib/esm/src/api/command/di/commandModule.test.js.map +2 -2
  478. package/lib/esm/src/api/command/model/CommandResult.js +1 -1
  479. package/lib/esm/src/api/command/model/CommandResult.js.map +2 -2
  480. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  481. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  482. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  483. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  484. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  485. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  486. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  487. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  488. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js +2 -0
  489. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  490. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  491. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  492. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  493. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  494. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  495. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  496. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js +2 -0
  497. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  498. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  499. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  500. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  501. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  502. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +1 -1
  503. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  504. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  505. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  506. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  507. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  508. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  509. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  510. package/lib/esm/src/api/command/utils/GlobalCommandError.js +1 -1
  511. package/lib/esm/src/api/command/utils/GlobalCommandError.js.map +2 -2
  512. package/lib/esm/src/api/device/DeviceModel.js +1 -1
  513. package/lib/esm/src/api/device/DeviceModel.js.map +2 -2
  514. package/lib/esm/src/api/device/SecureElementFlags.js +1 -0
  515. package/lib/esm/src/api/device/SecureElementFlags.js.map +7 -0
  516. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  517. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  518. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  519. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  520. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  521. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  522. package/lib/esm/src/api/device-action/di/deviceActionModule.js +1 -1
  523. package/lib/esm/src/api/device-action/di/deviceActionModule.js.map +3 -3
  524. package/lib/esm/src/api/device-action/di/deviceActionModule.test.js +1 -1
  525. package/lib/esm/src/api/device-action/di/deviceActionModule.test.js.map +2 -2
  526. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js +1 -1
  527. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +2 -2
  528. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  529. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  530. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  531. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  532. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  533. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  534. package/lib/esm/src/api/device-action/os/Errors.js +1 -1
  535. package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
  536. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  537. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  538. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  539. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  540. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js +1 -0
  541. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  542. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  543. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  544. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  545. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  546. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js +1 -1
  547. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.js.map +3 -3
  548. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  549. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  550. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  551. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  552. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  553. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  554. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -0
  555. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  556. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  557. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  558. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  559. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  560. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  561. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  562. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  563. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  564. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  565. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  566. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  567. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  568. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  569. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  570. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  571. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  572. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -0
  573. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  574. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  575. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  576. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  577. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  578. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  579. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  580. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  581. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  582. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  583. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  584. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  585. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  586. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  587. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  588. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  589. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  590. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  591. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  592. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  593. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  594. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  595. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  596. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  597. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  598. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  599. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  600. package/lib/esm/src/api/device-model/model/DeviceModel.js +1 -1
  601. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +2 -2
  602. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +1 -1
  603. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  604. package/lib/esm/src/api/device-session/DeviceSessionState.js +1 -1
  605. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  606. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  607. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  608. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  609. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  610. package/lib/esm/src/api/index.js +1 -1
  611. package/lib/esm/src/api/index.js.map +3 -3
  612. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  613. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  614. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  615. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  616. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  617. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  618. package/lib/esm/src/api/secure-channel/constants.js +2 -0
  619. package/lib/esm/src/api/secure-channel/constants.js.map +7 -0
  620. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  621. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  622. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  623. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  624. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js +1 -0
  625. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  626. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +2 -0
  627. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +7 -0
  628. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +2 -0
  629. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +7 -0
  630. package/lib/esm/src/api/secure-channel/device-action/InstallApp/types.js +1 -0
  631. package/lib/esm/src/api/secure-channel/device-action/InstallApp/types.js.map +7 -0
  632. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +2 -0
  633. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +7 -0
  634. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +2 -0
  635. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +7 -0
  636. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js +2 -0
  637. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +7 -0
  638. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +2 -0
  639. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +7 -0
  640. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +2 -0
  641. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +7 -0
  642. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/types.js +1 -0
  643. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/types.js.map +7 -0
  644. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  645. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  646. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  647. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  648. package/lib/esm/src/api/secure-channel/task/types.js +2 -0
  649. package/lib/esm/src/api/secure-channel/task/types.js.map +7 -0
  650. package/lib/esm/src/api/secure-channel/types.js +1 -0
  651. package/lib/esm/src/api/secure-channel/types.js.map +7 -0
  652. package/lib/esm/src/api/secure-channel/utils.js +2 -0
  653. package/lib/esm/src/api/secure-channel/utils.js.map +7 -0
  654. package/lib/esm/src/api/secure-channel/utils.test.js +2 -0
  655. package/lib/esm/src/api/secure-channel/utils.test.js.map +7 -0
  656. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  657. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  658. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  659. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  660. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  661. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  662. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js +2 -0
  663. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.test.js.map +7 -0
  664. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  665. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  666. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  667. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  668. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +1 -1
  669. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +3 -3
  670. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  671. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  672. package/lib/esm/src/api/utils/AppName.js +2 -0
  673. package/lib/esm/src/api/utils/AppName.js.map +7 -0
  674. package/lib/esm/src/api/utils/AppName.test.js +2 -0
  675. package/lib/esm/src/api/utils/AppName.test.js.map +7 -0
  676. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  677. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  678. package/lib/esm/src/api/utils/HexaString.js +1 -1
  679. package/lib/esm/src/api/utils/HexaString.js.map +3 -3
  680. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  681. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  682. package/lib/esm/src/di.js +1 -1
  683. package/lib/esm/src/di.js.map +3 -3
  684. package/lib/esm/src/di.stub.js +1 -1
  685. package/lib/esm/src/di.stub.js.map +2 -2
  686. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  687. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  688. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  689. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  690. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  691. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  692. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  693. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  694. package/lib/esm/src/internal/config/di/configModule.js +1 -1
  695. package/lib/esm/src/internal/config/di/configModule.js.map +3 -3
  696. package/lib/esm/src/internal/config/di/configModule.test.js +1 -1
  697. package/lib/esm/src/internal/config/di/configModule.test.js.map +2 -2
  698. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  699. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  700. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  701. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  702. package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
  703. package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +3 -3
  704. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  705. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  706. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +1 -1
  707. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  708. package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js +1 -1
  709. package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +3 -3
  710. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  711. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  712. package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js +1 -1
  713. package/lib/esm/src/internal/device-session/di/deviceSessionModule.test.js.map +2 -2
  714. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  715. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  716. package/lib/esm/src/internal/device-session/model/DevicePinger.js +2 -0
  717. package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +7 -0
  718. package/lib/esm/src/internal/device-session/model/DevicePinger.test.js +2 -0
  719. package/lib/esm/src/internal/device-session/model/DevicePinger.test.js.map +7 -0
  720. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  721. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  722. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  723. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  724. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js +2 -0
  725. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +7 -0
  726. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +2 -0
  727. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +7 -0
  728. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  729. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  730. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  731. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +3 -3
  732. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +2 -0
  733. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +7 -0
  734. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +2 -0
  735. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +7 -0
  736. package/lib/esm/src/internal/device-session/model/Frame.js +1 -1
  737. package/lib/esm/src/internal/device-session/model/Frame.js.map +3 -3
  738. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  739. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +2 -2
  740. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  741. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  742. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  743. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  744. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  745. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  746. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  747. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  748. package/lib/esm/src/internal/device-session/service/MutexService.js +2 -0
  749. package/lib/esm/src/internal/device-session/service/MutexService.js.map +7 -0
  750. package/lib/esm/src/internal/device-session/service/MutexService.test.js +2 -0
  751. package/lib/esm/src/internal/device-session/service/MutexService.test.js.map +7 -0
  752. package/lib/esm/src/internal/device-session/service/RefresherService.js +2 -0
  753. package/lib/esm/src/internal/device-session/service/RefresherService.js.map +7 -0
  754. package/lib/esm/src/internal/device-session/service/RefresherService.test.js +2 -0
  755. package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  756. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  757. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  758. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  759. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  760. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  761. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  762. package/lib/esm/src/internal/device-session/utils/deviceSessionUtils.js +2 -0
  763. package/lib/esm/src/internal/device-session/utils/deviceSessionUtils.js.map +7 -0
  764. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  765. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  766. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  767. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  768. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  769. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  770. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  771. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  772. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  773. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  774. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  775. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  776. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  777. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  778. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  779. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  780. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  781. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  782. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  783. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  784. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  785. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +3 -3
  786. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  787. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  788. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  789. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  790. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  791. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  792. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  793. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  794. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  795. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  796. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js +1 -1
  797. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +3 -3
  798. package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js +1 -1
  799. package/lib/esm/src/internal/logger-publisher/di/loggerModule.test.js.map +2 -2
  800. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  801. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  802. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  803. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  804. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  805. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  806. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  807. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  808. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  809. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  810. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  811. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  812. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  813. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  814. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  815. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  816. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  817. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  818. package/lib/esm/src/internal/manager-api/model/Application.js +1 -1
  819. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  820. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  821. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  822. package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
  823. package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
  824. package/lib/esm/src/internal/manager-api/model/Language.js +1 -0
  825. package/lib/esm/src/internal/manager-api/model/Language.js.map +7 -0
  826. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  827. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  828. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  829. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  830. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  831. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  832. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  833. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  834. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  835. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  836. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  837. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  838. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  839. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  840. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  841. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  842. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  843. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  844. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  845. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  846. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  847. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  848. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  849. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  850. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  851. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  852. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  853. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  854. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  855. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  856. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  857. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  858. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  859. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  860. package/lib/esm/src/internal/send/di/sendModule.js +1 -1
  861. package/lib/esm/src/internal/send/di/sendModule.js.map +3 -3
  862. package/lib/esm/src/internal/send/di/sendModule.test.js +1 -1
  863. package/lib/esm/src/internal/send/di/sendModule.test.js.map +2 -2
  864. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +1 -1
  865. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  866. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  867. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  868. package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
  869. package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
  870. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  871. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  872. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  873. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  874. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  875. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  876. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  877. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  878. package/lib/types/src/api/DeviceManagementKit.d.ts +30 -10
  879. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  880. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  881. package/lib/types/src/api/DmkConfig.d.ts +2 -0
  882. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  883. package/lib/types/src/api/apdu/utils/ApduBuilder.d.ts.map +1 -1
  884. package/lib/types/src/api/apdu/utils/ApduParser.d.ts.map +1 -1
  885. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +66 -0
  886. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
  887. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +1 -0
  888. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
  889. package/lib/types/src/api/command/Errors.d.ts +5 -0
  890. package/lib/types/src/api/command/Errors.d.ts.map +1 -1
  891. package/lib/types/src/api/command/di/commandModule.d.ts.map +1 -1
  892. package/lib/types/src/api/command/model/CommandResult.d.ts +3 -3
  893. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  894. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts +16 -0
  895. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts.map +1 -0
  896. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts +2 -0
  897. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts.map +1 -0
  898. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +38 -4
  899. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  900. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +24 -0
  901. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -0
  902. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts +2 -0
  903. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts.map +1 -0
  904. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  905. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  906. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  907. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  908. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts +43 -0
  909. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts.map +1 -0
  910. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts +2 -0
  911. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts.map +1 -0
  912. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  913. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +5 -1
  914. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  915. package/lib/types/src/api/command/utils/CommandErrors.d.ts.map +1 -1
  916. package/lib/types/src/api/command/utils/CommandUtils.d.ts +4 -0
  917. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  918. package/lib/types/src/api/command/utils/GlobalCommandError.d.ts +1 -1
  919. package/lib/types/src/api/command/utils/GlobalCommandError.d.ts.map +1 -1
  920. package/lib/types/src/api/device/DeviceModel.d.ts +2 -1
  921. package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
  922. package/lib/types/src/api/device/SecureElementFlags.d.ts +41 -0
  923. package/lib/types/src/api/device/SecureElementFlags.d.ts.map +1 -0
  924. package/lib/types/src/api/device-action/DeviceAction.d.ts +9 -1
  925. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  926. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  927. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  928. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +9 -0
  929. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  930. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  931. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  932. package/lib/types/src/api/device-action/di/deviceActionModule.d.ts.map +1 -1
  933. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +5 -2
  934. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts.map +1 -1
  935. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  936. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  937. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  938. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  939. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  940. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  941. package/lib/types/src/api/device-action/os/Errors.d.ts +20 -0
  942. package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
  943. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts +58 -0
  944. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -0
  945. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts +2 -0
  946. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts.map +1 -0
  947. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +28 -0
  948. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -0
  949. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +1 -1
  950. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  951. package/lib/types/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.d.ts.map +1 -1
  952. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts +3 -4
  953. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
  954. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts +40 -0
  955. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -0
  956. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts +2 -0
  957. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts.map +1 -0
  958. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +65 -0
  959. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -0
  960. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  961. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  962. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  963. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +0 -1
  964. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  965. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts +15 -0
  966. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -0
  967. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts +2 -0
  968. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts.map +1 -0
  969. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +24 -0
  970. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -0
  971. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  972. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -1
  973. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  974. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts +30 -0
  975. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts.map +1 -0
  976. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts +2 -0
  977. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts.map +1 -0
  978. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +31 -0
  979. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -0
  980. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts +2 -0
  981. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts.map +1 -0
  982. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +18 -0
  983. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -0
  984. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts +2 -0
  985. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts.map +1 -0
  986. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts +21 -0
  987. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -0
  988. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts +2 -0
  989. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts.map +1 -0
  990. package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts +1 -0
  991. package/lib/types/src/api/device-action/xstate-utils/XStateDeviceAction.d.ts.map +1 -1
  992. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -1
  993. package/lib/types/src/api/device-model/model/DeviceModel.d.ts +2 -0
  994. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -1
  995. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -1
  996. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +97 -0
  997. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  998. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -1
  999. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -1
  1000. package/lib/types/src/api/device-session/use-case/{ToggleDeviceSessionRefresher.d.ts → DisableDeviceSessionRefresher.d.ts} +6 -6
  1001. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.d.ts.map +1 -0
  1002. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts +2 -0
  1003. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts.map +1 -0
  1004. package/lib/types/src/api/index.d.ts +12 -1
  1005. package/lib/types/src/api/index.d.ts.map +1 -1
  1006. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
  1007. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
  1008. package/lib/types/src/api/secure-channel/constants.d.ts +2 -0
  1009. package/lib/types/src/api/secure-channel/constants.d.ts.map +1 -0
  1010. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts +8 -0
  1011. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -0
  1012. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +2 -0
  1013. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts.map +1 -0
  1014. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +49 -0
  1015. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -0
  1016. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts +8 -0
  1017. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -0
  1018. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts +2 -0
  1019. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts.map +1 -0
  1020. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +45 -0
  1021. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -0
  1022. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts +8 -0
  1023. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -0
  1024. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts +2 -0
  1025. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts.map +1 -0
  1026. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +58 -0
  1027. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -0
  1028. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts +8 -0
  1029. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -0
  1030. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts +2 -0
  1031. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts.map +1 -0
  1032. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +42 -0
  1033. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -0
  1034. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +26 -0
  1035. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -0
  1036. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts +2 -0
  1037. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts.map +1 -0
  1038. package/lib/types/src/api/secure-channel/task/types.d.ts +110 -0
  1039. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -0
  1040. package/lib/types/src/api/secure-channel/types.d.ts +4 -0
  1041. package/lib/types/src/api/secure-channel/types.d.ts.map +1 -0
  1042. package/lib/types/src/api/secure-channel/utils.d.ts +19 -0
  1043. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -0
  1044. package/lib/types/src/api/secure-channel/utils.test.d.ts +2 -0
  1045. package/lib/types/src/api/secure-channel/utils.test.d.ts.map +1 -0
  1046. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  1047. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  1048. package/lib/types/src/api/transport/model/DeviceConnection.d.ts +2 -1
  1049. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
  1050. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
  1051. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
  1052. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +63 -0
  1053. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  1054. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts +2 -0
  1055. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.test.d.ts.map +1 -0
  1056. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  1057. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  1058. package/lib/types/src/api/transport/model/Errors.d.ts +27 -3
  1059. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  1060. package/lib/types/src/api/transport/model/Transport.d.ts +2 -2
  1061. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  1062. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  1063. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  1064. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
  1065. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  1066. package/lib/types/src/api/types.d.ts +10 -2
  1067. package/lib/types/src/api/types.d.ts.map +1 -1
  1068. package/lib/types/src/api/utils/AppName.d.ts +2 -0
  1069. package/lib/types/src/api/utils/AppName.d.ts.map +1 -0
  1070. package/lib/types/src/api/utils/AppName.test.d.ts +2 -0
  1071. package/lib/types/src/api/utils/AppName.test.d.ts.map +1 -0
  1072. package/lib/types/src/api/utils/HexaString.d.ts +4 -3
  1073. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  1074. package/lib/types/src/di.d.ts.map +1 -1
  1075. package/lib/types/src/di.stub.d.ts +1 -1
  1076. package/lib/types/src/di.stub.d.ts.map +1 -1
  1077. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  1078. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  1079. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  1080. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  1081. package/lib/types/src/internal/config/di/configModule.d.ts.map +1 -1
  1082. package/lib/types/src/internal/device-model/di/deviceModelModule.d.ts.map +1 -1
  1083. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts +1 -0
  1084. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts.map +1 -1
  1085. package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts +6 -1
  1086. package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts.map +1 -1
  1087. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  1088. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -1
  1089. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +18 -0
  1090. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -0
  1091. package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts +2 -0
  1092. package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts.map +1 -0
  1093. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +30 -12
  1094. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  1095. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +3 -2
  1096. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  1097. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts +35 -0
  1098. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts.map +1 -0
  1099. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts +2 -0
  1100. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts.map +1 -0
  1101. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +17 -79
  1102. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  1103. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts +20 -0
  1104. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -0
  1105. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts +2 -0
  1106. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts.map +1 -0
  1107. package/lib/types/src/internal/device-session/model/Frame.d.ts.map +1 -1
  1108. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts.map +1 -1
  1109. package/lib/types/src/internal/device-session/service/MutexService.d.ts +6 -0
  1110. package/lib/types/src/internal/device-session/service/MutexService.d.ts.map +1 -0
  1111. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts +2 -0
  1112. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts.map +1 -0
  1113. package/lib/types/src/internal/device-session/service/RefresherService.d.ts +15 -0
  1114. package/lib/types/src/internal/device-session/service/RefresherService.d.ts.map +1 -0
  1115. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts +2 -0
  1116. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts.map +1 -0
  1117. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +3 -1
  1118. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  1119. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts +3 -0
  1120. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts.map +1 -0
  1121. package/lib/types/src/internal/discovery/di/discoveryModule.d.ts.map +1 -1
  1122. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -1
  1123. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  1124. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +11 -2
  1125. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  1126. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +24 -0
  1127. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -0
  1128. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts +2 -0
  1129. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts.map +1 -0
  1130. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +1 -1
  1131. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -1
  1132. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
  1133. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  1134. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +4 -2
  1135. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  1136. package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
  1137. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
  1138. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
  1139. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +29 -18
  1140. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  1141. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +46 -40
  1142. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  1143. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +106 -17
  1144. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  1145. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +11 -9
  1146. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  1147. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  1148. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  1149. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  1150. package/lib/types/src/internal/manager-api/model/Application.d.ts +14 -11
  1151. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  1152. package/lib/types/src/internal/manager-api/model/Const.d.ts +2 -1
  1153. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  1154. package/lib/types/src/internal/manager-api/model/Errors.d.ts +0 -6
  1155. package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
  1156. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +18 -0
  1157. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  1158. package/lib/types/src/internal/manager-api/model/Language.d.ts +12 -0
  1159. package/lib/types/src/internal/manager-api/model/Language.d.ts.map +1 -0
  1160. package/lib/types/src/internal/manager-api/model/Params.d.ts +33 -62
  1161. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  1162. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +13 -7
  1163. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  1164. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +71 -5
  1165. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  1166. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +13 -0
  1167. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
  1168. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
  1169. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
  1170. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  1171. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  1172. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  1173. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  1174. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  1175. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  1176. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  1177. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  1178. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  1179. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  1180. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  1181. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  1182. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  1183. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  1184. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  1185. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  1186. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +34 -0
  1187. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  1188. package/lib/types/src/internal/secure-channel/model/Params.d.ts +84 -0
  1189. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  1190. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +21 -0
  1191. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  1192. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  1193. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  1194. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +56 -0
  1195. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  1196. package/lib/types/src/internal/send/di/sendModule.d.ts.map +1 -1
  1197. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +9 -1
  1198. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  1199. package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
  1200. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  1201. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  1202. package/lib/types/src/internal/transport/service/TransportService.d.ts +3 -1
  1203. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  1204. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +7 -6
  1205. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  1206. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  1207. package/package.json +25 -25
  1208. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  1209. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  1210. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  1211. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  1212. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  1213. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  1214. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  1215. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  1216. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  1217. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  1218. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  1219. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  1220. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  1221. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  1222. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  1223. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  1224. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +0 -1
  1225. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +0 -2
  1226. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +0 -1
  1227. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +0 -13
  1228. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +0 -1
  1229. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts +0 -2
  1230. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var N=(a,t)=>{for(var i in t)l(a,i,{get:t[i],enumerable:!0})},I=(a,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of f(t))!x.call(a,r)&&r!==i&&l(a,r,{get:()=>t[r],enumerable:!(o=C(t,r))||o.enumerable});return a};var k=a=>I(l({},"__esModule",{value:!0}),a);var b={};N(b,{OpenAppDeviceAction:()=>M});module.exports=k(b);var u=require("purify-ts"),n=require("xstate"),A=require("../../../command/model/CommandResult"),S=require("../../../command/os/CloseAppCommand"),m=require("../../../command/os/OpenAppCommand"),c=require("../../../device-action/model/UserInteractionRequired"),D=require("../../../device-action/os/Const"),y=require("../../../device-action/os/Errors"),g=require("../../../device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction"),O=require("../../../device-action/xstate-utils/XStateDeviceAction"),d=require("../../../device-session/DeviceSessionState");class M extends O.XStateDeviceAction{makeStateMachine(t){const{closeApp:i,openApp:o,getDeviceSessionState:r,isDeviceOnboarded:v,setDeviceSessionState:h}=this.extractDependencies(t),E=this.input.unlockTimeout??D.DEFAULT_UNLOCK_TIMEOUT_MS,R=new g.GetDeviceStatusDeviceAction({input:{unlockTimeout:E}}).makeStateMachine(t);return(0,n.setup)({types:{input:{},context:{},output:{}},actors:{closeApp:(0,n.fromPromise)(i),openApp:(0,n.fromPromise)(o),getDeviceStatus:R},guards:{isDeviceOnboarded:()=>v(),isRequestedAppOpen:({context:e})=>{if(e._internalState.currentlyRunningApp===null)throw new Error("context.currentlyRunningApp === null");return e._internalState.currentlyRunningApp===e.input.appName||e.input.compatibleAppNames!==void 0&&e.input.compatibleAppNames.includes(e._internalState.currentlyRunningApp)},isDashboardOpen:({context:e})=>{if(e._internalState.currentlyRunningApp===null)throw new Error("context.currentlyRunningApp === null");return e._internalState.currentlyRunningApp==="BOLOS"},hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorDeviceNotOnboarded:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:new y.DeviceNotOnboardedError})}),assignUserActionNeededOpenApp:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.UserInteractionRequired.ConfirmOpenApp})}),assignNoUserActionNeeded:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.UserInteractionRequired.None})}),assignErrorFromEvent:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})}),assignNoError:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:null})})}}).createMachine({id:"OpenAppDeviceAction",initial:"DeviceReady",context:({input:e})=>{const p=r(),{sessionStateType:s}=p;return{input:e,intermediateValue:{requiredUserInteraction:c.UserInteractionRequired.None},_internalState:{error:null,currentlyRunningApp:s===d.DeviceSessionStateType.ReadyWithoutSecureChannel?p.currentApp.name:null}}},states:{DeviceReady:{always:{target:"OnboardingCheck"}},OnboardingCheck:{always:[{target:"GetDeviceStatus",guard:{type:"isDeviceOnboarded"}},{target:"Error",actions:"assignErrorDeviceNotOnboarded"}]},GetDeviceStatus:{invoke:{id:"deviceStatus",src:"getDeviceStatus",input:e=>({unlockTimeout:e.context.input.unlockTimeout}),onSnapshot:{actions:(0,n.assign)({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{target:"CheckDeviceStatus",actions:(0,n.assign)({_internalState:e=>e.event.output.caseOf({Right:p=>{const s=r();return s.sessionStateType!==d.DeviceSessionStateType.Connected&&h({...s,currentApp:{name:p.currentApp,version:p.currentAppVersion}}),{...e.context._internalState,currentlyRunningApp:p.currentApp}},Left:p=>({...e.context._internalState,error:p})})})}}},CheckDeviceStatus:{always:[{target:"Error",guard:"hasError"},{target:"ApplicationReady",guard:"isRequestedAppOpen"},{target:"DashboardCheck"}]},DashboardCheck:{always:[{target:"OpenApplication",guard:"isDashboardOpen"},"CloseApplication"]},OpenApplication:{entry:"assignUserActionNeededOpenApp",exit:"assignNoUserActionNeeded",invoke:{src:"openApp",input:({context:e})=>({appName:e.input.appName}),onDone:{target:"OpenApplicationResultCheck",actions:(0,n.assign)({_internalState:e=>(0,A.isSuccessCommandResult)(e.event.output)?{...e.context._internalState,currentlyRunningApp:e.context.input.appName}:{...e.context._internalState,error:e.event.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},OpenApplicationResultCheck:{always:[{target:"Error",guard:"hasError"},{target:"GetDeviceStatus"}]},CloseApplication:{invoke:{src:"closeApp",onDone:{target:"CloseApplicationResultCheck",actions:(0,n.assign)({_internalState:e=>(0,A.isSuccessCommandResult)(e.event.output)?{...e.context._internalState,currentlyRunningApp:"BOLOS"}:{...e.context._internalState,error:e.event.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},CloseApplicationResultCheck:{always:[{target:"Error",guard:"hasError"},{target:"OpenApplication"}]},ApplicationCheck:{always:[{target:"ApplicationReady",guard:"isRequestedAppOpen"},"DashboardCheck"]},ApplicationReady:{always:"Success"},Success:{type:"final",actions:"assignNoError"},Error:{type:"final"}},output:({context:e})=>e._internalState.error?(0,u.Left)(e._internalState.error):(0,u.Right)(void 0)})}extractDependencies(t){return{closeApp:async()=>t.sendCommand(new S.CloseAppCommand),openApp:async r=>t.sendCommand(new m.OpenAppCommand({appName:r.input.appName})),getDeviceSessionState:()=>t.getDeviceSessionState(),setDeviceSessionState:r=>t.setDeviceSessionState(r),isDeviceOnboarded:()=>!0}}}0&&(module.exports={OpenAppDeviceAction});
1
+ "use strict";var l=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var k=(a,t)=>{for(var i in t)l(a,i,{get:t[i],enumerable:!0})},_=(a,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of N(t))!I.call(a,r)&&r!==i&&l(a,r,{get:()=>t[r],enumerable:!(o=x(t,r))||o.enumerable});return a};var M=a=>_(l({},"__esModule",{value:!0}),a);var V={};k(V,{OpenAppDeviceAction:()=>b});module.exports=M(V);var u=require("purify-ts"),n=require("xstate"),A=require("../../../command/model/CommandResult"),S=require("../../../command/os/CloseAppCommand"),m=require("../../../command/os/OpenAppCommand"),c=require("../../../device-action/model/UserInteractionRequired"),D=require("../../../device-action/os/Const"),g=require("../../../device-action/os/Errors"),y=require("../../../device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction"),O=require("../../../device-action/xstate-utils/XStateDeviceAction"),d=require("../../../device-session/DeviceSessionState"),v=require("../../../transport/model/Errors"),h=require("../../../utils/AppName");class b extends O.XStateDeviceAction{makeStateMachine(t){const{closeApp:i,openApp:o,getDeviceSessionState:r,isDeviceOnboarded:E,setDeviceSessionState:f}=this.extractDependencies(t),R=this.input.unlockTimeout??D.DEFAULT_UNLOCK_TIMEOUT_MS,C=new y.GetDeviceStatusDeviceAction({input:{unlockTimeout:R}}).makeStateMachine(t);return(0,n.setup)({types:{input:{},context:{},output:{}},actors:{closeApp:(0,n.fromPromise)(i),openApp:(0,n.fromPromise)(o),getDeviceStatus:C},guards:{isDeviceOnboarded:()=>E(),isRequestedAppOpen:({context:e})=>e._internalState.currentlyRunningApp===null?!1:e._internalState.currentlyRunningApp===e.input.appName,isDashboardOpen:({context:e})=>{if(e._internalState.currentlyRunningApp===null)throw new Error("context.currentlyRunningApp === null");return(0,h.isDashboardName)(e._internalState.currentlyRunningApp)},hasDisconnectedWhileSending:({context:e})=>e._internalState.error!==null&&e._internalState.error instanceof v.DeviceDisconnectedWhileSendingError,hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorDeviceNotOnboarded:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:new g.DeviceNotOnboardedError})}),assignUserActionNeededOpenApp:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.UserInteractionRequired.ConfirmOpenApp})}),assignNoUserActionNeeded:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:c.UserInteractionRequired.None})}),assignErrorFromEvent:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})}),assignNoError:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:null})})}}).createMachine({id:"OpenAppDeviceAction",initial:"DeviceReady",context:({input:e})=>{const p=r(),{sessionStateType:s}=p;return{input:e,intermediateValue:{requiredUserInteraction:c.UserInteractionRequired.None},_internalState:{error:null,currentlyRunningApp:s===d.DeviceSessionStateType.ReadyWithoutSecureChannel?p.currentApp.name:null}}},states:{DeviceReady:{always:{target:"OnboardingCheck"}},OnboardingCheck:{always:[{target:"GetDeviceStatus",guard:{type:"isDeviceOnboarded"}},{target:"Error",actions:"assignErrorDeviceNotOnboarded"}]},GetDeviceStatus:{invoke:{id:"deviceStatus",src:"getDeviceStatus",input:e=>({unlockTimeout:e.context.input.unlockTimeout}),onSnapshot:{actions:(0,n.assign)({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{target:"CheckDeviceStatus",actions:(0,n.assign)({_internalState:e=>e.event.output.caseOf({Right:p=>{const s=r();return s.sessionStateType!==d.DeviceSessionStateType.Connected&&f({...s,currentApp:{name:p.currentApp,version:p.currentAppVersion}}),{...e.context._internalState,currentlyRunningApp:p.currentApp}},Left:p=>({...e.context._internalState,currentlyRunningApp:null,error:p})})})},onError:{target:"Error",actions:[(0,n.assign)({_internalState:e=>({...e.context._internalState,currentlyRunningApp:null})}),"assignErrorFromEvent"]}}},CheckDeviceStatus:{always:[{target:"ApplicationReady",guard:"isRequestedAppOpen",actions:"assignNoError"},{target:"Error",guard:"hasError"},{target:"DashboardCheck"}]},DashboardCheck:{always:[{target:"OpenApplication",guard:"isDashboardOpen"},"CloseApplication"]},OpenApplication:{entry:"assignUserActionNeededOpenApp",exit:"assignNoUserActionNeeded",invoke:{src:"openApp",input:({context:e})=>({appName:e.input.appName}),onDone:{target:"OpenApplicationResultCheck",actions:(0,n.assign)({_internalState:e=>(0,A.isSuccessCommandResult)(e.event.output)?{...e.context._internalState,currentlyRunningApp:e.context.input.appName}:{...e.context._internalState,error:e.event.output.error}})},onError:{target:"OpenApplicationResultCheck",actions:"assignErrorFromEvent"}}},OpenApplicationResultCheck:{always:[{target:"GetDeviceStatus",guard:"hasDisconnectedWhileSending"},{target:"Error",guard:"hasError"},{target:"GetDeviceStatus"}]},CloseApplication:{invoke:{src:"closeApp",onDone:{target:"CloseApplicationResultCheck",actions:(0,n.assign)({_internalState:e=>(0,A.isSuccessCommandResult)(e.event.output)?{...e.context._internalState,currentlyRunningApp:"BOLOS"}:{...e.context._internalState,error:e.event.output.error}})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},CloseApplicationResultCheck:{always:[{target:"Error",guard:"hasError"},{target:"OpenApplication"}]},ApplicationReady:{always:"Success"},Success:{type:"final",actions:"assignNoError"},Error:{type:"final"}},output:({context:e})=>e._internalState.error?(0,u.Left)(e._internalState.error):(0,u.Right)(void 0)})}extractDependencies(t){return{closeApp:async()=>t.sendCommand(new S.CloseAppCommand),openApp:async r=>t.sendCommand(new m.OpenAppCommand({appName:r.input.appName})),getDeviceSessionState:()=>t.getDeviceSessionState(),setDeviceSessionState:r=>t.setDeviceSessionState(r),isDeviceOnboarded:()=>!0}}}0&&(module.exports={OpenAppDeviceAction});
2
2
  //# sourceMappingURL=OpenAppDeviceAction.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n CloseAppCommand,\n type CloseAppCommandResult,\n} from \"@api/command/os/CloseAppCommand\";\nimport {\n OpenAppCommand,\n type OpenAppCommandResult,\n} from \"@api/command/os/OpenAppCommand\";\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 { DeviceNotOnboardedError } from \"@api/device-action/os/Errors\";\nimport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\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\";\n\nimport {\n type OpenAppDAError,\n type OpenAppDAInput,\n type OpenAppDAIntermediateValue,\n type OpenAppDAOutput,\n} from \"./types\";\n\ntype OpenAppStateMachineInternalState = {\n readonly currentlyRunningApp: string | null;\n readonly error: OpenAppDAError | null;\n};\n\nexport type MachineDependencies = {\n readonly closeApp: () => Promise<CloseAppCommandResult>;\n readonly openApp: (arg0: {\n input: { appName: string };\n }) => Promise<OpenAppCommandResult>;\n readonly getDeviceSessionState: () => DeviceSessionState;\n readonly setDeviceSessionState: (state: DeviceSessionState) => void;\n readonly isDeviceOnboarded: () => boolean;\n};\n\nexport type ExtractMachineDependencies = (\n internalApi: InternalApi,\n) => MachineDependencies;\n\n/**\n * Opens a given app on the device.\n *\n * It checks if the device is onboarded, unlocked, and which app is currently open.\n * If the current app is the dashboard, it will directly open the requested app.\n * If another app is opened, it will close the current app and open the requested app.\n *\n * Example of usage:\n *\n * ```ts\n * const deviceAction = new OpenAppDeviceAction({\n * input: {\n * appName: \"MyApp\",\n * },\n * });\n * dmk.executeDeviceAction({ sessionId: \"mySessionId\", deviceAction });\n * ```\n */\nexport class OpenAppDeviceAction extends XStateDeviceAction<\n OpenAppDAOutput,\n OpenAppDAInput,\n OpenAppDAError,\n OpenAppDAIntermediateValue,\n OpenAppStateMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n OpenAppDAOutput,\n OpenAppDAInput,\n OpenAppDAError,\n OpenAppDAIntermediateValue,\n OpenAppStateMachineInternalState\n > {\n type types = StateMachineTypes<\n OpenAppDAOutput,\n OpenAppDAInput,\n OpenAppDAError,\n OpenAppDAIntermediateValue,\n OpenAppStateMachineInternalState\n >;\n\n const {\n closeApp,\n openApp,\n getDeviceSessionState,\n isDeviceOnboarded,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const getDeviceStatusMachine = new GetDeviceStatusDeviceAction({\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 closeApp: fromPromise(closeApp),\n openApp: fromPromise(openApp),\n getDeviceStatus: getDeviceStatusMachine,\n },\n guards: {\n isDeviceOnboarded: () => isDeviceOnboarded(), // TODO: we don't have this info for now, this can be derived from the \"flags\" obtained in the getVersion command\n isRequestedAppOpen: ({ context }: { context: types[\"context\"] }) => {\n if (context._internalState.currentlyRunningApp === null)\n throw new Error(\"context.currentlyRunningApp === null\");\n return (\n context._internalState.currentlyRunningApp ===\n context.input.appName ||\n (context.input.compatibleAppNames !== undefined &&\n context.input.compatibleAppNames.includes(\n context._internalState.currentlyRunningApp,\n ))\n );\n },\n isDashboardOpen: ({ context }: { context: types[\"context\"] }) => {\n if (context._internalState.currentlyRunningApp === null)\n throw new Error(\"context.currentlyRunningApp === null\");\n return context._internalState.currentlyRunningApp === \"BOLOS\";\n },\n hasError: ({ context }) => context._internalState.error !== null,\n },\n actions: {\n assignErrorDeviceNotOnboarded: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: new DeviceNotOnboardedError(),\n }),\n }),\n assignUserActionNeededOpenApp: assign({\n intermediateValue: (_) =>\n ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n }) satisfies types[\"context\"][\"intermediateValue\"],\n }),\n assignNoUserActionNeeded: assign({\n intermediateValue: (_) =>\n ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }) satisfies types[\"context\"][\"intermediateValue\"],\n }),\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // FIXME: add a typeguard\n }),\n }),\n assignNoError: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: null,\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QHkAOYB2BBVqAiYAbgJYDGYWpALsQPYYB0BJ5ASmAIYQCeAxANoAGALqJQqWrGI16YkAA9EARhWCGADgAsAZm1b1SwUoDspgDQhuiAEzX1DbQE5tJlQDYlm414CsAXz8LNEwcfCIyCmo6RmQMACNaDgAnCGIMKABhAAswUgBrARE5CSkZDDlFBCUPbQYfZx91H0FtTRNjCysEbWM1bTdHAzcfH2q9awCg9GxcZgjKMoZYhOTU9Ozcgv4lUSQQEuloiuUauoamlrbzSxtBNTu7pW1BEe1rJUmQYJmwlkjFgAytHyaUyOXyhV24kkh1ke0q7w8DDcxmqjkM1l6Kh8nUQzR8DEEjjcz3UxKUjiMbk+31Cc3IC2iDCBIPW4K2O2KMLKxwQiKUyNRAwxWKUOJu3TaDFsw28bkExmsgnU-Rp0zp4QZUXoDFCABsyBwylhCBxiHqOHE9WBeBB6GAGGlCLQ8g7abNNf8mfrDcbTebLdaEE7gUbokJhBGuaUjvCbCSCdZNI5UQqhg1cQhNOprAxND4XP0xZTHI01SEPX9GTqfaQw-QTWaLVabWAkklaEkGKgLVQAGadgC2S3Vlfm2sYtfr2H9zaDIbrZQjUb2Bx5cb5CelydTxnT2nFXTcmjUBYTzlazkcE0CX1Hv3HiynfqbgbA7FgAFc9VQNhCV9CMZwqAlQuAWZwHiqbStI0mY+PmdRKNYxLZmKgjvDeUwVg+WpPrgBqLtEjYBi2H7fr+7ICJyq7crGIGIK0LwME8dzJuizzNNYmZeLmAysZ4Ph2KYmiaOWPz0l6Nb4b60R-lsRQ0UB5Qbq0pgMM4FJ8dYx4KpomaOJo6k9G4yHvEhBmYmJGpVhOurSYR9ByVRUL7LRwEKAxYq1PUkGtE8+ZaJmBh1A8hieMh17vFZY64UyeAcLAWQrCkTkAa5Sm8tY-TIkmlJvFojjXuocHysiegvB4JJ6P4t7ujhkmMPFiXJRAqXUYBsLKfRfLZSZyYtHYbF2JmQoaMeIweEmJjHtF9XVowGR6pIFD2dOtr2o6GDOq6I7YRJ80MIty3PtEwZbaGS4iGla50R5CBVYSJkFncbzGC4mYoo4zHlfUCo+KieizfttlHbAK09jJ9C8G2HZdj2RoDkkw51cDiyg+DBHTmdzoORgy4KR167dQ9ghPc8A1vUomZIQqeZksmTw9JoJlA56B3oyd9BkT+qUE+lnW8iohgaDoeioUYpgdBKQu5sz8rEgYxjwaJtX3qjTIc6tZTcxRmzOdGAsbqoagmM8Yr-aTTyOCNpXWAW-TGIMfmO6zNmLHVmNlOtGAOiGO0o2ztke5DGDYxd4ZXXzN3uZU1RPBBjTNM7UtdAWxjqQZ6gqv0LyO9oruPkywe49D7adt2vaI8jauB+796e6dC7TvjLnR11d1x955xJ1cKeIAZ6dGEJqJKk4qqq3ttdF-XIc67zrdue3CLVG4gqZyMpbGG4bhBeoq9b-mB7jaTZYT+JU86sX05z5R2wLxlG78oKYpNKW16mx9x6EkhWdGKTSvXgLrFKSENcbsC4Hwa6i9eQHgQgmCkIlBjKmcEFUY24ejaSTMeCkHxPgYFoBAOAcgA5u1um3XkABaHeEoKEEkKvQwQJ4XjKl6ErIBDUmCenATwA2RM7rknUm4FUhV-oiTJFTCUth05j0xJVFUTxt7sIOssRIKRQRyV4bdWOTNkTqDekqAwbxNDIUzFIhwzhZHVHkf0akZ9rKFx1CyPI6j2SaJjsoUsBIBimB8MMeUZJqFdH6PYDwKYBjwQaEYpRtlOYzlfC2NxS8bB6HsM4RUIwiSH0VNxAy6lkL1EEjTYUtisLn1ISAhuDZZxvhvpsRJmVX51FJFlZ4-Qk5wUYcxR2BTTIGUKtEvCoDpwaMUobbqugUzIg8PmEwIiTJ9yqAMaUW90IngCaIgZcUEpJVUa1Vxoy+GVGMbvZiuVf5IM8CoTZOpNZDL4eQjcIlDLIRRH5FhoxDyIGFMiASe8IoFlGNchaS0waxNqfkepG4tACiMGeQw6IiQeBGncMaMycxEl8eoIFu0fiVPbg87qSE3q6MVBpehPQ4K6G+uoZUJIVB7laNiq+2s4DkRGYTLRygs6GSQtmO4iIaWljgvUBgip-K5RErofOdiYocLBZwHhBzOWSkKqKz6Lw3i6U+QgPchlTB7xTPBeCWVHDYoAMqflIOQWA8AlXuO6KMQylImipgMi4BZzhDIKkpM0FEypRimplXNWyABRMuSRIXjNaKvHQ3h0Q0reCYT+3khGNEKgqIRxgAgBCAA */\n id: \"OpenAppDeviceAction\",\n initial: \"DeviceReady\",\n context: ({ input }) => {\n const sessionState = getDeviceSessionState();\n const { sessionStateType } = sessionState;\n return {\n input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n currentlyRunningApp:\n sessionStateType ===\n DeviceSessionStateType.ReadyWithoutSecureChannel\n ? sessionState.currentApp.name\n : null,\n },\n };\n },\n states: {\n DeviceReady: {\n // check device capabilities & status known\n always: {\n target: \"OnboardingCheck\",\n },\n },\n\n OnboardingCheck: {\n // check onboarding status provided by device session\n always: [\n {\n target: \"GetDeviceStatus\",\n guard: {\n type: \"isDeviceOnboarded\",\n },\n },\n {\n target: \"Error\",\n actions: \"assignErrorDeviceNotOnboarded\",\n },\n ],\n },\n\n GetDeviceStatus: {\n // We run the GetDeviceStatus flow to get information about the device state\n invoke: {\n id: \"deviceStatus\",\n src: \"getDeviceStatus\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n target: \"CheckDeviceStatus\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<OpenAppStateMachineInternalState>(\n {\n Right: (output) => {\n const state: DeviceSessionState =\n getDeviceSessionState();\n\n if (\n state.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...state,\n currentApp: {\n name: output.currentApp,\n version: output.currentAppVersion,\n },\n });\n }\n return {\n ..._.context._internalState,\n currentlyRunningApp: output.currentApp,\n };\n },\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n );\n },\n }),\n },\n // NOTE: The way we handle our DeviceActions means that we should never as we return an Either\n // onError: {\n // target: \"Error\",\n // actions: \"assignGetDeviceStatusUnknownError\",\n // },\n },\n },\n CheckDeviceStatus: {\n // We check the device status to see if we can have an error\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"ApplicationReady\",\n guard: \"isRequestedAppOpen\",\n },\n {\n target: \"DashboardCheck\",\n },\n ],\n },\n\n DashboardCheck: {\n // Is the current application the dashboard\n always: [\n {\n target: \"OpenApplication\",\n guard: \"isDashboardOpen\",\n },\n \"CloseApplication\",\n ],\n },\n\n OpenApplication: {\n // execute openApp command,\n entry: \"assignUserActionNeededOpenApp\",\n exit: \"assignNoUserActionNeeded\",\n invoke: {\n src: \"openApp\",\n input: ({ context }) => ({ appName: context.input.appName }),\n onDone: {\n target: \"OpenApplicationResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n return {\n ..._.context._internalState,\n currentlyRunningApp: _.context.input.appName,\n };\n } else {\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n\n OpenApplicationResultCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"GetDeviceStatus\" },\n ],\n },\n\n CloseApplication: {\n invoke: {\n src: \"closeApp\",\n onDone: {\n target: \"CloseApplicationResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n return {\n ..._.context._internalState,\n currentlyRunningApp: \"BOLOS\",\n };\n } else {\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n CloseApplicationResultCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"OpenApplication\" },\n ],\n },\n\n ApplicationCheck: {\n // Is the current application the requested one\n always: [\n {\n target: \"ApplicationReady\",\n guard: \"isRequestedAppOpen\",\n },\n \"DashboardCheck\",\n ],\n },\n\n ApplicationReady: {\n // application is ready to be used\n always: \"Success\",\n },\n\n // success state\n Success: {\n type: \"final\",\n actions: \"assignNoError\", // TODO, we should not need this\n },\n\n // error state\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.error // TODO: instead we should rely on the current state (\"Success\" or \"Error\")\n ? Left(context._internalState.error)\n : Right(undefined),\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const closeApp = async () => internalApi.sendCommand(new CloseAppCommand());\n const openApp = async (arg0: { input: { appName: string } }) =>\n internalApi.sendCommand(\n new OpenAppCommand({ appName: arg0.input.appName }),\n );\n\n return {\n closeApp,\n openApp,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state: DeviceSessionState) =>\n internalApi.setDeviceSessionState(state),\n isDeviceOnboarded: () => true, // TODO: we don't have this info for now, this can be derived from the \"flags\" obtained in the getVersion command\n };\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["OpenAppDeviceAction_exports", "__export", "OpenAppDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_CloseAppCommand", "import_OpenAppCommand", "import_UserInteractionRequired", "import_Const", "import_Errors", "import_GetDeviceStatusDeviceAction", "import_XStateDeviceAction", "import_DeviceSessionState", "internalApi", "closeApp", "openApp", "getDeviceSessionState", "isDeviceOnboarded", "setDeviceSessionState", "unlockTimeout", "getDeviceStatusMachine", "context", "_", "input", "sessionState", "sessionStateType", "output", "state", "error", "arg0"]
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n CloseAppCommand,\n type CloseAppCommandResult,\n} from \"@api/command/os/CloseAppCommand\";\nimport {\n OpenAppCommand,\n type OpenAppCommandResult,\n} from \"@api/command/os/OpenAppCommand\";\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 { DeviceNotOnboardedError } from \"@api/device-action/os/Errors\";\nimport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\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 { DeviceDisconnectedWhileSendingError } from \"@api/transport/model/Errors\";\nimport { isDashboardName } from \"@api/utils/AppName\";\n\nimport {\n type OpenAppDAError,\n type OpenAppDAInput,\n type OpenAppDAIntermediateValue,\n type OpenAppDAOutput,\n} from \"./types\";\n\ntype OpenAppStateMachineInternalState = {\n readonly currentlyRunningApp: string | null;\n readonly error: OpenAppDAError | null;\n};\n\nexport type MachineDependencies = {\n readonly closeApp: () => Promise<CloseAppCommandResult>;\n readonly openApp: (arg0: {\n input: { appName: string };\n }) => Promise<OpenAppCommandResult>;\n readonly getDeviceSessionState: () => DeviceSessionState;\n readonly setDeviceSessionState: (state: DeviceSessionState) => void;\n readonly isDeviceOnboarded: () => boolean;\n};\n\nexport type ExtractMachineDependencies = (\n internalApi: InternalApi,\n) => MachineDependencies;\n\n/**\n * Opens a given app on the device.\n *\n * It checks if the device is onboarded, unlocked, and which app is currently open.\n * If the current app is the dashboard, it will directly open the requested app.\n * If another app is opened, it will close the current app and open the requested app.\n *\n * Example of usage:\n *\n * ```ts\n * const deviceAction = new OpenAppDeviceAction({\n * input: {\n * appName: \"MyApp\",\n * },\n * });\n * dmk.executeDeviceAction({ sessionId: \"mySessionId\", deviceAction });\n * ```\n */\nexport class OpenAppDeviceAction extends XStateDeviceAction<\n OpenAppDAOutput,\n OpenAppDAInput,\n OpenAppDAError,\n OpenAppDAIntermediateValue,\n OpenAppStateMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n OpenAppDAOutput,\n OpenAppDAInput,\n OpenAppDAError,\n OpenAppDAIntermediateValue,\n OpenAppStateMachineInternalState\n > {\n type types = StateMachineTypes<\n OpenAppDAOutput,\n OpenAppDAInput,\n OpenAppDAError,\n OpenAppDAIntermediateValue,\n OpenAppStateMachineInternalState\n >;\n\n const {\n closeApp,\n openApp,\n getDeviceSessionState,\n isDeviceOnboarded,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const getDeviceStatusMachine = new GetDeviceStatusDeviceAction({\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 closeApp: fromPromise(closeApp),\n openApp: fromPromise(openApp),\n getDeviceStatus: getDeviceStatusMachine,\n },\n guards: {\n isDeviceOnboarded: () => isDeviceOnboarded(), // TODO: we don't have this info for now, this can be derived from the \"flags\" obtained in the getVersion command\n isRequestedAppOpen: ({ context }: { context: types[\"context\"] }) => {\n if (context._internalState.currentlyRunningApp === null) return false;\n return (\n context._internalState.currentlyRunningApp === context.input.appName\n );\n },\n isDashboardOpen: ({ context }: { context: types[\"context\"] }) => {\n if (context._internalState.currentlyRunningApp === null)\n throw new Error(\"context.currentlyRunningApp === null\");\n return isDashboardName(context._internalState.currentlyRunningApp);\n },\n hasDisconnectedWhileSending: ({ context }) =>\n context._internalState.error !== null &&\n context._internalState.error instanceof\n DeviceDisconnectedWhileSendingError,\n hasError: ({ context }) => context._internalState.error !== null,\n },\n actions: {\n assignErrorDeviceNotOnboarded: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: new DeviceNotOnboardedError(),\n }),\n }),\n assignUserActionNeededOpenApp: assign({\n intermediateValue: (_) =>\n ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n }) satisfies types[\"context\"][\"intermediateValue\"],\n }),\n assignNoUserActionNeeded: assign({\n intermediateValue: (_) =>\n ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }) satisfies types[\"context\"][\"intermediateValue\"],\n }),\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // FIXME: add a typeguard\n }),\n }),\n assignNoError: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: null,\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QHkAOYB2BBVqAiYAbgJYDGYWpALsQPYYB0BJ5ASmAIYQCeAxANoAGALqJQqWrGI16YkAA9EARhWCGADgAsAZm1b1SwUoDspgDQhuiAEzX1DbQE5tJlQDYlm414CsAXz8LNEwcfCIyCmo6RmQMACNaDgAnCGIMKABhAAswUgBrARE5CSkZDDlFBCUPbQYfZx91H0FtTRNjCysEbWM1bTdHAzcfH2q9awCg9GxcZgjKMoZYhOTU9Ozcgv4lUSQQEuloiuUauoamlrbzSxtBNTu7pW1BEe1rJUmQYJmwlkjFgAytHyaUyOXyhV24kkh1ke0q7w8DDcxmqjkM1l6Kh8nUQzR8DEEjjcz3UxKUjiMbk+31Cc3IC2iDCBIPW4K2O2KMLKxwQiKUyNRAwxWKUOJu3TaDFsw28bkExmsgnU-Rp0zp4QZUXoDFCABsyBwylhCBxiHqOHE9WBeBB6GAGGlCLQ8g7abNNf8mfrDcbTebLdaEE7gUbokJhBGuaUjvCbCSCdZNI5UQqhg1cQhNOprAxND4XP0xZTHI01SEPX9GTqfaQw-QTWaLVabWAkklaEkGKgLVQAGadgC2S3Vlfm2sYtfr2H9zaDIbrZQjUb2Bx5cb5CelydTxnT2nFXTcmjUBYTzlazkcE0CX1Hv3HiynfqbgbA7FgAFc9VQNhCV9CMZwqAlQuAWZwHiqbStI0mY+PmdRKNYxLZmKgjvDeUwVg+WpPrgBqLtEjYBi2H7fr+7ICJyq7crGIGIK0LwME8dzJuizzNNYmZeLmAysZ4Ph2KYmiaOWPz0l6Nb4b60R-lsRQ0UB5Qbq0pgMM4FJ8dYx4KpomaOJo6k9G4yHvEhBmYmJGpVhOurSYR9ByVRUL7LRwEKAxYq1PUkGtE8+ZaJmBh1A8hieMh17vFZY64UyeAcLAWQrCkTkAa5Sm8tY-TIkmlJvFojjXuocHysiegvB4JJ6P4t7ujhkmMPFiXJRAqXUYBsLKfRfLZSZyYtHYbF2JmQoaMeIweEmJjHtF9XVowGR6pIFD2dOtr2o6GDOq6I7YRJ80MIty3PtEwZbaGS4iGla50R5CBVYSJkFncbzGC4mYoo4zHlfUCo+KieizfttlHbAK09jJ9C8G2HZdj2RoDkkw51cDiyg+DBHTmdzoORgy4KR167dQ9ghPc8A1vUomZIQqeZksmTw9JoJlA56B3oyd9BkT+qUE+lnW8iohgaDoeioUYpgdBKQu5sz8rEgYxjwaJtX3qjTIc6tZTcxRmzOdGAsbqoagmM8Yr-aTTyOCNpXWAW-TGIMfmO6zNmLHVmNlOtGAOiGO0o2ztke5DGDYxd4ZXXzN3uZU1RPBBjTNM7UtdAWxjqQZ6gqv0LyO9oruPkywe49D7adt2vaI8jauB+796e6dC7TvjLnR11d1x955xJ1cKeIAZ6dGEJqJKk4qqq3ttdF-XIc67zrdue3CLVG4gqZyMpbGG4bhBeoq9b-mB7jaTZYT+JU86sX05z5R2wLxlG78oKYpNKW16mx9x6EkhWdGKTSvXgLrFKSENcbsC4Hwa6i9eQHgQgmCkIlBjKmcEFUY24ejaSTMeCkHxPgYFoBAOAcgA5u1um3XkABaHeEoKEEkKvQwQJ4XjKl6ErIBDUmCenATwA2RM7rknUm4FUhV-oiTJFTCUth05j0xJVFUTxt7sIOssRIKRQRyV4bdWOTNkTqDekqAwbxNDIUzFIhwzhZHVHkf0akZ9rKFx1CyPI6j2SaJjsoUsBIBimB8MMeUZJqFdH6PYDwKYBjwQaEYpRtlOYzlfC2NxS8bB6HsM4RUIwiSH0VNxAy6lkL1EEjTYUtisLn1ISAhuDZZxvhvpsRJmVX51FJFlZ4-Qk5wUYcxR2BTTIGUKtEvCoDpwaMUobbqugUzIg8PmEwIiTJ9yqAMaUW90IngCaIgZcUEpJVUa1Vxoy+GVGMbvZiuVf5IM8CoTZOpNZDL4eQjcIlDLIRRH5FhoxDyIGFMiASe8IoFlGNchaS0waxNqfkepG4tACiMGeQw6IiQeBGncMaMycxEl8eoIFu0fiVPbg87qSE3q6MVBpehPQ4K6G+uoZUJIVB7laNiq+2s4DkRGYTLRygs6GSQtmO4iIaWljgvUBgip-K5RErofOdiYocLBZwHhBzOWSkKqKz6Lw3i6U+QgPchlTB7xTPBeCWVHDYoAMqflIOQWA8AlXuO6KMQylImipgMi4BZzhDIKkpM0FEypRimplXNWyABRMuSRIXjNaKvHQ3h0Q0reCYT+3khGNEKgqIRxgAgBCAA */\n id: \"OpenAppDeviceAction\",\n initial: \"DeviceReady\",\n context: ({ input }) => {\n const sessionState = getDeviceSessionState();\n const { sessionStateType } = sessionState;\n return {\n input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n currentlyRunningApp:\n sessionStateType ===\n DeviceSessionStateType.ReadyWithoutSecureChannel\n ? sessionState.currentApp.name\n : null,\n },\n };\n },\n states: {\n DeviceReady: {\n // check device capabilities & status known\n always: {\n target: \"OnboardingCheck\",\n },\n },\n\n OnboardingCheck: {\n // check onboarding status provided by device session\n always: [\n {\n target: \"GetDeviceStatus\",\n guard: {\n type: \"isDeviceOnboarded\",\n },\n },\n {\n target: \"Error\",\n actions: \"assignErrorDeviceNotOnboarded\",\n },\n ],\n },\n\n GetDeviceStatus: {\n // We run the GetDeviceStatus flow to get information about the device state\n invoke: {\n id: \"deviceStatus\",\n src: \"getDeviceStatus\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n target: \"CheckDeviceStatus\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<OpenAppStateMachineInternalState>(\n {\n Right: (output) => {\n const state: DeviceSessionState =\n getDeviceSessionState();\n\n if (\n state.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...state,\n currentApp: {\n name: output.currentApp,\n version: output.currentAppVersion,\n },\n });\n }\n return {\n ..._.context._internalState,\n currentlyRunningApp: output.currentApp,\n };\n },\n Left: (error) => ({\n ..._.context._internalState,\n currentlyRunningApp: null,\n error,\n }),\n },\n );\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: [\n assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n currentlyRunningApp: null,\n }),\n }),\n \"assignErrorFromEvent\",\n ],\n },\n },\n },\n CheckDeviceStatus: {\n // We check the device status to see if we can have an error\n always: [\n {\n target: \"ApplicationReady\",\n guard: \"isRequestedAppOpen\",\n // If target app is currently opened, we can ignore errors\n actions: \"assignNoError\",\n },\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"DashboardCheck\",\n },\n ],\n },\n\n DashboardCheck: {\n // Is the current application the dashboard\n always: [\n {\n target: \"OpenApplication\",\n guard: \"isDashboardOpen\",\n },\n \"CloseApplication\",\n ],\n },\n\n OpenApplication: {\n // execute openApp command,\n entry: \"assignUserActionNeededOpenApp\",\n exit: \"assignNoUserActionNeeded\",\n invoke: {\n src: \"openApp\",\n input: ({ context }) => ({ appName: context.input.appName }),\n onDone: {\n target: \"OpenApplicationResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n return {\n ..._.context._internalState,\n currentlyRunningApp: _.context.input.appName,\n };\n } else {\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n }\n },\n }),\n },\n onError: {\n target: \"OpenApplicationResultCheck\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n\n OpenApplicationResultCheck: {\n always: [\n {\n // When an APDU triggers a disconnection, some transports may possibly\n // be closed on device side before the APDU response could be received,\n // especially on BLE transports.\n // Therefore when a disconnection occurs while sending, we should verify\n // the device status because it may have been successfully executed.\n target: \"GetDeviceStatus\",\n guard: \"hasDisconnectedWhileSending\",\n },\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"GetDeviceStatus\" },\n ],\n },\n\n CloseApplication: {\n invoke: {\n src: \"closeApp\",\n onDone: {\n target: \"CloseApplicationResultCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n return {\n ..._.context._internalState,\n currentlyRunningApp: \"BOLOS\",\n };\n } else {\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n }\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n CloseApplicationResultCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"OpenApplication\" },\n ],\n },\n\n ApplicationReady: {\n // application is ready to be used\n always: \"Success\",\n },\n\n // success state\n Success: {\n type: \"final\",\n actions: \"assignNoError\", // TODO, we should not need this\n },\n\n // error state\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.error // TODO: instead we should rely on the current state (\"Success\" or \"Error\")\n ? Left(context._internalState.error)\n : Right(undefined),\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n const closeApp = async () => internalApi.sendCommand(new CloseAppCommand());\n const openApp = async (arg0: { input: { appName: string } }) =>\n internalApi.sendCommand(\n new OpenAppCommand({ appName: arg0.input.appName }),\n );\n\n return {\n closeApp,\n openApp,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state: DeviceSessionState) =>\n internalApi.setDeviceSessionState(state),\n isDeviceOnboarded: () => true, // TODO: we don't have this info for now, this can be derived from the \"flags\" obtained in the getVersion command\n };\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["OpenAppDeviceAction_exports", "__export", "OpenAppDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_CloseAppCommand", "import_OpenAppCommand", "import_UserInteractionRequired", "import_Const", "import_Errors", "import_GetDeviceStatusDeviceAction", "import_XStateDeviceAction", "import_DeviceSessionState", "import_AppName", "internalApi", "closeApp", "openApp", "getDeviceSessionState", "isDeviceOnboarded", "setDeviceSessionState", "unlockTimeout", "getDeviceStatusMachine", "context", "_", "input", "sessionState", "sessionStateType", "output", "state", "error", "arg0"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var k=require("rxjs"),S=require("../../../command/Errors"),A=require("../../../command/model/CommandResult"),y=require("../../../device/DeviceModel"),o=require("../../../device/DeviceStatus"),s=require("../../../device-action/__test-utils__/makeInternalApi"),d=require("../../../device-action/__test-utils__/setupTestMachine"),p=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),n=require("../../../device-action/model/UserInteractionRequired"),l=require("../../../device-action/os/Errors"),a=require("../../../device-session/DeviceSessionState"),c=require("./OpenAppDeviceAction");jest.mock("@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction");describe("OpenAppDeviceAction",()=>{const O=jest.fn(),V=jest.fn(),v=jest.fn(),u=jest.fn(),N=jest.fn(),h=jest.fn();function m(){return{getDeviceSessionState:u,setDeviceSessionState:N,getAppAndVersion:O,openApp:V,closeApp:v,isDeviceOnboarded:h}}const{getDeviceSessionState:C}=(0,s.makeDeviceActionInternalApiMock)();beforeEach(()=>{jest.resetAllMocks(),h.mockReturnValue(!0)}),describe("without overriding `extractDependencies`",()=>{it("should end if the required application is opened",r=>{C.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"},installedApps:[],deviceModelId:y.DeviceModelId.NANO_X}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}}),i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)})}),describe("success cases",()=>{it("should end in a success if the app is already opened",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin",unlockTimeout:void 0}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in a success if a compatible app is already opened",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin Testnet",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin Testnet",currentAppVersion:"1.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin",unlockTimeout:void 0,compatibleAppNames:["Bitcoin Testnet"]}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in a success if the dashboard is open and open app succeeds",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),V.mockResolvedValue((0,A.CommandResultFactory)({data:void 0}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:D}=(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r);(0,k.lastValueFrom)(D).then(()=>{expect(N).toHaveBeenCalledWith({deviceStatus:o.DeviceStatus.CONNECTED,sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,currentApp:{name:"Bitcoin",version:"1.0.0"}})})}),it("should end in a success if another app is open, close app succeeds and open app succeeds",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),v.mockResolvedValue((0,A.CommandResultFactory)({data:void 0})),V.mockResolvedValue((0,A.CommandResultFactory)({data:void 0}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:D}=(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r);(0,k.lastValueFrom)(D).then(()=>{expect(N).toHaveBeenCalledWith({currentApp:{name:"Bitcoin",version:"1.0.0"},deviceStatus:o.DeviceStatus.CONNECTED,sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel})})})}),describe("errors cases",()=>{it("should end in an error if the device is not onboarded",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),h.mockReturnValue(!1);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{error:new l.DeviceNotOnboardedError,status:e.DeviceActionStatus.Error}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if the device is locked",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.LOCKED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([new l.DeviceLockedError]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new l.DeviceLockedError}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if getAppAndVersion returns an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([new S.InvalidStatusWordError("mocked error")]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if the dashboard is open and open app returns an error",r=>{u.mockReturnValue((0,A.CommandResultFactory)({data:{sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),O.mockResolvedValue((0,A.CommandResultFactory)({data:{name:"BOLOS",version:"0.0.0"}})),(0,d.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),V.mockResolvedValue((0,A.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if another app is open, and close app returns an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),v.mockResolvedValue((0,A.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if another app is open, close app succeeds but open app returns an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),v.mockResolvedValue((0,A.CommandResultFactory)({data:void 0})),V.mockResolvedValue((0,A.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if getAppAndVersion actor throws an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([new l.UnknownDAError("Unknown error")]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new l.UnknownDAError("Unknown error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if openApp actor throws an error",r=>{u.mockReturnValue((0,A.CommandResultFactory)({data:{sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,d.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),V.mockImplementation(()=>{throw new l.UnknownDAError("Unknown error")});const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new l.UnknownDAError("Unknown error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if closeApp actor throws an error",r=>{u.mockReturnValue((0,A.CommandResultFactory)({data:{sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,d.setupGetDeviceStatusMock)([{currentApp:"anApp",currentAppVersion:"0.0.0"}]),v.mockImplementation(()=>{throw new l.UnknownDAError("Unknown error")});const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new l.UnknownDAError("Unknown error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)})}),it("should emit a stopped state if the action is cancelled",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Stopped}],{cancel:D}=(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r);D()})});
1
+ "use strict";var C=require("rxjs"),S=require("../../../command/Errors"),m=require("../../../command/model/CommandResult"),E=require("../../../device/DeviceModel"),a=require("../../../device/DeviceStatus"),p=require("../../../device-action/__test-utils__/makeInternalApi"),A=require("../../../device-action/__test-utils__/setupTestMachine"),c=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),n=require("../../../device-action/model/UserInteractionRequired"),v=require("../../../device-action/os/Errors"),s=require("../../../device-session/DeviceSessionState"),h=require("../../../transport/model/Errors"),u=require("./OpenAppDeviceAction");vi.mock("@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction");describe("OpenAppDeviceAction",()=>{const O=vi.fn(),D=vi.fn(),V=vi.fn(),d=vi.fn(),k=vi.fn(),y=vi.fn();function l(){return{getDeviceSessionState:d,setDeviceSessionState:k,getAppAndVersion:O,openApp:D,closeApp:V,isDeviceOnboarded:y}}const{getDeviceSessionState:w}=(0,p.makeDeviceActionInternalApiMock)();beforeEach(()=>{vi.resetAllMocks(),y.mockReturnValue(!0)}),describe("without overriding `extractDependencies`",()=>{it("should end if the required application is opened",()=>new Promise((r,o)=>{w.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"},installedApps:[],deviceModelId:E.DeviceModelId.NANO_X,isSecureConnectionAllowed:!1}),(0,A.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}}),i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})}))}),describe("success cases",()=>{it("should end in a success if the app is already opened",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"}}),(0,A.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin",unlockTimeout:void 0}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in a success if the dashboard is open and open app succeeds",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}),(0,A.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),D.mockResolvedValue((0,m.CommandResultFactory)({data:void 0}));const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:N}=(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o});(0,C.lastValueFrom)(N).then(()=>{expect(k).toHaveBeenCalledWith({deviceStatus:a.DeviceStatus.CONNECTED,sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,currentApp:{name:"Bitcoin",version:"1.0.0"}})})})),it("should end in a success if disconnection occurs while open app succeeds",()=>new Promise((r,o)=>{d.mockReturnValue((0,m.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),O.mockResolvedValue((0,m.CommandResultFactory)({data:{name:"BOLOS",version:"0.0.0"}})),(0,A.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]),D.mockRejectedValue(new h.DeviceDisconnectedWhileSendingError);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in a success if another app is open, close app succeeds and open app succeeds",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,A.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),V.mockResolvedValue((0,m.CommandResultFactory)({data:void 0})),D.mockResolvedValue((0,m.CommandResultFactory)({data:void 0}));const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:N}=(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o});(0,C.lastValueFrom)(N).then(()=>{expect(k).toHaveBeenCalledWith({currentApp:{name:"Bitcoin",version:"1.0.0"},deviceStatus:a.DeviceStatus.CONNECTED,sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel})})}))}),describe("errors cases",()=>{it("should end in an error if the device is not onboarded",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),y.mockReturnValue(!1);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{error:new v.DeviceNotOnboardedError,status:e.DeviceActionStatus.Error}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if the device is locked",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.LOCKED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,A.setupGetDeviceStatusMock)([new v.DeviceLockedError]);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new v.DeviceLockedError}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if getAppAndVersion returns an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,A.setupGetDeviceStatusMock)([new S.InvalidStatusWordError("mocked error")]);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if the dashboard is open and open app returns an error",()=>new Promise((r,o)=>{d.mockReturnValue((0,m.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),O.mockResolvedValue((0,m.CommandResultFactory)({data:{name:"BOLOS",version:"0.0.0"}})),(0,A.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),D.mockResolvedValue((0,m.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in a success if disconnection occurs while open app failed",()=>new Promise((r,o)=>{d.mockReturnValue((0,m.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),O.mockResolvedValue((0,m.CommandResultFactory)({data:{name:"BOLOS",version:"0.0.0"}})),(0,A.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"},{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),D.mockRejectedValue(new h.DeviceDisconnectedWhileSendingError);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new h.DeviceDisconnectedWhileSendingError}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if another app is open, and close app returns an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,A.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),V.mockResolvedValue((0,m.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if another app is open, close app succeeds but open app returns an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,A.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),V.mockResolvedValue((0,m.CommandResultFactory)({data:void 0})),D.mockResolvedValue((0,m.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if getAppAndVersion actor throws an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,A.setupGetDeviceStatusMock)([new v.UnknownDAError("Unknown error")]);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new v.UnknownDAError("Unknown error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if openApp actor throws an error",()=>new Promise((r,o)=>{d.mockReturnValue((0,m.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,A.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),D.mockImplementation(()=>{throw new v.UnknownDAError("Unknown error")});const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new v.UnknownDAError("Unknown error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if closeApp actor throws an error",()=>new Promise((r,o)=>{d.mockReturnValue((0,m.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,A.setupGetDeviceStatusMock)([{currentApp:"anApp",currentAppVersion:"0.0.0"}]),V.mockImplementation(()=>{throw new v.UnknownDAError("Unknown error")});const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new v.UnknownDAError("Unknown error")}];(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should emit a stopped state if the action is cancelled",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,A.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]);const t=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(t,"extractDependencies").mockReturnValue(l());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Stopped}],{cancel:N}=(0,c.testDeviceActionStates)(t,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o});N()}))})});
2
2
  //# sourceMappingURL=OpenAppDeviceAction.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.ts"],
4
- "sourcesContent": ["import { lastValueFrom } from \"rxjs\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceStatusMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeviceLockedError,\n DeviceNotOnboardedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\n\nimport { OpenAppDeviceAction } from \"./OpenAppDeviceAction\";\nimport type { OpenAppDAState } from \"./types\";\n\njest.mock(\"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\");\n\ndescribe(\"OpenAppDeviceAction\", () => {\n const getAppAndVersionMock = jest.fn();\n const openAppMock = jest.fn();\n const closeAppMock = jest.fn();\n const getDeviceSessionStateMock = jest.fn();\n const setDeviceSessionStateMock = jest.fn();\n const isDeviceOnboardedMock = jest.fn();\n\n function extractDependenciesMock() {\n return {\n getDeviceSessionState: getDeviceSessionStateMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n getAppAndVersion: getAppAndVersionMock,\n openApp: openAppMock,\n closeApp: closeAppMock,\n isDeviceOnboarded: isDeviceOnboardedMock,\n };\n }\n\n const { getDeviceSessionState: apiGetDeviceSessionStateMock } =\n makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n jest.resetAllMocks();\n isDeviceOnboardedMock.mockReturnValue(true);\n });\n\n describe(\"without overriding `extractDependencies`\", () => {\n it(\"should end if the required application is opened\", (done) => {\n apiGetDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n installedApps: [],\n deviceModelId: DeviceModelId.NANO_X,\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n\n describe(\"success cases\", () => {\n it(\"should end in a success if the app is already opened\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\", unlockTimeout: undefined },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in a success if a compatible app is already opened\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: {\n name: \"Bitcoin Testnet\",\n version: \"1.0.0\",\n },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin Testnet\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: {\n appName: \"Bitcoin\",\n unlockTimeout: undefined,\n compatibleAppNames: [\"Bitcoin Testnet\"],\n },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in a success if the dashboard is open and open app succeeds\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n\n openAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n });\n });\n\n it(\"should end in a success if another app is open, close app succeeds and open app succeeds\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n { currentApp: \"Bitcoin\", currentAppVersion: \"1.0.0\" },\n ]);\n closeAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n openAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n });\n });\n });\n });\n\n describe(\"errors cases\", () => {\n it(\"should end in an error if the device is not onboarded\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n isDeviceOnboardedMock.mockReturnValue(false);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n error: new DeviceNotOnboardedError(),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if the device is locked\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.LOCKED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new DeviceLockedError()]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if getAppAndVersion returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new InvalidStatusWordError(\"mocked error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if the dashboard is open and open app returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if another app is open, and close app returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if another app is open, close app succeeds but open app returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if getAppAndVersion actor throws an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new UnknownDAError(\"Unknown error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if openApp actor throws an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if closeApp actor throws an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"anApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n\n it(\"should emit a stopped state if the action is cancelled\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Stopped,\n },\n ];\n\n const { cancel } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n cancel();\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_rxjs", "import_Errors", "import_CommandResult", "import_DeviceModel", "import_DeviceStatus", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_DeviceSessionState", "import_OpenAppDeviceAction", "getAppAndVersionMock", "openAppMock", "closeAppMock", "getDeviceSessionStateMock", "setDeviceSessionStateMock", "isDeviceOnboardedMock", "extractDependenciesMock", "apiGetDeviceSessionStateMock", "done", "openAppDeviceAction", "expectedStates", "observable", "cancel"]
4
+ "sourcesContent": ["import { lastValueFrom } from \"rxjs\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceStatusMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeviceLockedError,\n DeviceNotOnboardedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { DeviceDisconnectedWhileSendingError } from \"@api/transport/model/Errors\";\n\nimport { OpenAppDeviceAction } from \"./OpenAppDeviceAction\";\nimport type { OpenAppDAError, OpenAppDAState } from \"./types\";\n\nvi.mock(\"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\");\n\ndescribe(\"OpenAppDeviceAction\", () => {\n const getAppAndVersionMock = vi.fn();\n const openAppMock = vi.fn();\n const closeAppMock = vi.fn();\n const getDeviceSessionStateMock = vi.fn();\n const setDeviceSessionStateMock = vi.fn();\n const isDeviceOnboardedMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n getDeviceSessionState: getDeviceSessionStateMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n getAppAndVersion: getAppAndVersionMock,\n openApp: openAppMock,\n closeApp: closeAppMock,\n isDeviceOnboarded: isDeviceOnboardedMock,\n };\n }\n\n const { getDeviceSessionState: apiGetDeviceSessionStateMock } =\n makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.resetAllMocks();\n isDeviceOnboardedMock.mockReturnValue(true);\n });\n\n describe(\"without overriding `extractDependencies`\", () => {\n it(\"should end if the required application is opened\", () =>\n new Promise<void>((resolve, reject) => {\n apiGetDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n installedApps: [],\n deviceModelId: DeviceModelId.NANO_X,\n isSecureConnectionAllowed: false,\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"success cases\", () => {\n it(\"should end in a success if the app is already opened\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\", unlockTimeout: undefined },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if the dashboard is open and open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n\n openAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n });\n }));\n\n it(\"should end in a success if disconnection occurs while open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockRejectedValue(\n new DeviceDisconnectedWhileSendingError(),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if another app is open, close app succeeds and open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n { currentApp: \"Bitcoin\", currentAppVersion: \"1.0.0\" },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n openAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n });\n });\n }));\n });\n\n describe(\"errors cases\", () => {\n it(\"should end in an error if the device is not onboarded\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n isDeviceOnboardedMock.mockReturnValue(false);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n error: new DeviceNotOnboardedError(),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the device is locked\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.LOCKED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new DeviceLockedError()]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if getAppAndVersion returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new InvalidStatusWordError(\"mocked error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the dashboard is open and open app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if disconnection occurs while open app failed\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockRejectedValue(\n new DeviceDisconnectedWhileSendingError(),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceDisconnectedWhileSendingError() as OpenAppDAError,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if another app is open, and close app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if another app is open, close app succeeds but open app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if getAppAndVersion actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new UnknownDAError(\"Unknown error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if openApp actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if closeApp actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"anApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should emit a stopped state if the action is cancelled\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Stopped,\n },\n ];\n\n const { cancel } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n cancel();\n }));\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_rxjs", "import_Errors", "import_CommandResult", "import_DeviceModel", "import_DeviceStatus", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_DeviceSessionState", "import_OpenAppDeviceAction", "getAppAndVersionMock", "openAppMock", "closeAppMock", "getDeviceSessionStateMock", "setDeviceSessionStateMock", "isDeviceOnboardedMock", "extractDependenciesMock", "apiGetDeviceSessionStateMock", "resolve", "reject", "openAppDeviceAction", "expectedStates", "observable", "cancel"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var d=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of A(e))!a.call(r,p)&&p!==n&&o(r,p,{get:()=>e[p],enumerable:!(t=i(e,p))||t.enumerable});return r};var D=r=>d(o({},"__esModule",{value:!0}),r);var c={};module.exports=D(c);
1
+ "use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var D=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of A(e))!a.call(r,p)&&p!==n&&o(r,p,{get:()=>e[p],enumerable:!(t=i(e,p))||t.enumerable});return r};var d=r=>D(o({},"__esModule",{value:!0}),r);var c={};module.exports=d(c);
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/OpenAppDeviceAction/types.ts"],
4
- "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type OpenAppErrorCodes } from \"@api/command/os/OpenAppCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeviceLockedError,\n type DeviceNotOnboardedError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { type GetDeviceStatusDAInput } from \"@api/device-action/os/GetDeviceStatus/types\";\n\nexport type OpenAppDAOutput = void;\n\nexport type OpenAppDAInput = GetDeviceStatusDAInput & {\n readonly appName: string;\n readonly compatibleAppNames?: string[];\n};\n\nexport type OpenAppDAError =\n | DeviceNotOnboardedError\n | DeviceLockedError\n | UnknownDAError\n | CommandErrorResult<OpenAppErrorCodes | void>[\"error\"];\n\nexport type OpenAppDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.ConfirmOpenApp;\n\nexport type OpenAppDAIntermediateValue = {\n requiredUserInteraction: OpenAppDARequiredInteraction;\n};\n\nexport type OpenAppDAState = DeviceActionState<\n OpenAppDAOutput,\n OpenAppDAError,\n OpenAppDAIntermediateValue\n>;\n"],
4
+ "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type OpenAppErrorCodes } from \"@api/command/os/OpenAppCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeviceLockedError,\n type DeviceNotOnboardedError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { type GetDeviceStatusDAInput } from \"@api/device-action/os/GetDeviceStatus/types\";\n\nexport type OpenAppDAOutput = void;\n\nexport type OpenAppDAInput = GetDeviceStatusDAInput & {\n readonly appName: string;\n};\n\nexport type OpenAppDAError =\n | DeviceNotOnboardedError\n | DeviceLockedError\n | UnknownDAError\n | CommandErrorResult<OpenAppErrorCodes | void>[\"error\"];\n\nexport type OpenAppDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.ConfirmOpenApp;\n\nexport type OpenAppDAIntermediateValue = {\n requiredUserInteraction: OpenAppDARequiredInteraction;\n};\n\nexport type OpenAppDAState = DeviceActionState<\n OpenAppDAOutput,\n OpenAppDAError,\n OpenAppDAIntermediateValue\n>;\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_exports", "__toCommonJS"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var l=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var g=(r,t)=>{for(var i in t)l(r,i,{get:t[i],enumerable:!0})},y=(r,t,i,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let p of x(t))!f.call(r,p)&&p!==i&&l(r,p,{get:()=>t[p],enumerable:!(c=I(t,p))||c.enumerable});return r};var E=r=>y(l({},"__esModule",{value:!0}),r);var k={};g(k,{OpenAppWithDependenciesDeviceAction:()=>W});module.exports=E(k);var s=require("purify-ts"),n=require("xstate"),o=require("../../../device-action/model/UserInteractionRequired"),d=require("../../../device-action/os/Const"),m=require("../../../device-action/os/Errors"),A=require("../../../device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction"),D=require("../../../device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction"),h=require("../../../device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),O=require("../../../device-action/xstate-utils/XStateDeviceAction");class W extends O.XStateDeviceAction{makeStateMachine(t){const i=this.input.unlockTimeout??d.DEFAULT_UNLOCK_TIMEOUT_MS,c=new A.GetDeviceMetadataDeviceAction({input:{unlockTimeout:i,useSecureChannel:!0,forceUpdate:!1}}).makeStateMachine(t),p=new D.InstallOrUpdateAppsDeviceAction({input:{unlockTimeout:i,applications:[...this.input.dependencies,this.input.application],allowMissingApplication:!1}}).makeStateMachine(t),v=new h.OpenAppDeviceAction({input:{unlockTimeout:i,appName:this.input.application.name}}).makeStateMachine(t);return(0,n.setup)({types:{input:{unlockTimeout:i},context:{},output:{}},actors:{getMetadata:c,installApps:p,openApp:v},guards:{hasError:({context:e})=>e._internalState.error!==null},actions:{assignErrorFromEvent:(0,n.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"OpenAppWithDependenciesDeviceAction",initial:"DeviceReady",context:e=>({input:{application:e.input.application,dependencies:e.input.dependencies,requireLatestFirmware:e.input.requireLatestFirmware,unlockTimeout:e.input.unlockTimeout},intermediateValue:{requiredUserInteraction:o.UserInteractionRequired.None,installPlan:null},_internalState:{error:null,deviceMetadata:null,installResult:null}}),states:{DeviceReady:{always:[{target:"GetDeviceMetadata"}]},GetDeviceMetadata:{exit:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:o.UserInteractionRequired.None})}),invoke:{id:"getMetadata",src:"getMetadata",input:e=>({unlockTimeout:e.context.input.unlockTimeout,useSecureChannel:!0,forceUpdate:!1}),onSnapshot:{actions:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:e.event.snapshot.context.intermediateValue.requiredUserInteraction})})},onDone:{target:"GetDeviceMetadataCheck",actions:(0,n.assign)({_internalState:e=>e.event.output.caseOf({Right:a=>e.context.input.requireLatestFirmware&&a.firmwareUpdateContext.availableUpdate!==void 0?{...e.context._internalState,error:new m.UnsupportedFirmwareDAError("Firmware is not the latest version")}:{...e.context._internalState,deviceMetadata:a},Left:a=>({...e.context._internalState,error:a})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetDeviceMetadataCheck:{always:[{target:"Error",guard:"hasError"},{target:"InstallDependencies"}]},InstallDependencies:{exit:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:o.UserInteractionRequired.None})}),invoke:{src:"installApps",input:e=>({unlockTimeout:e.context.input.unlockTimeout,applications:[...e.context.input.dependencies,e.context.input.application],allowMissingApplication:!1}),onSnapshot:{actions:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:e.event.snapshot.context.intermediateValue.requiredUserInteraction,installPlan:e.event.snapshot.context.intermediateValue.installPlan})})},onDone:{target:"InstallDependenciesCheck",actions:(0,n.assign)({_internalState:e=>e.event.output.caseOf({Right:a=>({...e.context._internalState,installResult:a}),Left:a=>({...e.context._internalState,error:a})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},InstallDependenciesCheck:{always:[{guard:"hasError",target:"Error"},{target:"OpenApp"}]},OpenApp:{exit:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:o.UserInteractionRequired.None})}),invoke:{src:"openApp",input:e=>({unlockTimeout:e.context.input.unlockTimeout,appName:e.context.input.application.name}),onSnapshot:{actions:(0,n.assign)({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:e.event.snapshot.context.intermediateValue.requiredUserInteraction,installPlan:null})})},onDone:{target:"OpenAppCheck",actions:(0,n.assign)({_internalState:e=>e.event.output.caseOf({Right:()=>e.context._internalState,Left:a=>({...e.context._internalState,error:a})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},OpenAppCheck:{always:[{guard:"hasError",target:"Error"},{target:"Success"}]},Success:{type:"final"},Error:{type:"final"}},output:e=>{const{context:a}=e,{error:u,deviceMetadata:M,installResult:S}=a._internalState;return u?(0,s.Left)(u):(0,s.Right)({deviceMetadata:M,installResult:S})}})}}0&&(module.exports={OpenAppWithDependenciesDeviceAction});
2
+ //# sourceMappingURL=OpenAppWithDependenciesDeviceAction.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.ts"],
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, setup } from \"xstate\";\n\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 { UnsupportedFirmwareDAError } from \"@api/device-action/os/Errors\";\nimport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nimport type { GetDeviceMetadataDAOutput } from \"@api/device-action/os/GetDeviceMetadata/types\";\nimport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nimport type { InstallOrUpdateAppsDAOutput } from \"@api/device-action/os/InstallOrUpdateApps/types\";\nimport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\n\nimport {\n type OpenAppWithDependenciesDAError,\n type OpenAppWithDependenciesDAInput,\n type OpenAppWithDependenciesDAIntermediateValue,\n type OpenAppWithDependenciesDAOutput,\n} from \"./types\";\n\ntype OpenAppWithDependenciesMachineInternalState = {\n readonly error: OpenAppWithDependenciesDAError | null;\n readonly deviceMetadata: GetDeviceMetadataDAOutput | null;\n readonly installResult: InstallOrUpdateAppsDAOutput | null;\n};\n\nexport class OpenAppWithDependenciesDeviceAction extends XStateDeviceAction<\n OpenAppWithDependenciesDAOutput,\n OpenAppWithDependenciesDAInput,\n OpenAppWithDependenciesDAError,\n OpenAppWithDependenciesDAIntermediateValue,\n OpenAppWithDependenciesMachineInternalState\n> {\n makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n OpenAppWithDependenciesDAOutput,\n OpenAppWithDependenciesDAInput,\n OpenAppWithDependenciesDAError,\n OpenAppWithDependenciesDAIntermediateValue,\n OpenAppWithDependenciesMachineInternalState\n > {\n type types = StateMachineTypes<\n OpenAppWithDependenciesDAOutput,\n OpenAppWithDependenciesDAInput,\n OpenAppWithDependenciesDAError,\n OpenAppWithDependenciesDAIntermediateValue,\n OpenAppWithDependenciesMachineInternalState\n >;\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const getMetadataMachine = new GetDeviceMetadataDeviceAction({\n input: {\n unlockTimeout,\n useSecureChannel: true,\n forceUpdate: false,\n },\n }).makeStateMachine(internalApi);\n\n const installAppsMachine = new InstallOrUpdateAppsDeviceAction({\n input: {\n unlockTimeout,\n applications: [...this.input.dependencies, this.input.application],\n allowMissingApplication: false,\n },\n }).makeStateMachine(internalApi);\n\n const openAppMachine = new OpenAppDeviceAction({\n input: {\n unlockTimeout,\n appName: this.input.application.name,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {\n unlockTimeout,\n } as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n getMetadata: getMetadataMachine,\n installApps: installAppsMachine,\n openApp: openAppMachine,\n },\n guards: {\n hasError: ({ context }) => context._internalState.error !== null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n id: \"OpenAppWithDependenciesDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n application: _.input.application,\n dependencies: _.input.dependencies,\n requireLatestFirmware: _.input.requireLatestFirmware,\n unlockTimeout: _.input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n installPlan: null,\n },\n _internalState: {\n error: null,\n deviceMetadata: null,\n installResult: null,\n },\n };\n },\n states: {\n DeviceReady: {\n always: [\n {\n target: \"GetDeviceMetadata\",\n },\n ],\n },\n GetDeviceMetadata: {\n exit: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n invoke: {\n id: \"getMetadata\",\n src: \"getMetadata\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n useSecureChannel: true,\n forceUpdate: false,\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: \"GetDeviceMetadataCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<OpenAppWithDependenciesMachineInternalState>(\n {\n Right: (data) => {\n if (\n _.context.input.requireLatestFirmware &&\n data.firmwareUpdateContext.availableUpdate !==\n undefined\n ) {\n return {\n ..._.context._internalState,\n error: new UnsupportedFirmwareDAError(\n \"Firmware is not the latest version\",\n ),\n };\n } else {\n return {\n ..._.context._internalState,\n deviceMetadata: data,\n };\n }\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 GetDeviceMetadataCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"InstallDependencies\",\n },\n ],\n },\n InstallDependencies: {\n exit: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n invoke: {\n src: \"installApps\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n applications: [\n ..._.context.input.dependencies,\n _.context.input.application,\n ],\n allowMissingApplication: false,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n installPlan:\n _.event.snapshot.context.intermediateValue.installPlan,\n }),\n }),\n },\n onDone: {\n target: \"InstallDependenciesCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<OpenAppWithDependenciesMachineInternalState>(\n {\n Right: (data) => ({\n ..._.context._internalState,\n installResult: data,\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 InstallDependenciesCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"OpenApp\",\n },\n ],\n },\n OpenApp: {\n exit: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n }),\n invoke: {\n src: \"openApp\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n appName: _.context.input.application.name,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n installPlan: null,\n }),\n }),\n },\n onDone: {\n target: \"OpenAppCheck\",\n actions: assign({\n _internalState: (_) =>\n _.event.output.caseOf<OpenAppWithDependenciesMachineInternalState>(\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 OpenAppCheck: {\n always: [\n {\n guard: \"hasError\",\n target: \"Error\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (args) => {\n const { context } = args;\n const { error, deviceMetadata, installResult } = context._internalState;\n if (error) {\n return Left(error);\n }\n return Right({\n deviceMetadata: deviceMetadata!,\n installResult: installResult!,\n });\n },\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["OpenAppWithDependenciesDeviceAction_exports", "__export", "OpenAppWithDependenciesDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_UserInteractionRequired", "import_Const", "import_Errors", "import_GetDeviceMetadataDeviceAction", "import_InstallOrUpdateAppsDeviceAction", "import_OpenAppDeviceAction", "import_XStateDeviceAction", "internalApi", "unlockTimeout", "getMetadataMachine", "installAppsMachine", "openAppMachine", "context", "_", "data", "error", "args", "deviceMetadata", "installResult"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var D=require("../../../device-action/__test-utils__/makeInternalApi"),n=require("../../../device-action/__test-utils__/setupTestMachine"),p=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),t=require("../../../device-action/model/UserInteractionRequired"),d=require("../../../device-action/os/Errors"),l=require("./OpenAppWithDependenciesDeviceAction");vi.mock("@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction");vi.mock("@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction");vi.mock("@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction");describe("OpenAppWithDependenciesDeviceAction",()=>{const c=(0,D.makeDeviceActionInternalApiMock)(),u={firmwareUpdateContext:{}},s={requiredUserInteraction:t.UserInteractionRequired.None,installPlan:{installPlan:[{versionName:"1inch"}],alreadyInstalled:["Ethereum","Uniswap"],missingApplications:[""],currentIndex:0,currentProgress:.5}},m={successfullyInstalled:[{versionName:"1inch"}],alreadyInstalled:["Ethereum","Uniswap"],missingApplications:[""]};beforeEach(()=>{vi.clearAllMocks()}),describe("success cases",()=>{it("Open app with dependencies",()=>new Promise((a,i)=>{(0,n.setupGetDeviceMetadataMock)(u),(0,n.setupInstallOrUpdateAppsMock)(m,s),(0,n.setupOpenAppMock)();const o=new l.OpenAppWithDependenciesDeviceAction({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),r=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:s,status:e.DeviceActionStatus.Pending},{intermediateValue:s,status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.ConfirmOpenApp,installPlan:null},status:e.DeviceActionStatus.Pending},{output:{deviceMetadata:u,installResult:m},status:e.DeviceActionStatus.Completed}];(0,p.testDeviceActionStates)(o,r,c,{onDone:a,onError:i})}))}),describe("error cases",()=>{it("Get device metadata error",()=>new Promise((a,i)=>{(0,n.setupGetDeviceMetadataMock)(u,!0);const o=new l.OpenAppWithDependenciesDeviceAction({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),r=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{error:new d.UnknownDAError("GetDeviceMetadata failed"),status:e.DeviceActionStatus.Error}];(0,p.testDeviceActionStates)(o,r,c,{onDone:a,onError:i})})),it("Unsupported firmware",()=>new Promise((a,i)=>{(0,n.setupGetDeviceMetadataMock)({firmwareUpdateContext:{availableUpdate:"mockUpdate"}});const r=new l.OpenAppWithDependenciesDeviceAction({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!0}}),A=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{error:new d.UnsupportedFirmwareDAError("Firmware is not the latest version"),status:e.DeviceActionStatus.Error}];(0,p.testDeviceActionStates)(r,A,c,{onDone:a,onError:i})})),it("Install apps error",()=>new Promise((a,i)=>{(0,n.setupGetDeviceMetadataMock)({firmwareUpdateContext:{availableUpdate:"mockUpdate"}}),(0,n.setupInstallOrUpdateAppsMock)(m,s,!0);const r=new l.OpenAppWithDependenciesDeviceAction({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),A=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:s,status:e.DeviceActionStatus.Pending},{error:new d.UnknownDAError("InstallOrUpdateApps failed"),status:e.DeviceActionStatus.Error}];(0,p.testDeviceActionStates)(r,A,c,{onDone:a,onError:i})})),it("Open app error",()=>new Promise((a,i)=>{(0,n.setupGetDeviceMetadataMock)(u),(0,n.setupInstallOrUpdateAppsMock)(m,s),(0,n.setupOpenAppMock)(!0);const o=new l.OpenAppWithDependenciesDeviceAction({input:{application:{name:"Ethereum"},dependencies:[{name:"Uniswap"},{name:"1inch"}],requireLatestFirmware:!1}}),r=[{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None,installPlan:null},status:e.DeviceActionStatus.Pending},{intermediateValue:s,status:e.DeviceActionStatus.Pending},{intermediateValue:s,status:e.DeviceActionStatus.Pending},{intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.ConfirmOpenApp,installPlan:null},status:e.DeviceActionStatus.Pending},{error:new d.UnknownDAError("OpenApp failed"),status:e.DeviceActionStatus.Error}];(0,p.testDeviceActionStates)(o,r,c,{onDone:a,onError:i})}))})});
2
+ //# sourceMappingURL=OpenAppWithDependenciesDeviceAction.test.js.map