@ledgerhq/device-management-kit 0.5.1 → 0.6.1

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 (1104) hide show
  1. package/README.md +27 -31
  2. package/lib/cjs/package.json +18 -19
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  9. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js +1 -1
  10. package/lib/cjs/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  11. package/lib/cjs/src/api/DmkConfig.js +1 -1
  12. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  13. package/lib/cjs/src/api/Error.js +1 -1
  14. package/lib/cjs/src/api/Error.js.map +3 -3
  15. package/lib/cjs/src/api/apdu/utils/ApduParser.test.js +1 -1
  16. package/lib/cjs/src/api/apdu/utils/ApduParser.test.js.map +2 -2
  17. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  18. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +2 -2
  19. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  20. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  21. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
  22. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +2 -2
  23. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  24. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  25. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  26. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  27. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  28. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  29. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +2 -2
  30. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  31. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  32. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  33. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  34. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +2 -0
  35. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +7 -0
  36. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +2 -2
  37. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  38. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  39. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  40. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +2 -2
  41. package/lib/cjs/src/api/device/DeviceModel.js +1 -1
  42. package/lib/cjs/src/api/device/DeviceModel.js.map +3 -3
  43. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  44. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  45. package/lib/cjs/src/api/device-action/__test-utils__/data.js +1 -1
  46. package/lib/cjs/src/api/device-action/__test-utils__/data.js.map +3 -3
  47. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  48. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  49. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  50. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  51. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  52. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  53. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  54. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  55. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  56. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  57. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  58. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  59. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  60. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  61. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  62. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  63. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  64. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  65. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  66. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  67. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  68. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  69. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js.map +1 -1
  70. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  71. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  72. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  73. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  74. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  75. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  76. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  77. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  78. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  79. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  80. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  81. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  82. package/lib/cjs/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +2 -2
  83. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  84. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  85. package/lib/cjs/src/api/device-model/data/DeviceModelDataSource.js +2 -0
  86. package/lib/cjs/src/api/device-model/data/DeviceModelDataSource.js.map +7 -0
  87. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +2 -0
  88. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
  89. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
  90. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
  91. package/lib/cjs/src/api/device-model/model/BleDeviceInfos.js +2 -0
  92. package/lib/cjs/src/api/device-model/model/BleDeviceInfos.js.map +7 -0
  93. package/lib/cjs/src/api/device-model/model/DeviceModel.js +2 -0
  94. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +7 -0
  95. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +2 -0
  96. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +7 -0
  97. package/lib/cjs/src/api/device-model/model/DeviceModel.test.js +2 -0
  98. package/lib/cjs/src/api/device-model/model/DeviceModel.test.js.map +7 -0
  99. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  100. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  101. package/lib/cjs/src/{internal → api}/device-session/data/FramerConst.js.map +1 -1
  102. package/lib/cjs/src/api/device-session/service/ApduReceiverService.js +2 -0
  103. package/lib/cjs/src/{internal → api}/device-session/service/ApduReceiverService.js.map +2 -2
  104. package/lib/cjs/src/api/device-session/service/ApduSenderService.js +2 -0
  105. package/lib/cjs/src/api/device-session/service/ApduSenderService.js.map +7 -0
  106. package/lib/cjs/src/api/device-session/service/DefaultApduReceiverService.stub.js +2 -0
  107. package/lib/cjs/src/api/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
  108. package/lib/cjs/src/api/device-session/service/DefaultApduSenderService.stub.js +2 -0
  109. package/lib/cjs/src/api/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
  110. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +2 -0
  111. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +7 -0
  112. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +2 -0
  113. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +7 -0
  114. package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.js.map +1 -1
  115. package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.test.js.map +1 -1
  116. package/lib/cjs/src/api/index.js +1 -1
  117. package/lib/cjs/src/api/index.js.map +3 -3
  118. package/lib/cjs/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js.map +1 -1
  119. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  120. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  121. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  122. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  123. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +2 -0
  124. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +7 -0
  125. package/lib/cjs/src/api/transport/model/ConnectedDevice.js +1 -1
  126. package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +2 -2
  127. package/lib/cjs/src/{internal → api}/transport/model/DeviceConnection.js.map +1 -1
  128. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +2 -0
  129. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +7 -0
  130. package/lib/cjs/src/api/transport/model/Errors.js +2 -0
  131. package/lib/cjs/src/api/transport/model/Errors.js.map +7 -0
  132. package/lib/cjs/src/api/transport/model/Transport.js +1 -1
  133. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  134. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js +2 -0
  135. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js.map +7 -0
  136. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +2 -0
  137. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +7 -0
  138. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +2 -0
  139. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +7 -0
  140. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +2 -0
  141. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +7 -0
  142. package/lib/cjs/src/api/transport/model/TransportIdentifier.js +1 -1
  143. package/lib/cjs/src/api/transport/model/TransportIdentifier.js.map +3 -3
  144. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +2 -0
  145. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +7 -0
  146. package/lib/cjs/src/api/types.js +1 -1
  147. package/lib/cjs/src/api/types.js.map +1 -1
  148. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  149. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  150. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  151. package/lib/cjs/src/api/utils/HexaString.js.map +2 -2
  152. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  153. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  154. package/lib/cjs/src/di.js +1 -1
  155. package/lib/cjs/src/di.js.map +3 -3
  156. package/lib/cjs/src/di.stub.js +1 -1
  157. package/lib/cjs/src/di.stub.js.map +2 -2
  158. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  159. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  160. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  161. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  162. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  163. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  164. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  165. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  166. package/lib/cjs/src/internal/config/service/DefaultConfigService.js +1 -1
  167. package/lib/cjs/src/internal/config/service/DefaultConfigService.js.map +2 -2
  168. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  169. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  170. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  171. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  172. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
  173. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +2 -2
  174. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  175. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  176. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  177. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  178. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  179. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  180. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  181. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  182. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  183. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  184. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  185. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  186. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  187. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  188. package/lib/cjs/src/internal/device-session/model/Errors.js.map +1 -1
  189. package/lib/cjs/src/internal/device-session/model/FrameHeader.js +1 -1
  190. package/lib/cjs/src/internal/device-session/model/FrameHeader.js.map +2 -2
  191. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  192. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +3 -3
  193. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  194. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +3 -3
  195. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  196. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +3 -3
  197. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  198. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +3 -3
  199. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +2 -2
  200. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  201. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  202. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +2 -0
  203. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +7 -0
  204. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +2 -2
  205. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  206. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  207. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  208. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  209. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  210. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  211. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  212. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  213. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  214. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  215. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  216. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  217. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +1 -1
  218. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +2 -2
  219. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  220. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  221. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +1 -1
  222. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +2 -2
  223. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  224. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  225. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  226. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +2 -2
  227. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  228. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  229. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  230. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  231. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  232. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  233. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  234. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +3 -3
  235. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  236. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  237. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  238. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  239. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  240. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  241. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +2 -2
  242. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +2 -2
  243. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +2 -0
  244. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +7 -0
  245. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  246. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  247. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  248. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  249. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  250. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  251. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  252. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  253. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  254. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  255. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  256. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  257. package/lib/cjs/src/internal/manager-api/model/{ManagerApiType.js → Application.js} +2 -2
  258. package/lib/cjs/src/internal/manager-api/model/Application.js.map +7 -0
  259. package/lib/cjs/src/internal/manager-api/model/Device.js +2 -0
  260. package/lib/cjs/src/internal/manager-api/model/Device.js.map +7 -0
  261. package/lib/cjs/src/internal/manager-api/model/Firmware.js +2 -0
  262. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +7 -0
  263. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  264. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  265. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  266. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  267. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  268. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  269. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  270. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  271. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  272. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  273. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  274. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  275. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  276. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  277. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  278. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  279. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  280. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  281. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  282. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  283. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  284. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  285. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  286. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  287. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  288. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  289. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  290. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  291. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  292. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  293. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  294. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  295. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  296. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +2 -2
  297. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  298. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  299. package/lib/cjs/src/internal/transport/di/transportDiTypes.js +1 -1
  300. package/lib/cjs/src/internal/transport/di/transportDiTypes.js.map +2 -2
  301. package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
  302. package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
  303. package/lib/cjs/src/internal/transport/di/transportModule.test.js +2 -0
  304. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +7 -0
  305. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +2 -0
  306. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +7 -0
  307. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +2 -0
  308. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +7 -0
  309. package/lib/cjs/src/internal/transport/service/TransportService.js +2 -0
  310. package/lib/cjs/src/internal/transport/service/TransportService.js.map +7 -0
  311. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +2 -0
  312. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +7 -0
  313. package/lib/esm/package.json +18 -19
  314. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  315. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  316. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  317. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  318. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  319. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  320. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  321. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  322. package/lib/esm/src/api/Error.js +1 -1
  323. package/lib/esm/src/api/Error.js.map +3 -3
  324. package/lib/esm/src/api/apdu/utils/ApduParser.test.js +1 -1
  325. package/lib/esm/src/api/apdu/utils/ApduParser.test.js.map +2 -2
  326. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  327. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +2 -2
  328. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  329. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  330. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
  331. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +2 -2
  332. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  333. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  334. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  335. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  336. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  337. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  338. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  339. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  340. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  341. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  342. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  343. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +2 -0
  344. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +7 -0
  345. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +2 -2
  346. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  347. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  348. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  349. package/lib/esm/src/api/command/utils/CommandUtils.js.map +2 -2
  350. package/lib/esm/src/api/device/DeviceModel.js +1 -1
  351. package/lib/esm/src/api/device/DeviceModel.js.map +3 -3
  352. package/lib/esm/src/api/device-action/__test-utils__/data.js +1 -1
  353. package/lib/esm/src/api/device-action/__test-utils__/data.js.map +2 -2
  354. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  355. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  356. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  357. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  358. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  359. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  360. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  361. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  362. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  363. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  364. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  365. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  366. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  367. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  368. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  369. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  370. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  371. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  372. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  373. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  374. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  375. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  376. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  377. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  378. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  379. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  380. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  381. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  382. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  383. package/lib/esm/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +2 -2
  384. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  385. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  386. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +2 -0
  387. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
  388. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
  389. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
  390. package/lib/esm/src/api/device-model/model/BleDeviceInfos.js +2 -0
  391. package/lib/esm/src/api/device-model/model/BleDeviceInfos.js.map +7 -0
  392. package/lib/esm/src/api/device-model/model/DeviceModel.js +2 -0
  393. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +7 -0
  394. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +2 -0
  395. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +7 -0
  396. package/lib/esm/src/api/device-model/model/DeviceModel.test.js +2 -0
  397. package/lib/esm/src/api/device-model/model/DeviceModel.test.js.map +7 -0
  398. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  399. package/lib/esm/src/{internal → api}/device-session/data/FramerConst.js.map +1 -1
  400. package/lib/esm/src/api/device-session/service/DefaultApduReceiverService.stub.js +2 -0
  401. package/lib/esm/src/api/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
  402. package/lib/esm/src/api/device-session/service/DefaultApduSenderService.stub.js +2 -0
  403. package/lib/esm/src/api/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
  404. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +2 -0
  405. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +7 -0
  406. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +2 -0
  407. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +7 -0
  408. package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.js.map +1 -1
  409. package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.test.js.map +1 -1
  410. package/lib/esm/src/api/index.js +1 -1
  411. package/lib/esm/src/api/index.js.map +3 -3
  412. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  413. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  414. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  415. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  416. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +2 -0
  417. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +7 -0
  418. package/lib/esm/src/api/transport/model/ConnectedDevice.js +1 -1
  419. package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +2 -2
  420. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +2 -0
  421. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +7 -0
  422. package/lib/esm/src/api/transport/model/Errors.js +2 -0
  423. package/lib/esm/src/api/transport/model/Errors.js.map +7 -0
  424. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js +2 -0
  425. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js.map +7 -0
  426. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +2 -0
  427. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +7 -0
  428. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +2 -0
  429. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +7 -0
  430. package/lib/esm/src/api/transport/model/TransportDiscoveredDevice.js +1 -0
  431. package/lib/esm/src/api/transport/model/TransportDiscoveredDevice.js.map +7 -0
  432. package/lib/esm/src/api/transport/model/TransportIdentifier.js +0 -1
  433. package/lib/esm/src/api/transport/model/TransportIdentifier.js.map +4 -4
  434. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +2 -0
  435. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +7 -0
  436. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  437. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  438. package/lib/esm/src/api/utils/HexaString.js +1 -1
  439. package/lib/esm/src/api/utils/HexaString.js.map +2 -2
  440. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  441. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  442. package/lib/esm/src/di.js +1 -1
  443. package/lib/esm/src/di.js.map +3 -3
  444. package/lib/esm/src/di.stub.js +1 -1
  445. package/lib/esm/src/di.stub.js.map +2 -2
  446. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  447. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  448. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  449. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  450. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  451. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  452. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  453. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  454. package/lib/esm/src/internal/config/service/DefaultConfigService.js +1 -1
  455. package/lib/esm/src/internal/config/service/DefaultConfigService.js.map +2 -2
  456. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  457. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  458. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  459. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  460. package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
  461. package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +2 -2
  462. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  463. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  464. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  465. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  466. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  467. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  468. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  469. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  470. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  471. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  472. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  473. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  474. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  475. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  476. package/lib/esm/src/internal/device-session/model/Errors.js.map +1 -1
  477. package/lib/esm/src/internal/device-session/model/FrameHeader.js +1 -1
  478. package/lib/esm/src/internal/device-session/model/FrameHeader.js.map +2 -2
  479. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  480. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +3 -3
  481. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  482. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +3 -3
  483. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  484. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +3 -3
  485. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  486. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +3 -3
  487. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +2 -2
  488. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  489. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  490. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +2 -0
  491. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +7 -0
  492. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +2 -2
  493. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  494. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  495. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  496. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  497. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  498. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  499. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  500. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  501. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  502. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  503. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  504. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  505. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +1 -1
  506. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +2 -2
  507. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  508. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  509. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +1 -1
  510. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +2 -2
  511. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  512. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  513. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  514. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +2 -2
  515. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  516. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  517. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  518. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  519. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  520. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  521. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  522. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +3 -3
  523. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  524. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  525. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  526. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  527. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  528. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  529. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +2 -2
  530. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +2 -2
  531. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +2 -0
  532. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +7 -0
  533. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  534. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  535. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  536. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  537. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  538. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  539. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  540. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  541. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  542. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  543. package/lib/esm/src/internal/manager-api/model/{ManagerApiType.js → Application.js} +1 -1
  544. package/lib/esm/src/internal/manager-api/model/Application.js.map +7 -0
  545. package/lib/esm/src/internal/manager-api/model/Device.js +1 -0
  546. package/lib/esm/src/internal/manager-api/model/Device.js.map +7 -0
  547. package/lib/esm/src/internal/manager-api/model/Firmware.js +1 -0
  548. package/lib/esm/src/internal/manager-api/model/Firmware.js.map +7 -0
  549. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  550. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  551. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  552. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  553. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  554. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  555. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  556. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  557. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  558. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  559. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  560. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  561. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  562. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  563. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  564. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  565. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  566. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  567. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  568. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  569. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  570. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  571. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  572. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  573. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  574. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  575. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  576. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  577. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  578. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  579. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +2 -2
  580. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  581. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  582. package/lib/esm/src/internal/transport/di/transportDiTypes.js +1 -1
  583. package/lib/esm/src/internal/transport/di/transportDiTypes.js.map +2 -2
  584. package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
  585. package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
  586. package/lib/esm/src/internal/transport/di/transportModule.test.js +2 -0
  587. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +7 -0
  588. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +2 -0
  589. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +7 -0
  590. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +2 -0
  591. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +7 -0
  592. package/lib/esm/src/internal/transport/service/TransportService.js +1 -0
  593. package/lib/esm/src/internal/transport/service/TransportService.js.map +7 -0
  594. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +2 -0
  595. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +7 -0
  596. package/lib/types/src/api/DeviceManagementKit.d.ts +9 -0
  597. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  598. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts +4 -7
  599. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  600. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  601. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  602. package/lib/types/src/api/Error.d.ts +5 -0
  603. package/lib/types/src/api/Error.d.ts.map +1 -1
  604. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +28 -0
  605. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
  606. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +24 -0
  607. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
  608. package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
  609. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  610. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +1 -1
  611. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  612. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  613. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  614. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  615. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  616. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts +4 -0
  617. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -0
  618. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +1 -1
  619. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  620. package/lib/types/src/api/device/DeviceModel.d.ts +1 -0
  621. package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
  622. package/lib/types/src/api/device-action/DeviceAction.d.ts +6 -1
  623. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  624. package/lib/types/src/api/device-action/__test-utils__/data.d.ts +1 -1
  625. package/lib/types/src/api/device-action/__test-utils__/data.d.ts.map +1 -1
  626. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  627. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  628. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  629. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  630. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  631. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  632. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  633. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  634. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  635. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  636. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  637. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  638. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  639. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts +1 -1
  640. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts.map +1 -1
  641. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  642. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
  643. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  644. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  645. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  646. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  647. package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts +1 -1
  648. package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts.map +1 -1
  649. package/lib/types/src/api/device-model/data/DeviceModelDataSource.d.ts +16 -0
  650. package/lib/types/src/api/device-model/data/DeviceModelDataSource.d.ts.map +1 -0
  651. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts +21 -0
  652. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -0
  653. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +1 -0
  654. package/lib/types/src/api/device-model/model/BleDeviceInfos.d.ts +10 -0
  655. package/lib/types/src/api/device-model/model/BleDeviceInfos.d.ts.map +1 -0
  656. package/lib/types/src/{internal → api}/device-model/model/DeviceModel.d.ts +2 -2
  657. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -0
  658. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts +3 -0
  659. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -0
  660. package/lib/types/src/api/device-model/model/DeviceModel.test.d.ts.map +1 -0
  661. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +6 -1
  662. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  663. package/lib/types/src/api/device-session/data/FramerConst.d.ts.map +1 -0
  664. package/lib/types/src/api/device-session/service/ApduReceiverService.d.ts +11 -0
  665. package/lib/types/src/api/device-session/service/ApduReceiverService.d.ts.map +1 -0
  666. package/lib/types/src/api/device-session/service/ApduSenderService.d.ts +12 -0
  667. package/lib/types/src/api/device-session/service/ApduSenderService.d.ts.map +1 -0
  668. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts +5 -0
  669. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -0
  670. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts +5 -0
  671. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -0
  672. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts +17 -0
  673. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +1 -0
  674. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +2 -0
  675. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +1 -0
  676. package/lib/types/src/api/device-session/utils/FramerUtils.d.ts.map +1 -0
  677. package/lib/types/src/api/device-session/utils/FramerUtils.test.d.ts.map +1 -0
  678. package/lib/types/src/api/index.d.ts +25 -23
  679. package/lib/types/src/api/index.d.ts.map +1 -1
  680. package/lib/types/src/{internal → api}/logger-publisher/service/LoggerPublisherService.d.ts +2 -2
  681. package/lib/types/src/api/logger-publisher/service/LoggerPublisherService.d.ts.map +1 -0
  682. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +4 -0
  683. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -0
  684. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +3 -3
  685. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
  686. package/lib/types/src/{internal → api}/transport/model/DeviceConnection.d.ts +3 -3
  687. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -0
  688. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +5 -0
  689. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -0
  690. package/lib/types/src/api/transport/model/Errors.d.ts +73 -0
  691. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -0
  692. package/lib/types/src/api/transport/model/Transport.d.ts +20 -7
  693. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  694. package/lib/types/src/{internal/transport/model/InternalConnectedDevice.d.ts → api/transport/model/TransportConnectedDevice.d.ts} +8 -8
  695. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts.map +1 -0
  696. package/lib/types/src/api/transport/model/TransportConnectedDevice.stub.d.ts +3 -0
  697. package/lib/types/src/api/transport/model/TransportConnectedDevice.stub.d.ts.map +1 -0
  698. package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts +2 -0
  699. package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts.map +1 -0
  700. package/lib/types/src/{internal/transport/model/InternalDiscoveredDevice.d.ts → api/transport/model/TransportDiscoveredDevice.d.ts} +6 -6
  701. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -0
  702. package/lib/types/src/api/transport/model/TransportIdentifier.d.ts +0 -5
  703. package/lib/types/src/api/transport/model/TransportIdentifier.d.ts.map +1 -1
  704. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +12 -0
  705. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -0
  706. package/lib/types/src/api/types.d.ts +21 -3
  707. package/lib/types/src/api/types.d.ts.map +1 -1
  708. package/lib/types/src/api/utils/HexaString.d.ts +1 -1
  709. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  710. package/lib/types/src/di.d.ts +3 -5
  711. package/lib/types/src/di.d.ts.map +1 -1
  712. package/lib/types/src/di.stub.d.ts +1 -1
  713. package/lib/types/src/di.stub.d.ts.map +1 -1
  714. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  715. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  716. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  717. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  718. package/lib/types/src/internal/config/service/DefaultConfigService.d.ts +1 -1
  719. package/lib/types/src/internal/config/service/DefaultConfigService.d.ts.map +1 -1
  720. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  721. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -0
  722. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts.map +1 -1
  723. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +15 -9
  724. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  725. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +3 -2
  726. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  727. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +9 -2
  728. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  729. package/lib/types/src/internal/device-session/model/Errors.d.ts +1 -1
  730. package/lib/types/src/internal/device-session/model/Errors.d.ts.map +1 -1
  731. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts +3 -6
  732. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts.map +1 -1
  733. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.d.ts +4 -9
  734. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.d.ts.map +1 -1
  735. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +1 -1
  736. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
  737. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts +2 -0
  738. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts.map +1 -0
  739. package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.d.ts +1 -1
  740. package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.d.ts.map +1 -1
  741. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +6 -4
  742. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  743. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts +4 -4
  744. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts.map +1 -1
  745. package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts +1 -1
  746. package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts.map +1 -1
  747. package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts +1 -1
  748. package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts.map +1 -1
  749. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +1 -1
  750. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -1
  751. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +3 -3
  752. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
  753. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +3 -3
  754. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  755. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +3 -3
  756. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  757. package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
  758. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.d.ts +1 -1
  759. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.d.ts.map +1 -1
  760. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +11 -0
  761. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -0
  762. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +9 -4
  763. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  764. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +29 -1
  765. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  766. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +3 -1
  767. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  768. package/lib/types/src/internal/manager-api/model/{ManagerApiType.d.ts → Application.d.ts} +2 -3
  769. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -0
  770. package/lib/types/src/internal/manager-api/model/Device.d.ts +4 -0
  771. package/lib/types/src/internal/manager-api/model/Device.d.ts.map +1 -0
  772. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +9 -0
  773. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -0
  774. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -1
  775. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  776. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +6 -1
  777. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  778. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  779. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  780. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  781. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  782. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  783. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  784. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  785. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  786. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  787. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  788. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  789. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  790. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  791. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  792. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  793. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  794. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +8 -0
  795. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  796. package/lib/types/src/internal/secure-channel/model/Params.d.ts +86 -0
  797. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  798. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +20 -0
  799. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  800. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  801. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  802. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +20 -0
  803. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  804. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +1 -1
  805. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  806. package/lib/types/src/internal/transport/di/transportDiTypes.d.ts +2 -1
  807. package/lib/types/src/internal/transport/di/transportDiTypes.d.ts.map +1 -1
  808. package/lib/types/src/internal/transport/di/transportModule.d.ts +3 -5
  809. package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
  810. package/lib/types/src/internal/transport/di/transportModule.test.d.ts +2 -0
  811. package/lib/types/src/internal/transport/di/transportModule.test.d.ts.map +1 -0
  812. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +25 -0
  813. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -0
  814. package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts +2 -0
  815. package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts.map +1 -0
  816. package/lib/types/src/internal/transport/service/TransportService.d.ts +9 -0
  817. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -0
  818. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +19 -0
  819. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -0
  820. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  821. package/package.json +19 -20
  822. package/lib/cjs/src/api/logger-subscriber/__mocks__/ConsoleLogger.js +0 -2
  823. package/lib/cjs/src/api/logger-subscriber/__mocks__/ConsoleLogger.js.map +0 -7
  824. package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js +0 -2
  825. package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js.map +0 -7
  826. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js +0 -2
  827. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +0 -7
  828. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
  829. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
  830. package/lib/cjs/src/internal/device-model/model/DeviceModel.js +0 -2
  831. package/lib/cjs/src/internal/device-model/model/DeviceModel.js.map +0 -7
  832. package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js +0 -2
  833. package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js.map +0 -7
  834. package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js +0 -2
  835. package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js.map +0 -7
  836. package/lib/cjs/src/internal/device-session/service/ApduReceiverService.js +0 -2
  837. package/lib/cjs/src/internal/device-session/service/ApduSenderService.js +0 -2
  838. package/lib/cjs/src/internal/device-session/service/ApduSenderService.js.map +0 -7
  839. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js +0 -2
  840. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +0 -7
  841. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js +0 -2
  842. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +0 -7
  843. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js +0 -2
  844. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +0 -7
  845. package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +0 -2
  846. package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +0 -7
  847. package/lib/cjs/src/internal/manager-api/model/ManagerApiType.js.map +0 -7
  848. package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js +0 -2
  849. package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js.map +0 -7
  850. package/lib/cjs/src/internal/transport/ble/di/bleModule.js +0 -2
  851. package/lib/cjs/src/internal/transport/ble/di/bleModule.js.map +0 -7
  852. package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js +0 -2
  853. package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js.map +0 -7
  854. package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js +0 -2
  855. package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js.map +0 -7
  856. package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js +0 -2
  857. package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js.map +0 -7
  858. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +0 -2
  859. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +0 -7
  860. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +0 -2
  861. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +0 -7
  862. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js +0 -2
  863. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js.map +0 -7
  864. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js +0 -2
  865. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +0 -7
  866. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js +0 -2
  867. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js.map +0 -7
  868. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js +0 -2
  869. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js.map +0 -7
  870. package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +0 -2
  871. package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +0 -7
  872. package/lib/cjs/src/internal/transport/data/TransportDataSource.js +0 -2
  873. package/lib/cjs/src/internal/transport/data/TransportDataSource.js.map +0 -7
  874. package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js +0 -2
  875. package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js.map +0 -7
  876. package/lib/cjs/src/internal/transport/model/Errors.js +0 -2
  877. package/lib/cjs/src/internal/transport/model/Errors.js.map +0 -7
  878. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js +0 -2
  879. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js.map +0 -7
  880. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js +0 -2
  881. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js.map +0 -7
  882. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js +0 -2
  883. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js.map +0 -7
  884. package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js +0 -2
  885. package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js.map +0 -7
  886. package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js +0 -2
  887. package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js.map +0 -7
  888. package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js +0 -2
  889. package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js.map +0 -7
  890. package/lib/cjs/src/internal/transport/usb/di/usbModule.js +0 -2
  891. package/lib/cjs/src/internal/transport/usb/di/usbModule.js.map +0 -7
  892. package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js +0 -2
  893. package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js.map +0 -7
  894. package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js +0 -2
  895. package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js.map +0 -7
  896. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +0 -2
  897. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +0 -7
  898. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +0 -2
  899. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +0 -7
  900. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +0 -2
  901. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +0 -7
  902. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +0 -2
  903. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +0 -7
  904. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js +0 -2
  905. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +0 -7
  906. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +0 -2
  907. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +0 -7
  908. package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +0 -2
  909. package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +0 -7
  910. package/lib/esm/src/api/logger-subscriber/__mocks__/ConsoleLogger.js +0 -2
  911. package/lib/esm/src/api/logger-subscriber/__mocks__/ConsoleLogger.js.map +0 -7
  912. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js +0 -2
  913. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +0 -7
  914. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
  915. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
  916. package/lib/esm/src/internal/device-model/model/DeviceModel.js +0 -2
  917. package/lib/esm/src/internal/device-model/model/DeviceModel.js.map +0 -7
  918. package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js +0 -2
  919. package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js.map +0 -7
  920. package/lib/esm/src/internal/device-model/model/DeviceModel.test.js +0 -2
  921. package/lib/esm/src/internal/device-model/model/DeviceModel.test.js.map +0 -7
  922. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js +0 -2
  923. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +0 -7
  924. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js +0 -2
  925. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +0 -7
  926. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js +0 -2
  927. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +0 -7
  928. package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +0 -2
  929. package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +0 -7
  930. package/lib/esm/src/internal/manager-api/model/ManagerApiType.js.map +0 -7
  931. package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js +0 -2
  932. package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js.map +0 -7
  933. package/lib/esm/src/internal/transport/ble/di/bleModule.js +0 -2
  934. package/lib/esm/src/internal/transport/ble/di/bleModule.js.map +0 -7
  935. package/lib/esm/src/internal/transport/ble/di/bleModule.test.js +0 -2
  936. package/lib/esm/src/internal/transport/ble/di/bleModule.test.js.map +0 -7
  937. package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js +0 -2
  938. package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js.map +0 -7
  939. package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js +0 -2
  940. package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js.map +0 -7
  941. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +0 -2
  942. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +0 -7
  943. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +0 -2
  944. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +0 -7
  945. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js +0 -2
  946. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js.map +0 -7
  947. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js +0 -2
  948. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +0 -7
  949. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js +0 -2
  950. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js.map +0 -7
  951. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js +0 -2
  952. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js.map +0 -7
  953. package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +0 -2
  954. package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +0 -7
  955. package/lib/esm/src/internal/transport/data/TransportDataSource.js +0 -2
  956. package/lib/esm/src/internal/transport/data/TransportDataSource.js.map +0 -7
  957. package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js +0 -2
  958. package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js.map +0 -7
  959. package/lib/esm/src/internal/transport/model/Errors.js +0 -2
  960. package/lib/esm/src/internal/transport/model/Errors.js.map +0 -7
  961. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js +0 -2
  962. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js.map +0 -7
  963. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js +0 -2
  964. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js.map +0 -7
  965. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js +0 -2
  966. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js.map +0 -7
  967. package/lib/esm/src/internal/transport/model/InternalDiscoveredDevice.js +0 -1
  968. package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js +0 -2
  969. package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js.map +0 -7
  970. package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js +0 -2
  971. package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js.map +0 -7
  972. package/lib/esm/src/internal/transport/usb/di/usbModule.js +0 -2
  973. package/lib/esm/src/internal/transport/usb/di/usbModule.js.map +0 -7
  974. package/lib/esm/src/internal/transport/usb/di/usbModule.test.js +0 -2
  975. package/lib/esm/src/internal/transport/usb/di/usbModule.test.js.map +0 -7
  976. package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js +0 -2
  977. package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js.map +0 -7
  978. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +0 -2
  979. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +0 -7
  980. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +0 -2
  981. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +0 -7
  982. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +0 -2
  983. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +0 -7
  984. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +0 -2
  985. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +0 -7
  986. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js +0 -2
  987. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +0 -7
  988. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +0 -2
  989. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +0 -7
  990. package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +0 -2
  991. package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +0 -7
  992. package/lib/types/src/api/logger-subscriber/__mocks__/ConsoleLogger.d.ts +0 -4
  993. package/lib/types/src/api/logger-subscriber/__mocks__/ConsoleLogger.d.ts.map +0 -1
  994. package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts +0 -16
  995. package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts.map +0 -1
  996. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts +0 -21
  997. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts.map +0 -1
  998. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +0 -1
  999. package/lib/types/src/internal/device-model/model/DeviceModel.d.ts.map +0 -1
  1000. package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts +0 -3
  1001. package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts.map +0 -1
  1002. package/lib/types/src/internal/device-model/model/DeviceModel.test.d.ts.map +0 -1
  1003. package/lib/types/src/internal/device-session/data/FramerConst.d.ts.map +0 -1
  1004. package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts +0 -7
  1005. package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts.map +0 -1
  1006. package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts +0 -5
  1007. package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts.map +0 -1
  1008. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts +0 -5
  1009. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts.map +0 -1
  1010. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts +0 -5
  1011. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts.map +0 -1
  1012. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts +0 -2
  1013. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts.map +0 -1
  1014. package/lib/types/src/internal/device-session/utils/FramerUtils.d.ts.map +0 -1
  1015. package/lib/types/src/internal/device-session/utils/FramerUtils.test.d.ts.map +0 -1
  1016. package/lib/types/src/internal/logger-publisher/service/LoggerPublisherService.d.ts.map +0 -1
  1017. package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts +0 -11
  1018. package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts.map +0 -1
  1019. package/lib/types/src/internal/manager-api/model/ManagerApiType.d.ts.map +0 -1
  1020. package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts +0 -4
  1021. package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts.map +0 -1
  1022. package/lib/types/src/internal/transport/ble/di/bleModule.d.ts +0 -3
  1023. package/lib/types/src/internal/transport/ble/di/bleModule.d.ts.map +0 -1
  1024. package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts +0 -2
  1025. package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts.map +0 -1
  1026. package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts +0 -3
  1027. package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts.map +0 -1
  1028. package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts +0 -10
  1029. package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts.map +0 -1
  1030. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts +0 -13
  1031. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts.map +0 -1
  1032. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts +0 -3
  1033. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts.map +0 -1
  1034. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts +0 -104
  1035. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts.map +0 -1
  1036. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts +0 -2
  1037. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts.map +0 -1
  1038. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts +0 -97
  1039. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts.map +0 -1
  1040. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts +0 -2
  1041. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts.map +0 -1
  1042. package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts +0 -14
  1043. package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts.map +0 -1
  1044. package/lib/types/src/internal/transport/data/TransportDataSource.d.ts +0 -8
  1045. package/lib/types/src/internal/transport/data/TransportDataSource.d.ts.map +0 -1
  1046. package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts +0 -33
  1047. package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts.map +0 -1
  1048. package/lib/types/src/internal/transport/model/DeviceConnection.d.ts.map +0 -1
  1049. package/lib/types/src/internal/transport/model/Errors.d.ts +0 -80
  1050. package/lib/types/src/internal/transport/model/Errors.d.ts.map +0 -1
  1051. package/lib/types/src/internal/transport/model/InternalConnectedDevice.d.ts.map +0 -1
  1052. package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts +0 -3
  1053. package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts.map +0 -1
  1054. package/lib/types/src/internal/transport/model/InternalConnectedDevice.test.d.ts +0 -2
  1055. package/lib/types/src/internal/transport/model/InternalConnectedDevice.test.d.ts.map +0 -1
  1056. package/lib/types/src/internal/transport/model/InternalDiscoveredDevice.d.ts.map +0 -1
  1057. package/lib/types/src/internal/transport/usb/data/UsbHidConfig.d.ts +0 -4
  1058. package/lib/types/src/internal/transport/usb/data/UsbHidConfig.d.ts.map +0 -1
  1059. package/lib/types/src/internal/transport/usb/di/usbDiTypes.d.ts +0 -4
  1060. package/lib/types/src/internal/transport/usb/di/usbDiTypes.d.ts.map +0 -1
  1061. package/lib/types/src/internal/transport/usb/di/usbModule.d.ts +0 -7
  1062. package/lib/types/src/internal/transport/usb/di/usbModule.d.ts.map +0 -1
  1063. package/lib/types/src/internal/transport/usb/di/usbModule.test.d.ts +0 -2
  1064. package/lib/types/src/internal/transport/usb/di/usbModule.test.d.ts.map +0 -1
  1065. package/lib/types/src/internal/transport/usb/model/HIDDevice.stub.d.ts +0 -2
  1066. package/lib/types/src/internal/transport/usb/model/HIDDevice.stub.d.ts.map +0 -1
  1067. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.d.ts +0 -20
  1068. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +0 -1
  1069. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.d.ts +0 -3
  1070. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.d.ts.map +0 -1
  1071. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts +0 -54
  1072. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts.map +0 -1
  1073. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.d.ts +0 -2
  1074. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.d.ts.map +0 -1
  1075. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts +0 -97
  1076. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts.map +0 -1
  1077. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.test.d.ts +0 -2
  1078. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.test.d.ts.map +0 -1
  1079. package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts +0 -12
  1080. package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts.map +0 -1
  1081. /package/lib/cjs/src/{internal → api}/device-session/data/FramerConst.js +0 -0
  1082. /package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.js +0 -0
  1083. /package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.test.js +0 -0
  1084. /package/lib/cjs/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js +0 -0
  1085. /package/lib/cjs/src/{internal → api}/transport/model/DeviceConnection.js +0 -0
  1086. /package/lib/esm/src/{internal/device-model/data/DeviceModelDataSource.js.map → api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map} +0 -0
  1087. /package/lib/esm/src/{internal → api}/device-model/data/DeviceModelDataSource.js +0 -0
  1088. /package/lib/esm/src/{internal/device-session/service/ApduReceiverService.js.map → api/device-model/data/DeviceModelDataSource.js.map} +0 -0
  1089. /package/lib/esm/src/{internal → api}/device-session/data/FramerConst.js +0 -0
  1090. /package/lib/esm/src/{internal → api}/device-session/service/ApduReceiverService.js +0 -0
  1091. /package/lib/esm/src/{internal/device-session/service/ApduSenderService.js.map → api/device-session/service/ApduReceiverService.js.map} +0 -0
  1092. /package/lib/esm/src/{internal → api}/device-session/service/ApduSenderService.js +0 -0
  1093. /package/lib/esm/src/{internal/logger-publisher/service/LoggerPublisherService.js.map → api/device-session/service/ApduSenderService.js.map} +0 -0
  1094. /package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.js +0 -0
  1095. /package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.test.js +0 -0
  1096. /package/lib/esm/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js +0 -0
  1097. /package/lib/esm/src/{internal/transport/model/DeviceConnection.js.map → api/logger-publisher/service/LoggerPublisherService.js.map} +0 -0
  1098. /package/lib/esm/src/{internal → api}/transport/model/DeviceConnection.js +0 -0
  1099. /package/lib/esm/src/{internal/transport/model/InternalDiscoveredDevice.js.map → api/transport/model/DeviceConnection.js.map} +0 -0
  1100. /package/lib/types/src/{internal → api}/device-model/data/StaticDeviceModelDataSource.test.d.ts +0 -0
  1101. /package/lib/types/src/{internal → api}/device-model/model/DeviceModel.test.d.ts +0 -0
  1102. /package/lib/types/src/{internal → api}/device-session/data/FramerConst.d.ts +0 -0
  1103. /package/lib/types/src/{internal → api}/device-session/utils/FramerUtils.d.ts +0 -0
  1104. /package/lib/types/src/{internal → api}/device-session/utils/FramerUtils.test.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.ts"],
4
- "sourcesContent": ["import { type EitherAsync, Left, Right } from \"purify-ts\";\nimport {\n type AnyEventObject,\n assign,\n fromCallback,\n fromPromise,\n setup,\n} from \"xstate\";\n\nimport { type ListAppsResponse } from \"@api/command/os/ListAppsCommand\";\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 { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nimport { type ListAppsDAOutput } from \"@api/device-action/os/ListApps/types\";\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 { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type Application } from \"@internal/manager-api/model/ManagerApiType\";\n\nimport {\n type ListAppsWithMetadataDAError,\n type ListAppsWithMetadataDAInput,\n type ListAppsWithMetadataDAIntermediateValue,\n type ListAppsWithMetadataDAOutput,\n} from \"./types\";\n\ntype ListAppsWithMetadataMachineInternalState = {\n error: ListAppsWithMetadataDAError | null;\n apps: ListAppsResponse;\n appsWithMetadata: ListAppsWithMetadataDAOutput;\n};\n\nexport type MachineDependencies = {\n getAppsByHash: ({\n input,\n }: {\n input: ListAppsDAOutput;\n }) => EitherAsync<HttpFetchApiError, Array<Application | null>>;\n getDeviceSessionState: () => DeviceSessionState;\n saveSessionState: (state: DeviceSessionState) => DeviceSessionState;\n};\n\nexport class ListAppsWithMetadataDeviceAction extends XStateDeviceAction<\n ListAppsWithMetadataDAOutput,\n ListAppsWithMetadataDAInput,\n ListAppsWithMetadataDAError,\n ListAppsWithMetadataDAIntermediateValue,\n ListAppsWithMetadataMachineInternalState\n> {\n makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n ListAppsWithMetadataDAOutput,\n ListAppsWithMetadataDAInput,\n ListAppsWithMetadataDAError,\n ListAppsWithMetadataDAIntermediateValue,\n ListAppsWithMetadataMachineInternalState\n > {\n type types = StateMachineTypes<\n ListAppsWithMetadataDAOutput,\n ListAppsWithMetadataDAInput,\n ListAppsWithMetadataDAError,\n ListAppsWithMetadataDAIntermediateValue,\n ListAppsWithMetadataMachineInternalState\n >;\n\n const { getAppsByHash, saveSessionState, getDeviceSessionState } =\n this.extractDependencies(internalAPI);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const listAppsMachine = new ListAppsDeviceAction({\n input: {\n unlockTimeout,\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 listApps: listAppsMachine,\n getAppsByHash: fromPromise(getAppsByHash),\n saveSessionState: fromCallback(\n ({\n input,\n sendBack,\n }: {\n sendBack: (event: AnyEventObject) => void;\n input: {\n appsWithMetadata: Array<Application | null>;\n };\n }) => {\n const { appsWithMetadata } = input;\n\n const filterted = appsWithMetadata.filter((app) => app !== null);\n\n const sessionState = getDeviceSessionState();\n const updatedState = {\n ...sessionState,\n installedApps: filterted,\n };\n try {\n saveSessionState(updatedState);\n sendBack({ type: \"done\" });\n } catch (error) {\n sendBack({ type: \"error\", error });\n }\n },\n ),\n },\n guards: {\n hasError: ({ context }: { context: types[\"context\"] }) => {\n return context._internalState.error !== null;\n },\n hasNoAppsInstalled: ({ context }: { context: types[\"context\"] }) =>\n context._internalState.apps.length === 0,\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 /** @xstate-layout N4IgpgJg5mDOIC5QBkCWsAuBBADj2A6qhgBYCyYGAhhFdQCJgBuqAxmFqxqgPYB2AOkYt2AJTA0AngGIA2gAYAuolA4esYrz4qQAD0QBGAJzyBADgBsAdgNWAzPIAs8+TceOANCEmILAJjMBKwsHOyMjAzN7SIBfGK80TFx8IlIKaloGZjYOLi0BROw8WGkIfjABVD4mHgBrCoAbdCL8BWUkEDUNbn4dfQQAVgCBIz9IgacQ6z8-Lx8Ef1N5OwsBlbs7dyNHCziE5uTCYnJKGjoqYRzOHsFCw+kwACdHnkeBHAa6ADNXgFsBJpJYptHRdTS9Dr9IaBUbjSYrKwzOaIMwGAQTFx2MxmOx+AYDKxGAZ7EB3YqpE4Zc6XdjXfJk-AAYRIYFYtTkSlB6nB2khKKGAj89jCRjCFmWdmRCD8LiCGIMMysqIsCpJDKOaVOmQu2VpeX4BQOxWZrPZsgM7VU3JufX5fkFwvCYolUqVjkFyxlA3FeO9VjVRpSx3SZyyIlyN0NQKZLLZcj8ls61q0toQZgFQo2TqM4o2UosjjsQRC8iFa1GfiJAejGspoZ14bpBoAYpRWHXtaVypVqnUKjAWrAAEKSAASVFgJBBHTBNr5CAM7gsAkcY3TZmW-iMiPzm0Flkc2PX8gMTmrg4pIe1NIj+VbGHbV-OD2er3enwwP0e-wHhxH48nacrW6FN50XHYVzXAYNxWSsd28RA7GMQUMUcaCLFFTZdniUlA1rJ8wyufVBHvR8tXOE04yApMQIhUB+kiVYBFLTYbBmPwCwsKUdjRRxghVMwAlWSIjHPQ5L3Iwi9UjUiOwo2MzQtLlaN5ejDEsAZmL8ViFRmTj8wLSDt3kbFtzGZYxPJYNJIbIjIwAZSoJgwHsuANH4Ls+DAajZ1AtTpQ4wJnH8UyHB9fNgiMjCzCdcUzEcSyg01KkpNvA1HOc1zYHcvgXxeR4fOTOi9EQPSgvkEKYrC0spQJIwRn4pw8QLAwQjiHC+B4CA4B0dUJJS2zpL8mieVTABaLiEIQMbNPCOb5vmyxEvwmybybQQb3EKRlNG+dV3zIVizCxwc3sPxlv6+s1uIqNBx2ud-ICWa1lPexsWMb18ycQUS3FfEFTsb0LusgbrsjdVKNqe7hv6CwogECwCxPQGhSsNCjHzVdmIMMKBgMBV8eMYHkqu3U0pIts5OoaHioY093QCEwMNFJV5Gg-NInRHGKoqnNSzR4mqcG8mBFkgiqEhmnVJKhdVndQTlncKxXCsfF829H6HFsEJvSFbD9hrS7rzJ9aBAyly3OG3zadK-nzAGUUzKsQlxQxqaQnq2xt1XNnnBMuxBfFsH8nsgBXVh2GyqXUzxCqBEB7YxlXGLIisV0cy5sLlcR53RUD1aTZugBRV9Hmj+dY+XBPV0XRnU9qyxzGiiqNwmOxgnamIgA */\n id: \"ListAppsWithMetadataDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: _.input,\n _internalState: {\n error: null,\n apps: [],\n appsWithMetadata: [],\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"ListApps\",\n },\n },\n ListApps: {\n invoke: {\n id: \"listApps\",\n src: \"listApps\",\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: \"ListAppsCheck\",\n actions: assign({\n intermediateValue: (_) => ({\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n _internalState: (_) => {\n return _.event.output.caseOf({\n Right: (apps) => ({\n ..._.context._internalState,\n apps,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n },\n },\n },\n ListAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n guard: \"hasNoAppsInstalled\",\n actions: assign({\n _internalState: (_) => {\n return {\n ..._.context._internalState,\n appsWithMetadata: [],\n };\n },\n }),\n },\n {\n target: \"FetchMetadata\",\n },\n ],\n },\n FetchMetadata: {\n invoke: {\n id: \"getAppsByHash\",\n src: \"getAppsByHash\",\n input: (_) => _.context._internalState.apps,\n onDone: {\n target: \"FetchMetadataCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf({\n Right: (appsWithMetadata) => ({\n ..._.context._internalState,\n appsWithMetadata,\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 FetchMetadataCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"SaveSession\",\n },\n ],\n },\n SaveSession: {\n invoke: {\n src: \"saveSessionState\",\n input: (_) => ({\n appsWithMetadata: _.context._internalState.appsWithMetadata,\n }),\n },\n on: {\n done: {\n target: \"Success\",\n },\n error: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error) {\n return Left(_.context._internalState.error);\n }\n\n return Right(_.context._internalState.appsWithMetadata);\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n return {\n getAppsByHash: ({ input }) => internalApi.getMetadataForAppHashes(input),\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n saveSessionState: (state: DeviceSessionState) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { type EitherAsync, Left, Right } from \"purify-ts\";\nimport {\n type AnyEventObject,\n assign,\n fromCallback,\n fromPromise,\n setup,\n} from \"xstate\";\n\nimport { type ListAppsResponse } from \"@api/command/os/ListAppsCommand\";\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 { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nimport { type ListAppsDAOutput } from \"@api/device-action/os/ListApps/types\";\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 { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type Application } from \"@internal/manager-api/model/Application\";\nimport { type HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport {\n type ListAppsWithMetadataDAError,\n type ListAppsWithMetadataDAInput,\n type ListAppsWithMetadataDAIntermediateValue,\n type ListAppsWithMetadataDAOutput,\n} from \"./types\";\n\ntype ListAppsWithMetadataMachineInternalState = {\n error: ListAppsWithMetadataDAError | null;\n apps: ListAppsResponse;\n appsWithMetadata: ListAppsWithMetadataDAOutput;\n};\n\nexport type MachineDependencies = {\n getAppsByHash: ({\n input,\n }: {\n input: ListAppsDAOutput;\n }) => EitherAsync<HttpFetchApiError, Array<Application | null>>;\n getDeviceSessionState: () => DeviceSessionState;\n saveSessionState: (state: DeviceSessionState) => DeviceSessionState;\n};\n\nexport class ListAppsWithMetadataDeviceAction extends XStateDeviceAction<\n ListAppsWithMetadataDAOutput,\n ListAppsWithMetadataDAInput,\n ListAppsWithMetadataDAError,\n ListAppsWithMetadataDAIntermediateValue,\n ListAppsWithMetadataMachineInternalState\n> {\n makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n ListAppsWithMetadataDAOutput,\n ListAppsWithMetadataDAInput,\n ListAppsWithMetadataDAError,\n ListAppsWithMetadataDAIntermediateValue,\n ListAppsWithMetadataMachineInternalState\n > {\n type types = StateMachineTypes<\n ListAppsWithMetadataDAOutput,\n ListAppsWithMetadataDAInput,\n ListAppsWithMetadataDAError,\n ListAppsWithMetadataDAIntermediateValue,\n ListAppsWithMetadataMachineInternalState\n >;\n\n const { getAppsByHash, saveSessionState, getDeviceSessionState } =\n this.extractDependencies(internalAPI);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const listAppsMachine = new ListAppsDeviceAction({\n input: {\n unlockTimeout,\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 listApps: listAppsMachine,\n getAppsByHash: fromPromise(getAppsByHash),\n saveSessionState: fromCallback(\n ({\n input,\n sendBack,\n }: {\n sendBack: (event: AnyEventObject) => void;\n input: {\n appsWithMetadata: Array<Application | null>;\n };\n }) => {\n const { appsWithMetadata } = input;\n\n const filterted = appsWithMetadata.filter((app) => app !== null);\n\n const sessionState = getDeviceSessionState();\n const updatedState = {\n ...sessionState,\n installedApps: filterted,\n };\n try {\n saveSessionState(updatedState);\n sendBack({ type: \"done\" });\n } catch (error) {\n sendBack({ type: \"error\", error });\n }\n },\n ),\n },\n guards: {\n hasError: ({ context }: { context: types[\"context\"] }) => {\n return context._internalState.error !== null;\n },\n hasNoAppsInstalled: ({ context }: { context: types[\"context\"] }) =>\n context._internalState.apps.length === 0,\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 /** @xstate-layout N4IgpgJg5mDOIC5QBkCWsAuBBADj2A6qhgBYCyYGAhhFdQCJgBuqAxmFqxqgPYB2AOkYt2AJTA0AngGIA2gAYAuolA4esYrz4qQAD0QBGAJzyBADgBsAdgNWAzPIAs8+TceOANCEmILAJjMBKwsHOyMjAzN7SIBfGK80TFx8IlIKaloGZjYOLi0BROw8WGkIfjABVD4mHgBrCoAbdCL8BWUkEDUNbn4dfQQAVgCBIz9IgacQ6z8-Lx8Ef1N5OwsBlbs7dyNHCziE5uTCYnJKGjoqYRzOHsFCw+kwACdHnkeBHAa6ADNXgFsBJpJYptHRdTS9Dr9IaBUbjSYrKwzOaIMwGAQTFx2MxmOx+AYDKxGAZ7EB3YqpE4Zc6XdjXfJk-AAYRIYFYtTkSlB6nB2khKKGAj89jCRjCFmWdmRCD8LiCGIMMysqIsCpJDKOaVOmQu2VpeX4BQOxWZrPZsgM7VU3JufX5fkFwvCYolUqVjkFyxlA3FeO9VjVRpSx3SZyyIlyN0NQKZLLZcj8ls61q0toQZgFQo2TqM4o2UosjjsQRC8iFa1GfiJAejGspoZ14bpBoAYpRWHXtaVypVqnUKjAWrAAEKSAASVFgJBBHTBNr5CAM7gsAkcY3TZmW-iMiPzm0Flkc2PX8gMTmrg4pIe1NIj+VbGHbV-OD2er3enwwP0e-wHhxH48nacrW6FN50XHYVzXAYNxWSsd28RA7GMQUMUcaCLFFTZdniUlA1rJ8wyufVBHvR8tXOE04yApMQIhUB+kiVYBFLTYbBmPwCwsKUdjRRxghVMwAlWSIjHPQ5L3Iwi9UjUiOwo2MzQtLlaN5ejDEsAZmL8ViFRmTj8wLSDt3kbFtzGZYxPJYNJIbIjIwAZSoJgwHsuANH4Ls+DAajZ1AtTpQ4wJnH8UyHB9fNgiMjCzCdcUzEcSyg01KkpNvA1HOc1zYHcvgXxeR4fOTOi9EQPSgvkEKYrC0spQJIwRn4pw8QLAwQjiHC+B4CA4B0dUJJS2zpL8mieVTABaLiEIQMbNPCOb5vmyxEvwmybybQQb3EKRlNG+dV3zIVizCxwc3sPxlv6+s1uIqNBx2ud-ICWa1lPexsWMb18ycQUS3FfEFTsb0LusgbrsjdVKNqe7hv6CwogECwCxPQGhSsNCjHzVdmIMMKBgMBV8eMYHkqu3U0pIts5OoaHioY093QCEwMNFJV5Gg-NInRHGKoqnNSzR4mqcG8mBFkgiqEhmnVJKhdVndQTlncKxXCsfF829H6HFsEJvSFbD9hrS7rzJ9aBAyly3OG3zadK-nzAGUUzKsQlxQxqaQnq2xt1XNnnBMuxBfFsH8nsgBXVh2GyqXUzxCqBEB7YxlXGLIisV0cy5sLlcR53RUD1aTZugBRV9Hmj+dY+XBPV0XRnU9qyxzGiiqNwmOxgnamIgA */\n id: \"ListAppsWithMetadataDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: _.input,\n _internalState: {\n error: null,\n apps: [],\n appsWithMetadata: [],\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"ListApps\",\n },\n },\n ListApps: {\n invoke: {\n id: \"listApps\",\n src: \"listApps\",\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: \"ListAppsCheck\",\n actions: assign({\n intermediateValue: (_) => ({\n requiredUserInteraction: UserInteractionRequired.None,\n }),\n _internalState: (_) => {\n return _.event.output.caseOf({\n Right: (apps) => ({\n ..._.context._internalState,\n apps,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n },\n },\n },\n ListAppsCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n guard: \"hasNoAppsInstalled\",\n actions: assign({\n _internalState: (_) => {\n return {\n ..._.context._internalState,\n appsWithMetadata: [],\n };\n },\n }),\n },\n {\n target: \"FetchMetadata\",\n },\n ],\n },\n FetchMetadata: {\n invoke: {\n id: \"getAppsByHash\",\n src: \"getAppsByHash\",\n input: (_) => _.context._internalState.apps,\n onDone: {\n target: \"FetchMetadataCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf({\n Right: (appsWithMetadata) => ({\n ..._.context._internalState,\n appsWithMetadata,\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 FetchMetadataCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"SaveSession\",\n },\n ],\n },\n SaveSession: {\n invoke: {\n src: \"saveSessionState\",\n input: (_) => ({\n appsWithMetadata: _.context._internalState.appsWithMetadata,\n }),\n },\n on: {\n done: {\n target: \"Success\",\n },\n error: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error) {\n return Left(_.context._internalState.error);\n }\n\n return Right(_.context._internalState.appsWithMetadata);\n },\n });\n }\n\n extractDependencies(internalApi: InternalApi): MachineDependencies {\n return {\n getAppsByHash: ({ input }) =>\n internalApi.getManagerApiService().getAppsByHash(input),\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n saveSessionState: (state: DeviceSessionState) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["Left", "Right", "assign", "fromCallback", "fromPromise", "setup", "UserInteractionRequired", "DEFAULT_UNLOCK_TIMEOUT_MS", "ListAppsDeviceAction", "XStateDeviceAction", "ListAppsWithMetadataDeviceAction", "internalAPI", "getAppsByHash", "saveSessionState", "getDeviceSessionState", "unlockTimeout", "listAppsMachine", "input", "sendBack", "appsWithMetadata", "filterted", "app", "updatedState", "error", "context", "_", "apps", "internalApi", "state"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as D,Right as l}from"purify-ts";import{DeviceStatus as M}from"../../../device/DeviceStatus";import{BTC_APP as u,BTC_APP_METADATA as p,CUSTOM_LOCK_SCREEN_APP as V,CUSTOM_LOCK_SCREEN_APP_METADATA as P,ETH_APP as I,ETH_APP_METADATA as g}from"../../../device-action/__test-utils__/data";import{makeDeviceActionInternalApiMock as n}from"../../../device-action/__test-utils__/makeInternalApi";import{setupListAppsMock as r}from"../../../device-action/__test-utils__/setupTestMachine";import{testDeviceActionStates as o}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as e}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as t}from"../../../device-action/model/UserInteractionRequired";import{UnknownDAError as A}from"../../../device-action/os/Errors";import{DeviceSessionStateType as U}from"../../../device-session/DeviceSessionState";import{HttpFetchApiError as f}from"../../../../internal/manager-api/model/Errors";import{ListAppsWithMetadataDeviceAction as d}from"./ListAppsWithMetadataDeviceAction";jest.mock("@api/device-action/os/ListApps/ListAppsDeviceAction");describe("ListAppsWithMetadataDeviceAction",()=>{const{getMetadataForAppHashes:c}=n(),m=jest.fn(),h=jest.fn(),S=jest.fn();function v(){return{getAppsByHash:S,getDeviceSessionState:h,saveSessionState:m}}beforeEach(()=>{jest.resetAllMocks()}),describe("success case",()=>{it("should run the device actions with no apps installed",a=>{r([]);const i=new d({input:{}});c.mockResolvedValue(l([]));const s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{status:e.Completed,output:[]}];o(i,s,n(),a)}),it("should run the device actions with 1 app installed",a=>{r([u]);const i=new d({input:{}});c.mockResolvedValue(l([p]));const s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Completed,output:[p]}];o(i,s,n(),a)}),it("should run the device actions with 2 apps installed",a=>{r([u,I]);const i=new d({input:{}});c.mockResolvedValue(l([p,g]));const s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Completed,output:[p,g]}];o(i,s,n(),a)}),it("should run the device actions with 1 app installed and a custom lock screen",a=>{r([u,V]);const i=new d({input:{}});c.mockResolvedValue(l([p,P]));const s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Completed,output:[p,P]}];o(i,s,n(),a)})}),describe("error case",()=>{it("should error when ListApps fails",a=>{r([],!0);const i=new d({input:{}}),s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{status:e.Error,error:new A("ListApps failed")}];o(i,s,n(),a)}),it("should error when getAppsByHash rejects",a=>{r([u]);const i=new d({input:{}});c.mockRejectedValue(new A("getAppsByHash failed"));const s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Error,error:new A("getAppsByHash failed")}];o(i,s,n(),a)}),it("should error when getAppsByHash fails but error is known",a=>{r([u]);const i=new d({input:{}}),s=new f(new Error("Failed to fetch data"));c.mockResolvedValue(D(s));const w=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Error,error:s}];o(i,w,n(),a)}),it("should error when SaveSession fails",a=>{r([u]);const i=new d({input:{}});S.mockImplementation(async()=>Promise.resolve(l([p]))),jest.spyOn(i,"extractDependencies").mockReturnValue(v()),h.mockReturnValue({sessionStateType:U.ReadyWithoutSecureChannel,deviceStatus:M.CONNECTED,currentApp:"BOLOS",installedApps:[]}),m.mockImplementation(()=>{throw new A("SaveSession failed")});const s=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Error,error:new A("SaveSession failed")}];o(i,s,n(),a)})})});
1
+ import{Left as M,Right as l}from"purify-ts";import{DeviceStatus as V}from"../../../device/DeviceStatus";import{BTC_APP as A,BTC_APP_METADATA as c,CUSTOM_LOCK_SCREEN_APP as f,CUSTOM_LOCK_SCREEN_APP_METADATA as g,ETH_APP as k,ETH_APP_METADATA as w}from"../../../device-action/__test-utils__/data";import{makeDeviceActionInternalApiMock as a}from"../../../device-action/__test-utils__/makeInternalApi";import{setupListAppsMock as o}from"../../../device-action/__test-utils__/setupTestMachine";import{testDeviceActionStates as p}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as e}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as t}from"../../../device-action/model/UserInteractionRequired";import{UnknownDAError as m}from"../../../device-action/os/Errors";import{DeviceSessionStateType as I}from"../../../device-session/DeviceSessionState";import{HttpFetchApiError as U}from"../../../../internal/manager-api/model/Errors";import{ListAppsWithMetadataDeviceAction as d}from"./ListAppsWithMetadataDeviceAction";vi.mock("@api/device-action/os/ListApps/ListAppsDeviceAction");describe("ListAppsWithMetadataDeviceAction",()=>{const{getManagerApiService:u}=a(),v=vi.fn(),h=vi.fn(),S=vi.fn();function P(){return{getAppsByHash:S,getDeviceSessionState:h,saveSessionState:v}}beforeEach(()=>{vi.resetAllMocks()}),describe("success case",()=>{it("should run the device actions with no apps installed",()=>new Promise((r,s)=>{o([]);const i=new d({input:{}});u.mockReturnValue({getAppsByHash:vi.fn().mockResolvedValue(l([]))});const n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{status:e.Completed,output:[]}];p(i,n,a(),{onDone:r,onError:s})})),it("should run the device actions with 1 app installed",()=>new Promise((r,s)=>{o([A]);const i=new d({input:{}});u.mockReturnValue({getAppsByHash:vi.fn().mockResolvedValue(l([c]))});const n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Completed,output:[c]}];p(i,n,a(),{onDone:r,onError:s})})),it("should run the device actions with 2 apps installed",()=>new Promise((r,s)=>{o([A,k]);const i=new d({input:{}});u.mockReturnValue({getAppsByHash:vi.fn().mockResolvedValue(l([c,w]))});const n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Completed,output:[c,w]}];p(i,n,a(),{onDone:r,onError:s})})),it("should run the device actions with 1 app installed and a custom lock screen",()=>new Promise((r,s)=>{o([A,f]);const i=new d({input:{}});u.mockReturnValue({getAppsByHash:vi.fn().mockResolvedValue(l([c,g]))});const n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Completed,output:[c,g]}];p(i,n,a(),{onDone:r,onError:s})}))}),describe("error case",()=>{it("should error when ListApps fails",()=>new Promise((r,s)=>{o([],!0);const i=new d({input:{}}),n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{status:e.Error,error:new m("ListApps failed")}];p(i,n,a(),{onDone:r,onError:s})})),it("should error when getAppsByHash rejects",()=>new Promise((r,s)=>{o([A]);const i=new d({input:{}});u.mockReturnValue({getAppsByHash:vi.fn().mockRejectedValue(new m("getAppsByHash failed"))});const n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Error,error:new m("getAppsByHash failed")}];p(i,n,a(),{onDone:r,onError:s})})),it("should error when getAppsByHash fails but error is known",()=>new Promise((r,s)=>{o([A]);const i=new d({input:{}}),n=new U(new Error("Failed to fetch data"));u.mockReturnValue({getAppsByHash:vi.fn().mockResolvedValue(M(n))});const D=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Error,error:n}];p(i,D,a(),{onDone:r,onError:s})})),it("should error when SaveSession fails",()=>new Promise((r,s)=>{o([A]);const i=new d({input:{}});S.mockImplementation(async()=>Promise.resolve(l([c]))),vi.spyOn(i,"extractDependencies").mockReturnValue(P()),h.mockReturnValue({sessionStateType:I.ReadyWithoutSecureChannel,deviceStatus:V.CONNECTED,currentApp:"BOLOS",installedApps:[]}),v.mockImplementation(()=>{throw new m("SaveSession failed")});const n=[{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.AllowListApps},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{intermediateValue:{requiredUserInteraction:t.None},status:e.Pending},{status:e.Error,error:new m("SaveSession failed")}];p(i,n,a(),{onDone:r,onError:s})}))})});
2
2
  //# sourceMappingURL=ListAppsWithMetadataDeviceAction.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupListAppsMock } 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 { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { ListAppsWithMetadataDeviceAction } from \"./ListAppsWithMetadataDeviceAction\";\nimport { type ListAppsWithMetadataDAState } from \"./types\";\n\njest.mock(\"@api/device-action/os/ListApps/ListAppsDeviceAction\");\n\ndescribe(\"ListAppsWithMetadataDeviceAction\", () => {\n const {\n getMetadataForAppHashes: getMetadataForAppHashesMock,\n // getDeviceSessionState: apiGetDeviceSessionStateMock,\n // setDeviceSessionState: apiSetDeviceSessionStateMock,\n } = makeDeviceActionInternalApiMock();\n\n const saveSessionStateMock = jest.fn();\n const getDeviceSessionStateMock = jest.fn();\n const getAppsByHashMock = jest.fn();\n\n function extractDependenciesMock() {\n return {\n getAppsByHash: getAppsByHashMock,\n getDeviceSessionState: getDeviceSessionStateMock,\n saveSessionState: saveSessionStateMock,\n };\n }\n\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n describe(\"success case\", () => {\n it(\"should run the device actions with no apps installed\", (done) => {\n setupListAppsMock([]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getMetadataForAppHashesMock.mockResolvedValue(Right([]));\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n status: DeviceActionStatus.Completed,\n output: [],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should run the device actions with 1 app installed\", (done) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getMetadataForAppHashesMock.mockResolvedValue(Right([BTC_APP_METADATA]));\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Completed,\n output: [BTC_APP_METADATA],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should run the device actions with 2 apps installed\", (done) => {\n setupListAppsMock([BTC_APP, ETH_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getMetadataForAppHashesMock.mockResolvedValue(\n Right([BTC_APP_METADATA, ETH_APP_METADATA]),\n );\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Completed,\n output: [BTC_APP_METADATA, ETH_APP_METADATA],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should run the device actions with 1 app installed and a custom lock screen\", (done) => {\n setupListAppsMock([BTC_APP, CUSTOM_LOCK_SCREEN_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getMetadataForAppHashesMock.mockResolvedValue(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Completed,\n output: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n\n describe(\"error case\", () => {\n it(\"should error when ListApps fails\", (done) => {\n setupListAppsMock([], true);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"ListApps failed\"),\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should error when getAppsByHash rejects\", (done) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getMetadataForAppHashesMock.mockRejectedValue(\n new UnknownDAError(\"getAppsByHash failed\"),\n );\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"getAppsByHash failed\"),\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should error when getAppsByHash fails but error is known\", (done) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n const error = new HttpFetchApiError(new Error(\"Failed to fetch data\"));\n\n getMetadataForAppHashesMock.mockResolvedValue(Left(error));\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n status: DeviceActionStatus.Error,\n error,\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should error when SaveSession fails\", (done) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getAppsByHashMock.mockImplementation(async () =>\n Promise.resolve(Right([BTC_APP_METADATA])),\n );\n\n jest\n .spyOn(listAppsWithMetadataDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: \"BOLOS\",\n installedApps: [],\n });\n\n saveSessionStateMock.mockImplementation(() => {\n throw new UnknownDAError(\"SaveSession failed\");\n });\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"SaveSession failed\"),\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,QAAAA,EAAM,SAAAC,MAAa,YAE5B,OAAS,gBAAAC,MAAoB,2BAC7B,OACE,WAAAC,EACA,oBAAAC,EACA,0BAAAC,EACA,mCAAAC,EACA,WAAAC,EACA,oBAAAC,MACK,yCACP,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,qBAAAC,MAAyB,qDAClC,OAAS,0BAAAC,MAA8B,2DACvC,OAAS,sBAAAC,MAA0B,6CACnC,OAAS,2BAAAC,MAA+B,mDACxC,OAAS,kBAAAC,MAAsB,+BAC/B,OAAS,0BAAAC,MAA8B,yCACvC,OAAS,qBAAAC,MAAyB,qCAElC,OAAS,oCAAAC,MAAwC,qCAGjD,KAAK,KAAK,qDAAqD,EAE/D,SAAS,mCAAoC,IAAM,CACjD,KAAM,CACJ,wBAAyBC,CAG3B,EAAIT,EAAgC,EAE9BU,EAAuB,KAAK,GAAG,EAC/BC,EAA4B,KAAK,GAAG,EACpCC,EAAoB,KAAK,GAAG,EAElC,SAASC,GAA0B,CACjC,MAAO,CACL,cAAeD,EACf,sBAAuBD,EACvB,iBAAkBD,CACpB,CACF,CAEA,WAAW,IAAM,CACf,KAAK,cAAc,CACrB,CAAC,EAED,SAAS,eAAgB,IAAM,CAC7B,GAAG,uDAAyDI,GAAS,CACnEb,EAAkB,CAAC,CAAC,EACpB,MAAMc,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEHC,EAA4B,kBAAkBjB,EAAM,CAAC,CAAC,CAAC,EAEvD,MAAMwB,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,UAC3B,OAAQ,CAAC,CACX,CACF,EAEAD,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,EAED,GAAG,qDAAuDA,GAAS,CACjEb,EAAkB,CAACP,CAAO,CAAC,EAC3B,MAAMqB,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEHC,EAA4B,kBAAkBjB,EAAM,CAACG,CAAgB,CAAC,CAAC,EAEvE,MAAMqB,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,UAC3B,OAAQ,CAACR,CAAgB,CAC3B,CACF,EAEAO,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,EAED,GAAG,sDAAwDA,GAAS,CAClEb,EAAkB,CAACP,EAASI,CAAO,CAAC,EACpC,MAAMiB,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEHC,EAA4B,kBAC1BjB,EAAM,CAACG,EAAkBI,CAAgB,CAAC,CAC5C,EAEA,MAAMiB,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,UAC3B,OAAQ,CAACR,EAAkBI,CAAgB,CAC7C,CACF,EAEAG,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,EAED,GAAG,8EAAgFA,GAAS,CAC1Fb,EAAkB,CAACP,EAASE,CAAsB,CAAC,EACnD,MAAMmB,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEHC,EAA4B,kBAC1BjB,EAAM,CAACG,EAAkBE,CAA+B,CAAC,CAC3D,EAEA,MAAMmB,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,UAC3B,OAAQ,CAACR,EAAkBE,CAA+B,CAC5D,CACF,EAEAK,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,CACH,CAAC,EAED,SAAS,aAAc,IAAM,CAC3B,GAAG,mCAAqCA,GAAS,CAC/Cb,EAAkB,CAAC,EAAG,EAAI,EAC1B,MAAMc,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEGQ,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,MAC3B,MAAO,IAAIE,EAAe,iBAAiB,CAC7C,CACF,EAEAH,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,EAED,GAAG,0CAA4CA,GAAS,CACtDb,EAAkB,CAACP,CAAO,CAAC,EAC3B,MAAMqB,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEHC,EAA4B,kBAC1B,IAAIJ,EAAe,sBAAsB,CAC3C,EAEA,MAAMW,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,MAC3B,MAAO,IAAIE,EAAe,sBAAsB,CAClD,CACF,EAEAH,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,EAED,GAAG,2DAA6DA,GAAS,CACvEb,EAAkB,CAACP,CAAO,CAAC,EAC3B,MAAMqB,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEGS,EAAQ,IAAIV,EAAkB,IAAI,MAAM,sBAAsB,CAAC,EAErEE,EAA4B,kBAAkBlB,EAAK0B,CAAK,CAAC,EAEzD,MAAMD,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,MAC3B,MAAAc,CACF,CACF,EAEAf,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,EAED,GAAG,sCAAwCA,GAAS,CAClDb,EAAkB,CAACP,CAAO,CAAC,EAC3B,MAAMqB,EACJ,IAAIP,EAAiC,CACnC,MAAO,CAAC,CACV,CAAC,EAEHI,EAAkB,mBAAmB,SACnC,QAAQ,QAAQpB,EAAM,CAACG,CAAgB,CAAC,CAAC,CAC3C,EAEA,KACG,MAAMoB,EAAkC,qBAAqB,EAC7D,gBAAgBF,EAAwB,CAAC,EAE5CF,EAA0B,gBAAgB,CACxC,iBAAkBL,EAAuB,0BACzC,aAAcb,EAAa,UAC3B,WAAY,QACZ,cAAe,CAAC,CAClB,CAAC,EAEDiB,EAAqB,mBAAmB,IAAM,CAC5C,MAAM,IAAIL,EAAe,oBAAoB,CAC/C,CAAC,EAED,MAAMW,EAAqD,CACzD,CACE,kBAAmB,CACjB,wBAAyBZ,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,aACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,kBAAmB,CACjB,wBAAyBC,EAAwB,IACnD,EACA,OAAQD,EAAmB,OAC7B,EACA,CACE,OAAQA,EAAmB,MAC3B,MAAO,IAAIE,EAAe,oBAAoB,CAChD,CACF,EAEAH,EACEa,EACAC,EACAhB,EAAgC,EAChCc,CACF,CACF,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["Left", "Right", "DeviceStatus", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "ETH_APP", "ETH_APP_METADATA", "makeDeviceActionInternalApiMock", "setupListAppsMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "UnknownDAError", "DeviceSessionStateType", "HttpFetchApiError", "ListAppsWithMetadataDeviceAction", "getMetadataForAppHashesMock", "saveSessionStateMock", "getDeviceSessionStateMock", "getAppsByHashMock", "extractDependenciesMock", "done", "listAppsWithMetadataDeviceAction", "expectedStates", "error"]
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupListAppsMock } 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 { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { ListAppsWithMetadataDeviceAction } from \"./ListAppsWithMetadataDeviceAction\";\nimport { type ListAppsWithMetadataDAState } from \"./types\";\n\nvi.mock(\"@api/device-action/os/ListApps/ListAppsDeviceAction\");\n\ndescribe(\"ListAppsWithMetadataDeviceAction\", () => {\n const { getManagerApiService: getManagerApiServiceMock } =\n makeDeviceActionInternalApiMock();\n\n const saveSessionStateMock = vi.fn();\n const getDeviceSessionStateMock = vi.fn();\n const getAppsByHashMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n getAppsByHash: getAppsByHashMock,\n getDeviceSessionState: getDeviceSessionStateMock,\n saveSessionState: saveSessionStateMock,\n };\n }\n\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"success case\", () => {\n it(\"should run the device actions with no apps installed\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getManagerApiServiceMock.mockReturnValue({\n getAppsByHash: vi.fn().mockResolvedValue(Right([])),\n } as unknown as ManagerApiService);\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n status: DeviceActionStatus.Completed,\n output: [],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should run the device actions with 1 app installed\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getManagerApiServiceMock.mockReturnValue({\n getAppsByHash: vi.fn().mockResolvedValue(Right([BTC_APP_METADATA])),\n } as unknown as ManagerApiService);\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Completed,\n output: [BTC_APP_METADATA],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should run the device actions with 2 apps installed\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([BTC_APP, ETH_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getManagerApiServiceMock.mockReturnValue({\n getAppsByHash: vi\n .fn()\n .mockResolvedValue(Right([BTC_APP_METADATA, ETH_APP_METADATA])),\n } as unknown as ManagerApiService);\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Completed,\n output: [BTC_APP_METADATA, ETH_APP_METADATA],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should run the device actions with 1 app installed and a custom lock screen\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([BTC_APP, CUSTOM_LOCK_SCREEN_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getManagerApiServiceMock.mockReturnValue({\n getAppsByHash: vi\n .fn()\n .mockResolvedValue(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n ),\n } as unknown as ManagerApiService);\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Completed,\n output: [BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA],\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"error case\", () => {\n it(\"should error when ListApps fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([], true);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"ListApps failed\"),\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should error when getAppsByHash rejects\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getManagerApiServiceMock.mockReturnValue({\n getAppsByHash: vi\n .fn()\n .mockRejectedValue(new UnknownDAError(\"getAppsByHash failed\")),\n } as unknown as ManagerApiService);\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"getAppsByHash failed\"),\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should error when getAppsByHash fails but error is known\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n const error = new HttpFetchApiError(new Error(\"Failed to fetch data\"));\n\n getManagerApiServiceMock.mockReturnValue({\n getAppsByHash: vi.fn().mockResolvedValue(Left(error)),\n } as unknown as ManagerApiService);\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n status: DeviceActionStatus.Error,\n error,\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should error when SaveSession fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupListAppsMock([BTC_APP]);\n const listAppsWithMetadataDeviceAction =\n new ListAppsWithMetadataDeviceAction({\n input: {},\n });\n\n getAppsByHashMock.mockImplementation(async () =>\n Promise.resolve(Right([BTC_APP_METADATA])),\n );\n\n vi.spyOn(\n listAppsWithMetadataDeviceAction,\n \"extractDependencies\",\n ).mockReturnValue(extractDependenciesMock());\n\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: \"BOLOS\",\n installedApps: [],\n });\n\n saveSessionStateMock.mockImplementation(() => {\n throw new UnknownDAError(\"SaveSession failed\");\n });\n\n const expectedStates: Array<ListAppsWithMetadataDAState> = [\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // Ready\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.AllowListApps,\n },\n status: DeviceActionStatus.Pending, // ListAppsDeviceAction\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // FetchMetadata\n },\n {\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n status: DeviceActionStatus.Pending, // SaveSession\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"SaveSession failed\"),\n },\n ];\n\n testDeviceActionStates(\n listAppsWithMetadataDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Right", "DeviceStatus", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "ETH_APP", "ETH_APP_METADATA", "makeDeviceActionInternalApiMock", "setupListAppsMock", "testDeviceActionStates", "DeviceActionStatus", "UserInteractionRequired", "UnknownDAError", "DeviceSessionStateType", "HttpFetchApiError", "ListAppsWithMetadataDeviceAction", "getManagerApiServiceMock", "saveSessionStateMock", "getDeviceSessionStateMock", "getAppsByHashMock", "extractDependenciesMock", "resolve", "reject", "listAppsWithMetadataDeviceAction", "expectedStates", "error"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as D,Right as y}from"purify-ts";import{assign as t,fromPromise as c,setup as g}from"xstate";import{isSuccessCommandResult as u}from"../../../command/model/CommandResult";import{CloseAppCommand as O}from"../../../command/os/CloseAppCommand";import{OpenAppCommand as v}from"../../../command/os/OpenAppCommand";import{UserInteractionRequired as i}from"../../../device-action/model/UserInteractionRequired";import{DEFAULT_UNLOCK_TIMEOUT_MS as h}from"../../../device-action/os/Const";import{DeviceNotOnboardedError as E}from"../../../device-action/os/Errors";import{GetDeviceStatusDeviceAction as C}from"../../../device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction";import{XStateDeviceAction as R}from"../../../device-action/xstate-utils/XStateDeviceAction";import{DeviceSessionStateType as l}from"../../../device-session/DeviceSessionState";class q extends R{makeStateMachine(r){const{closeApp:o,openApp:s,getDeviceSessionState:a,isDeviceOnboarded:A,setDeviceSessionState:d}=this.extractDependencies(r),S=this.input.unlockTimeout??h,m=new C({input:{unlockTimeout:S}}).makeStateMachine(r);return g({types:{input:{},context:{},output:{}},actors:{closeApp:c(o),openApp:c(s),getDeviceStatus:m},guards:{isDeviceOnboarded:()=>A(),isRequestedAppOpen:({context:e})=>{if(e._internalState.currentlyRunningApp===null)throw new Error("context.currentlyRunningApp === null");return e._internalState.currentlyRunningApp===e.input.appName},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:t({_internalState:e=>({...e.context._internalState,error:new E})}),assignUserActionNeededOpenApp:t({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:i.ConfirmOpenApp})}),assignNoUserActionNeeded:t({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:i.None})}),assignErrorFromEvent:t({_internalState:e=>({...e.context._internalState,error:e.event.error})}),assignNoError:t({_internalState:e=>({...e.context._internalState,error:null})})}}).createMachine({id:"OpenAppDeviceAction",initial:"DeviceReady",context:({input:e})=>{const n=a(),{sessionStateType:p}=n;return{input:e,intermediateValue:{requiredUserInteraction:i.None},_internalState:{error:null,currentlyRunningApp:p===l.ReadyWithoutSecureChannel?n.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:t({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{target:"CheckDeviceStatus",actions:t({_internalState:e=>e.event.output.caseOf({Right:n=>{const p=a();return p.sessionStateType!==l.Connected&&d({...p,currentApp:{name:n.currentApp,version:n.currentAppVersion}}),{...e.context._internalState,currentlyRunningApp:n.currentApp}},Left:n=>({...e.context._internalState,error:n})})})}}},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:t({_internalState:e=>u(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:t({_internalState:e=>u(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?D(e._internalState.error):y(void 0)})}extractDependencies(r){return{closeApp:async()=>r.sendCommand(new O),openApp:async a=>r.sendCommand(new v({appName:a.input.appName})),getDeviceSessionState:()=>r.getDeviceSessionState(),setDeviceSessionState:a=>r.setDeviceSessionState(a),isDeviceOnboarded:()=>!0}}}export{q as OpenAppDeviceAction};
1
+ import{Left as D,Right as y}from"purify-ts";import{assign as t,fromPromise as c,setup as g}from"xstate";import{isSuccessCommandResult as u}from"../../../command/model/CommandResult";import{CloseAppCommand as O}from"../../../command/os/CloseAppCommand";import{OpenAppCommand as v}from"../../../command/os/OpenAppCommand";import{UserInteractionRequired as i}from"../../../device-action/model/UserInteractionRequired";import{DEFAULT_UNLOCK_TIMEOUT_MS as h}from"../../../device-action/os/Const";import{DeviceNotOnboardedError as E}from"../../../device-action/os/Errors";import{GetDeviceStatusDeviceAction as R}from"../../../device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction";import{XStateDeviceAction as C}from"../../../device-action/xstate-utils/XStateDeviceAction";import{DeviceSessionStateType as l}from"../../../device-session/DeviceSessionState";class q extends C{makeStateMachine(r){const{closeApp:o,openApp:s,getDeviceSessionState:a,isDeviceOnboarded:A,setDeviceSessionState:d}=this.extractDependencies(r),S=this.input.unlockTimeout??h,m=new R({input:{unlockTimeout:S}}).makeStateMachine(r);return g({types:{input:{},context:{},output:{}},actors:{closeApp:c(o),openApp:c(s),getDeviceStatus:m},guards:{isDeviceOnboarded:()=>A(),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:t({_internalState:e=>({...e.context._internalState,error:new E})}),assignUserActionNeededOpenApp:t({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:i.ConfirmOpenApp})}),assignNoUserActionNeeded:t({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:i.None})}),assignErrorFromEvent:t({_internalState:e=>({...e.context._internalState,error:e.event.error})}),assignNoError:t({_internalState:e=>({...e.context._internalState,error:null})})}}).createMachine({id:"OpenAppDeviceAction",initial:"DeviceReady",context:({input:e})=>{const n=a(),{sessionStateType:p}=n;return{input:e,intermediateValue:{requiredUserInteraction:i.None},_internalState:{error:null,currentlyRunningApp:p===l.ReadyWithoutSecureChannel?n.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:t({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{target:"CheckDeviceStatus",actions:t({_internalState:e=>e.event.output.caseOf({Right:n=>{const p=a();return p.sessionStateType!==l.Connected&&d({...p,currentApp:{name:n.currentApp,version:n.currentAppVersion}}),{...e.context._internalState,currentlyRunningApp:n.currentApp}},Left:n=>({...e.context._internalState,error:n})})})}}},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:t({_internalState:e=>u(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:t({_internalState:e=>u(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?D(e._internalState.error):y(void 0)})}extractDependencies(r){return{closeApp:async()=>r.sendCommand(new O),openApp:async a=>r.sendCommand(new v({appName:a.input.appName})),getDeviceSessionState:()=>r.getDeviceSessionState(),setDeviceSessionState:a=>r.setDeviceSessionState(a),isDeviceOnboarded:()=>!0}}}export{q as 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 === 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 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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",
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
6
  "names": ["Left", "Right", "assign", "fromPromise", "setup", "isSuccessCommandResult", "CloseAppCommand", "OpenAppCommand", "UserInteractionRequired", "DEFAULT_UNLOCK_TIMEOUT_MS", "DeviceNotOnboardedError", "GetDeviceStatusDeviceAction", "XStateDeviceAction", "DeviceSessionStateType", "OpenAppDeviceAction", "internalApi", "closeApp", "openApp", "getDeviceSessionState", "isDeviceOnboarded", "setDeviceSessionState", "unlockTimeout", "getDeviceStatusMachine", "context", "_", "input", "sessionState", "sessionStateType", "output", "state", "error", "arg0"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{lastValueFrom as O}from"rxjs";import{InvalidStatusWordError as l}from"../../../command/Errors";import{CommandResultFactory as A}from"../../../command/model/CommandResult";import{DeviceStatus as o}from"../../../device/DeviceStatus";import{makeDeviceActionInternalApiMock as s}from"../../../device-action/__test-utils__/makeInternalApi";import{setupGetDeviceStatusMock as m}from"../../../device-action/__test-utils__/setupTestMachine";import{testDeviceActionStates as c}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as e}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as n}from"../../../device-action/model/UserInteractionRequired";import{DeviceLockedError as y,DeviceNotOnboardedError as R,UnknownDAError as V}from"../../../device-action/os/Errors";import{DeviceSessionStateType as a}from"../../../device-session/DeviceSessionState";import{OpenAppDeviceAction as u}from"./OpenAppDeviceAction";jest.mock("@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction");describe("OpenAppDeviceAction",()=>{const k=jest.fn(),S=jest.fn(),v=jest.fn(),p=jest.fn(),h=jest.fn(),N=jest.fn();function d(){return{getDeviceSessionState:p,setDeviceSessionState:h,getAppAndVersion:k,openApp:S,closeApp:v,isDeviceOnboarded:N}}const{getDeviceSessionState:C}=s();beforeEach(()=>{jest.resetAllMocks(),N.mockReturnValue(!0)}),describe("without overriding `extractDependencies`",()=>{it("should end if the required application is opened",r=>{C.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"},installedApps:[]}),m([{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]);const t=new u({input:{appName:"Bitcoin"}}),i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Completed,output:void 0}];c(t,i,s(),r)})}),describe("success cases",()=>{it("should end in a success if the app is already opened",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"}}),m([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]);const t=new u({input:{appName:"Bitcoin",unlockTimeout:void 0}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Completed,output:void 0}];c(t,i,s(),r)}),it("should end in a success if the dashboard is open and open app succeeds",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}),m([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),S.mockResolvedValue(A({data:void 0}));const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Completed,output:void 0}],{observable:D}=c(t,i,s(),r);O(D).then(()=>{expect(h).toHaveBeenCalledWith({deviceStatus:o.CONNECTED,sessionStateType:a.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=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),m([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),v.mockResolvedValue(A({data:void 0})),S.mockResolvedValue(A({data:void 0}));const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.ConfirmOpenApp}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Completed,output:void 0}],{observable:D}=c(t,i,s(),r);O(D).then(()=>{expect(h).toHaveBeenCalledWith({currentApp:{name:"Bitcoin",version:"1.0.0"},deviceStatus:o.CONNECTED,sessionStateType:a.ReadyWithoutSecureChannel})})})}),describe("errors cases",()=>{it("should end in an error if the device is not onboarded",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),N.mockReturnValue(!1);const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{error:new R,status:e.Error}];c(t,i,s(),r)}),it("should end in an error if the device is locked",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.LOCKED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),m([new y]);const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Error,error:new y}];c(t,i,s(),r)}),it("should end in an error if getAppAndVersion returns an error",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),m([new l("mocked error")]);const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Error,error:new l("mocked error")}];c(t,i,s(),r)}),it("should end in an error if the dashboard is open and open app returns an error",r=>{p.mockReturnValue(A({data:{sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),k.mockResolvedValue(A({data:{name:"BOLOS",version:"0.0.0"}})),m([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),S.mockResolvedValue(A({error:new l("mocked error")}));const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.ConfirmOpenApp}},{status:e.Error,error:new l("mocked error")}];c(t,i,s(),r)}),it("should end in an error if another app is open, and close app returns an error",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),m([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),v.mockResolvedValue(A({error:new l("mocked error")}));const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Error,error:new l("mocked error")}];c(t,i,s(),r)}),it("should end in an error if another app is open, close app succeeds but open app returns an error",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),m([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),v.mockResolvedValue(A({data:void 0})),S.mockResolvedValue(A({error:new l("mocked error")}));const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.ConfirmOpenApp}},{status:e.Error,error:new l("mocked error")}];c(t,i,s(),r)}),it("should end in an error if getAppAndVersion actor throws an error",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),m([new V("Unknown error")]);const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Error,error:new V("Unknown error")}];c(t,i,s(),r)}),it("should end in an error if openApp actor throws an error",r=>{p.mockReturnValue(A({data:{sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),m([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),S.mockImplementation(()=>{throw new V("Unknown error")});const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.ConfirmOpenApp}},{status:e.Error,error:new V("Unknown error")}];c(t,i,s(),r)}),it("should end in an error if closeApp actor throws an error",r=>{p.mockReturnValue(A({data:{sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),m([{currentApp:"anApp",currentAppVersion:"0.0.0"}]),v.mockImplementation(()=>{throw new V("Unknown error")});const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Error,error:new V("Unknown error")}];c(t,i,s(),r)})}),it("should emit a stopped state if the action is cancelled",r=>{p.mockReturnValue({sessionStateType:a.ReadyWithoutSecureChannel,deviceStatus:o.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),m([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]);const t=new u({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(d());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:n.None}},{status:e.Stopped}],{cancel:D}=c(t,i,s(),r);D()})});
1
+ import{lastValueFrom as y}from"rxjs";import{InvalidStatusWordError as v}from"../../../command/Errors";import{CommandResultFactory as l}from"../../../command/model/CommandResult";import{DeviceModelId as w}from"../../../device/DeviceModel";import{DeviceStatus as a}from"../../../device/DeviceStatus";import{makeDeviceActionInternalApiMock as p}from"../../../device-action/__test-utils__/makeInternalApi";import{setupGetDeviceStatusMock as A}from"../../../device-action/__test-utils__/setupTestMachine";import{testDeviceActionStates as u}from"../../../device-action/__test-utils__/testDeviceActionStates";import{DeviceActionStatus as e}from"../../../device-action/model/DeviceActionState";import{UserInteractionRequired as t}from"../../../device-action/model/UserInteractionRequired";import{DeviceLockedError as C,DeviceNotOnboardedError as R,UnknownDAError as D}from"../../../device-action/os/Errors";import{DeviceSessionStateType as s}from"../../../device-session/DeviceSessionState";import{OpenAppDeviceAction as d}from"./OpenAppDeviceAction";vi.mock("@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction");describe("OpenAppDeviceAction",()=>{const O=vi.fn(),S=vi.fn(),V=vi.fn(),c=vi.fn(),h=vi.fn(),k=vi.fn();function m(){return{getDeviceSessionState:c,setDeviceSessionState:h,getAppAndVersion:O,openApp:S,closeApp:V,isDeviceOnboarded:k}}const{getDeviceSessionState:E}=p();beforeEach(()=>{vi.resetAllMocks(),k.mockReturnValue(!0)}),describe("without overriding `extractDependencies`",()=>{it("should end if the required application is opened",()=>new Promise((r,o)=>{E.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"},installedApps:[],deviceModelId:w.NANO_X}),A([{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]);const n=new d({input:{appName:"Bitcoin"}}),i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Completed,output:void 0}];u(n,i,p(),{onDone:r,onError:o})}))}),describe("success cases",()=>{it("should end in a success if the app is already opened",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"}}),A([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]);const n=new d({input:{appName:"Bitcoin",unlockTimeout:void 0}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Completed,output:void 0}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in a success if a compatible app is already opened",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"Bitcoin Testnet",version:"1.0.0"}}),A([{currentApp:"Bitcoin Testnet",currentAppVersion:"1.0.0"}]);const n=new d({input:{appName:"Bitcoin",unlockTimeout:void 0,compatibleAppNames:["Bitcoin Testnet"]}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Completed,output:void 0}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in a success if the dashboard is open and open app succeeds",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}),A([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),S.mockResolvedValue(l({data:void 0}));const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Completed,output:void 0}],{observable:N}=u(n,i,p(),{onDone:r,onError:o});y(N).then(()=>{expect(h).toHaveBeenCalledWith({deviceStatus:a.CONNECTED,sessionStateType:s.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",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),A([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),V.mockResolvedValue(l({data:void 0})),S.mockResolvedValue(l({data:void 0}));const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.ConfirmOpenApp}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Completed,output:void 0}],{observable:N}=u(n,i,p(),{onDone:r,onError:o});y(N).then(()=>{expect(h).toHaveBeenCalledWith({currentApp:{name:"Bitcoin",version:"1.0.0"},deviceStatus:a.CONNECTED,sessionStateType:s.ReadyWithoutSecureChannel})})}))}),describe("errors cases",()=>{it("should end in an error if the device is not onboarded",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),k.mockReturnValue(!1);const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{error:new R,status:e.Error}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in an error if the device is locked",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.LOCKED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),A([new C]);const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Error,error:new C}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in an error if getAppAndVersion returns an error",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),A([new v("mocked error")]);const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Error,error:new v("mocked error")}];u(n,i,p(),{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)=>{c.mockReturnValue(l({data:{sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),O.mockResolvedValue(l({data:{name:"BOLOS",version:"0.0.0"}})),A([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),S.mockResolvedValue(l({error:new v("mocked error")}));const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.ConfirmOpenApp}},{status:e.Error,error:new v("mocked error")}];u(n,i,p(),{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)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),A([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),V.mockResolvedValue(l({error:new v("mocked error")}));const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Error,error:new v("mocked error")}];u(n,i,p(),{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)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),A([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),V.mockResolvedValue(l({data:void 0})),S.mockResolvedValue(l({error:new v("mocked error")}));const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.ConfirmOpenApp}},{status:e.Error,error:new v("mocked error")}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in an error if getAppAndVersion actor throws an error",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),A([new D("Unknown error")]);const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Error,error:new D("Unknown error")}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in an error if openApp actor throws an error",()=>new Promise((r,o)=>{c.mockReturnValue(l({data:{sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),A([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),S.mockImplementation(()=>{throw new D("Unknown error")});const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.ConfirmOpenApp}},{status:e.Error,error:new D("Unknown error")}];u(n,i,p(),{onDone:r,onError:o})})),it("should end in an error if closeApp actor throws an error",()=>new Promise((r,o)=>{c.mockReturnValue(l({data:{sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),A([{currentApp:"anApp",currentAppVersion:"0.0.0"}]),V.mockImplementation(()=>{throw new D("Unknown error")});const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Error,error:new D("Unknown error")}];u(n,i,p(),{onDone:r,onError:o})})),it("should emit a stopped state if the action is cancelled",()=>new Promise((r,o)=>{c.mockReturnValue({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:a.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),A([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]);const n=new d({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(m());const i=[{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Pending,intermediateValue:{requiredUserInteraction:t.None}},{status:e.Stopped}],{cancel:N}=u(n,i,p(),{onDone:r,onError:o});N()}))})});
2
2
  //# sourceMappingURL=OpenAppDeviceAction.test.js.map