@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,2 +1,2 @@
1
- "use strict";var k=require("rxjs"),S=require("../../../command/Errors"),A=require("../../../command/model/CommandResult"),o=require("../../../device/DeviceStatus"),s=require("../../../device-action/__test-utils__/makeInternalApi"),d=require("../../../device-action/__test-utils__/setupTestMachine"),p=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),n=require("../../../device-action/model/UserInteractionRequired"),l=require("../../../device-action/os/Errors"),a=require("../../../device-session/DeviceSessionState"),c=require("./OpenAppDeviceAction");jest.mock("@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction");describe("OpenAppDeviceAction",()=>{const O=jest.fn(),V=jest.fn(),v=jest.fn(),u=jest.fn(),h=jest.fn(),N=jest.fn();function m(){return{getDeviceSessionState:u,setDeviceSessionState:h,getAppAndVersion:O,openApp:V,closeApp:v,isDeviceOnboarded:N}}const{getDeviceSessionState:y}=(0,s.makeDeviceActionInternalApiMock)();beforeEach(()=>{jest.resetAllMocks(),N.mockReturnValue(!0)}),describe("without overriding `extractDependencies`",()=>{it("should end if the required application is opened",r=>{y.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"},installedApps:[]}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}}),i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)})}),describe("success cases",()=>{it("should end in a success if the app is already opened",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin",unlockTimeout:void 0}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in a success if the dashboard is open and open app succeeds",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),V.mockResolvedValue((0,A.CommandResultFactory)({data:void 0}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:D}=(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r);(0,k.lastValueFrom)(D).then(()=>{expect(h).toHaveBeenCalledWith({deviceStatus:o.DeviceStatus.CONNECTED,sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,currentApp:{name:"Bitcoin",version:"1.0.0"}})})}),it("should end in a success if another app is open, close app succeeds and open app succeeds",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),v.mockResolvedValue((0,A.CommandResultFactory)({data:void 0})),V.mockResolvedValue((0,A.CommandResultFactory)({data:void 0}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:D}=(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r);(0,k.lastValueFrom)(D).then(()=>{expect(h).toHaveBeenCalledWith({currentApp:{name:"Bitcoin",version:"1.0.0"},deviceStatus:o.DeviceStatus.CONNECTED,sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel})})})}),describe("errors cases",()=>{it("should end in an error if the device is not onboarded",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),N.mockReturnValue(!1);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{error:new l.DeviceNotOnboardedError,status:e.DeviceActionStatus.Error}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if the device is locked",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.LOCKED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([new l.DeviceLockedError]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new l.DeviceLockedError}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if getAppAndVersion returns an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([new S.InvalidStatusWordError("mocked error")]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if the dashboard is open and open app returns an error",r=>{u.mockReturnValue((0,A.CommandResultFactory)({data:{sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),O.mockResolvedValue((0,A.CommandResultFactory)({data:{name:"BOLOS",version:"0.0.0"}})),(0,d.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),V.mockResolvedValue((0,A.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if another app is open, and close app returns an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),v.mockResolvedValue((0,A.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if another app is open, close app succeeds but open app returns an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),v.mockResolvedValue((0,A.CommandResultFactory)({data:void 0})),V.mockResolvedValue((0,A.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if getAppAndVersion actor throws an error",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,d.setupGetDeviceStatusMock)([new l.UnknownDAError("Unknown error")]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new l.UnknownDAError("Unknown error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if openApp actor throws an error",r=>{u.mockReturnValue((0,A.CommandResultFactory)({data:{sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,d.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),V.mockImplementation(()=>{throw new l.UnknownDAError("Unknown error")});const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new l.UnknownDAError("Unknown error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)}),it("should end in an error if closeApp actor throws an error",r=>{u.mockReturnValue((0,A.CommandResultFactory)({data:{sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,d.setupGetDeviceStatusMock)([{currentApp:"anApp",currentAppVersion:"0.0.0"}]),v.mockImplementation(()=>{throw new l.UnknownDAError("Unknown error")});const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new l.UnknownDAError("Unknown error")}];(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r)})}),it("should emit a stopped state if the action is cancelled",r=>{u.mockReturnValue({sessionStateType:a.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:o.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,d.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]);const t=new c.OpenAppDeviceAction({input:{appName:"Bitcoin"}});jest.spyOn(t,"extractDependencies").mockReturnValue(m());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:n.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Stopped}],{cancel:D}=(0,p.testDeviceActionStates)(t,i,(0,s.makeDeviceActionInternalApiMock)(),r);D()})});
1
+ "use strict";var O=require("rxjs"),S=require("../../../command/Errors"),l=require("../../../command/model/CommandResult"),C=require("../../../device/DeviceModel"),a=require("../../../device/DeviceStatus"),p=require("../../../device-action/__test-utils__/makeInternalApi"),m=require("../../../device-action/__test-utils__/setupTestMachine"),c=require("../../../device-action/__test-utils__/testDeviceActionStates"),e=require("../../../device-action/model/DeviceActionState"),t=require("../../../device-action/model/UserInteractionRequired"),v=require("../../../device-action/os/Errors"),s=require("../../../device-session/DeviceSessionState"),u=require("./OpenAppDeviceAction");vi.mock("@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction");describe("OpenAppDeviceAction",()=>{const y=vi.fn(),D=vi.fn(),V=vi.fn(),d=vi.fn(),h=vi.fn(),k=vi.fn();function A(){return{getDeviceSessionState:d,setDeviceSessionState:h,getAppAndVersion:y,openApp:D,closeApp:V,isDeviceOnboarded:k}}const{getDeviceSessionState:E}=(0,p.makeDeviceActionInternalApiMock)();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.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"},installedApps:[],deviceModelId:C.DeviceModelId.NANO_X}),(0,m.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"0.0.0"}]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}}),i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})}))}),describe("success cases",()=>{it("should end in a success if the app is already opened",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin",version:"1.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin",unlockTimeout:void 0}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in a success if a compatible app is already opened",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"Bitcoin Testnet",version:"1.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"Bitcoin Testnet",currentAppVersion:"1.0.0"}]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin",unlockTimeout:void 0,compatibleAppNames:["Bitcoin Testnet"]}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in a success if the dashboard is open and open app succeeds",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),D.mockResolvedValue((0,l.CommandResultFactory)({data:void 0}));const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:N}=(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o});(0,O.lastValueFrom)(N).then(()=>{expect(h).toHaveBeenCalledWith({deviceStatus:a.DeviceStatus.CONNECTED,sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,currentApp:{name:"Bitcoin",version:"1.0.0"}})})})),it("should end in a success if another app is open, close app succeeds and open app succeeds",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"},{currentApp:"Bitcoin",currentAppVersion:"1.0.0"}]),V.mockResolvedValue((0,l.CommandResultFactory)({data:void 0})),D.mockResolvedValue((0,l.CommandResultFactory)({data:void 0}));const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Completed,output:void 0}],{observable:N}=(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o});(0,O.lastValueFrom)(N).then(()=>{expect(h).toHaveBeenCalledWith({currentApp:{name:"Bitcoin",version:"1.0.0"},deviceStatus:a.DeviceStatus.CONNECTED,sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel})})}))}),describe("errors cases",()=>{it("should end in an error if the device is not onboarded",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),k.mockReturnValue(!1);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{error:new v.DeviceNotOnboardedError,status:e.DeviceActionStatus.Error}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if the device is locked",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.LOCKED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,m.setupGetDeviceStatusMock)([new v.DeviceLockedError]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new v.DeviceLockedError}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if getAppAndVersion returns an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,m.setupGetDeviceStatusMock)([new S.InvalidStatusWordError("mocked error")]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if the dashboard is open and open app returns an error",()=>new Promise((r,o)=>{d.mockReturnValue((0,l.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),y.mockResolvedValue((0,l.CommandResultFactory)({data:{name:"BOLOS",version:"0.0.0"}})),(0,m.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),D.mockResolvedValue((0,l.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if another app is open, and close app returns an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),V.mockResolvedValue((0,l.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if another app is open, close app succeeds but open app returns an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]),V.mockResolvedValue((0,l.CommandResultFactory)({data:void 0})),D.mockResolvedValue((0,l.CommandResultFactory)({error:new S.InvalidStatusWordError("mocked error")}));const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new S.InvalidStatusWordError("mocked error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if getAppAndVersion actor throws an error",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"mockedCurrentApp",version:"1.0.0"}}),(0,m.setupGetDeviceStatusMock)([new v.UnknownDAError("Unknown error")]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new v.UnknownDAError("Unknown error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if openApp actor throws an error",()=>new Promise((r,o)=>{d.mockReturnValue((0,l.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,m.setupGetDeviceStatusMock)([{currentApp:"BOLOS",currentAppVersion:"0.0.0"}]),D.mockImplementation(()=>{throw new v.UnknownDAError("Unknown error")});const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.ConfirmOpenApp}},{status:e.DeviceActionStatus.Error,error:new v.UnknownDAError("Unknown error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should end in an error if closeApp actor throws an error",()=>new Promise((r,o)=>{d.mockReturnValue((0,l.CommandResultFactory)({data:{sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"BOLOS",version:"0.0.0"}}})),(0,m.setupGetDeviceStatusMock)([{currentApp:"anApp",currentAppVersion:"0.0.0"}]),V.mockImplementation(()=>{throw new v.UnknownDAError("Unknown error")});const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Error,error:new v.UnknownDAError("Unknown error")}];(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o})})),it("should emit a stopped state if the action is cancelled",()=>new Promise((r,o)=>{d.mockReturnValue({sessionStateType:s.DeviceSessionStateType.ReadyWithoutSecureChannel,deviceStatus:a.DeviceStatus.CONNECTED,currentApp:{name:"AnotherApp",version:"0.0.0"}}),(0,m.setupGetDeviceStatusMock)([{currentApp:"AnotherApp",currentAppVersion:"0.0.0"}]);const n=new u.OpenAppDeviceAction({input:{appName:"Bitcoin"}});vi.spyOn(n,"extractDependencies").mockReturnValue(A());const i=[{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:t.UserInteractionRequired.None}},{status:e.DeviceActionStatus.Stopped}],{cancel:N}=(0,c.testDeviceActionStates)(n,i,(0,p.makeDeviceActionInternalApiMock)(),{onDone:r,onError:o});N()}))})});
2
2
  //# sourceMappingURL=OpenAppDeviceAction.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.ts"],
4
- "sourcesContent": ["import { lastValueFrom } from \"rxjs\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceStatusMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeviceLockedError,\n DeviceNotOnboardedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\n\nimport { OpenAppDeviceAction } from \"./OpenAppDeviceAction\";\nimport type { OpenAppDAState } from \"./types\";\n\njest.mock(\"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\");\n\ndescribe(\"OpenAppDeviceAction\", () => {\n const getAppAndVersionMock = jest.fn();\n const openAppMock = jest.fn();\n const closeAppMock = jest.fn();\n const getDeviceSessionStateMock = jest.fn();\n const setDeviceSessionStateMock = jest.fn();\n const isDeviceOnboardedMock = jest.fn();\n\n function extractDependenciesMock() {\n return {\n getDeviceSessionState: getDeviceSessionStateMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n getAppAndVersion: getAppAndVersionMock,\n openApp: openAppMock,\n closeApp: closeAppMock,\n isDeviceOnboarded: isDeviceOnboardedMock,\n };\n }\n\n const { getDeviceSessionState: apiGetDeviceSessionStateMock } =\n makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n jest.resetAllMocks();\n isDeviceOnboardedMock.mockReturnValue(true);\n });\n\n describe(\"without overriding `extractDependencies`\", () => {\n it(\"should end if the required application is opened\", (done) => {\n apiGetDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n installedApps: [],\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n\n describe(\"success cases\", () => {\n it(\"should end in a success if the app is already opened\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\", unlockTimeout: undefined },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in a success if the dashboard is open and open app succeeds\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n\n openAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n });\n });\n\n it(\"should end in a success if another app is open, close app succeeds and open app succeeds\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n { currentApp: \"Bitcoin\", currentAppVersion: \"1.0.0\" },\n ]);\n closeAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n openAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n });\n });\n });\n });\n\n describe(\"errors cases\", () => {\n it(\"should end in an error if the device is not onboarded\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n isDeviceOnboardedMock.mockReturnValue(false);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n error: new DeviceNotOnboardedError(),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if the device is locked\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.LOCKED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new DeviceLockedError()]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if getAppAndVersion returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new InvalidStatusWordError(\"mocked error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if the dashboard is open and open app returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if another app is open, and close app returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if another app is open, close app succeeds but open app returns an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(CommandResultFactory({ data: undefined }));\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if getAppAndVersion actor throws an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new UnknownDAError(\"Unknown error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if openApp actor throws an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should end in an error if closeApp actor throws an error\", (done) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"anApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n\n it(\"should emit a stopped state if the action is cancelled\", (done) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n jest\n .spyOn(openAppDeviceAction, \"extractDependencies\")\n .mockReturnValue(extractDependenciesMock());\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Stopped,\n },\n ];\n\n const { cancel } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n cancel();\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA8B,gBAE9BC,EAAuC,+BACvCC,EAAqC,4CACrCC,EAA6B,oCAC7BC,EAAgD,6DAChDC,EAAyC,8DACzCC,EAAuC,oEACvCC,EAAmC,sDACnCC,EAAwC,4DACxCP,EAIO,wCACPQ,EAAuC,kDAEvCC,EAAoC,iCAGpC,KAAK,KAAK,mEAAmE,EAE7E,SAAS,sBAAuB,IAAM,CACpC,MAAMC,EAAuB,KAAK,GAAG,EAC/BC,EAAc,KAAK,GAAG,EACtBC,EAAe,KAAK,GAAG,EACvBC,EAA4B,KAAK,GAAG,EACpCC,EAA4B,KAAK,GAAG,EACpCC,EAAwB,KAAK,GAAG,EAEtC,SAASC,GAA0B,CACjC,MAAO,CACL,sBAAuBH,EACvB,sBAAuBC,EACvB,iBAAkBJ,EAClB,QAASC,EACT,SAAUC,EACV,kBAAmBG,CACrB,CACF,CAEA,KAAM,CAAE,sBAAuBE,CAA6B,KAC1D,mCAAgC,EAElC,WAAW,IAAM,CACf,KAAK,cAAc,EACnBF,EAAsB,gBAAgB,EAAI,CAC5C,CAAC,EAED,SAAS,2CAA4C,IAAM,CACzD,GAAG,mDAAqDG,GAAS,CAC/DD,EAA6B,gBAAgB,CAC3C,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,UAAW,QAAS,OAAQ,EAChD,cAAe,CAAC,CAClB,CAAC,KACD,4BAAyB,CACvB,CACE,WAAY,UACZ,kBAAmB,OACrB,CACF,CAAC,EAED,MAAME,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EAEKC,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,MACV,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,uDAAyDA,GAAS,CACnEL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,UAAW,QAAS,OAAQ,CAClD,CAAC,KAED,4BAAyB,CACvB,CACE,WAAY,UACZ,kBAAmB,OACrB,CACF,CAAC,EACD,MAAMM,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,UAAW,cAAe,MAAU,CACxD,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,MACV,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,yEAA2EA,GAAS,CACrFL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,QAAS,QAAS,OAAQ,CAChD,CAAC,KAED,4BAAyB,CACvB,CACE,WAAY,UACZ,kBAAmB,OACrB,CACF,CAAC,EAEDF,EAAY,qBAAkB,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EAEvE,MAAMQ,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,MACV,CACF,EAEM,CAAE,WAAAC,CAAW,KAAI,0BACrBF,EACAC,KACA,mCAAgC,EAChCF,CACF,KAEA,iBAAcG,CAAU,EAAE,KAAK,IAAM,CACnC,OAAOP,CAAyB,EAAE,qBAAqB,CACrD,aAAc,eAAa,UAC3B,iBAAkB,yBAAuB,0BACzC,WAAY,CAAE,KAAM,UAAW,QAAS,OAAQ,CAClD,CAAC,CACH,CAAC,CACH,CAAC,EAED,GAAG,2FAA6FI,GAAS,CACvGL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,aAAc,QAAS,OAAQ,CACrD,CAAC,KACD,4BAAyB,CACvB,CACE,WAAY,aACZ,kBAAmB,OACrB,EACA,CAAE,WAAY,UAAW,kBAAmB,OAAQ,CACtD,CAAC,EACDD,EAAa,qBAAkB,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EACxED,EAAY,qBAAkB,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EAEvE,MAAMQ,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,cACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,UAC3B,OAAQ,MACV,CACF,EAEM,CAAE,WAAAC,CAAW,KAAI,0BACrBF,EACAC,KACA,mCAAgC,EAChCF,CACF,KAEA,iBAAcG,CAAU,EAAE,KAAK,IAAM,CACnC,OAAOP,CAAyB,EAAE,qBAAqB,CACrD,WAAY,CAAE,KAAM,UAAW,QAAS,OAAQ,EAChD,aAAc,eAAa,UAC3B,iBAAkB,yBAAuB,yBAC3C,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,eAAgB,IAAM,CAC7B,GAAG,wDAA0DI,GAAS,CACpEL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,mBAAoB,QAAS,OAAQ,CAC3D,CAAC,EACDE,EAAsB,gBAAgB,EAAK,EAE3C,MAAMI,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EAED,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,MAAO,IAAI,0BACX,OAAQ,qBAAmB,KAC7B,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,iDAAmDA,GAAS,CAC7DL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,OAC3B,WAAY,CAAE,KAAM,mBAAoB,QAAS,OAAQ,CAC3D,CAAC,KAED,4BAAyB,CAAC,IAAI,mBAAmB,CAAC,EAElD,MAAMM,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EAED,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,mBACb,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,8DAAgEA,GAAS,CAC1EL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,mBAAoB,QAAS,OAAQ,CAC3D,CAAC,KAED,4BAAyB,CAAC,IAAI,yBAAuB,cAAc,CAAC,CAAC,EAErE,MAAMM,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EAED,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,gFAAkFA,GAAS,CAC5FL,EAA0B,mBACxB,wBAAqB,CACnB,KAAM,CACJ,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,QAAS,QAAS,OAAQ,CAChD,CACF,CAAC,CACH,EACAH,EAAqB,qBACnB,wBAAqB,CACnB,KAAM,CACJ,KAAM,QACN,QAAS,OACX,CACF,CAAC,CACH,KACA,4BAAyB,CACvB,CACE,WAAY,QACZ,kBAAmB,OACrB,CACF,CAAC,EACDC,EAAY,qBACV,wBAAqB,CACnB,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CACH,EAEA,MAAMQ,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,cACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,gFAAkFA,GAAS,CAC5FL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,aAAc,QAAS,OAAQ,CACrD,CAAC,KACD,4BAAyB,CACvB,CACE,WAAY,aACZ,kBAAmB,OACrB,CACF,CAAC,EACDD,EAAa,qBACX,wBAAqB,CACnB,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CACH,EAEA,MAAMO,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,kGAAoGA,GAAS,CAC9GL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,aAAc,QAAS,OAAQ,CACrD,CAAC,KACD,4BAAyB,CACvB,CACE,WAAY,aACZ,kBAAmB,OACrB,CACF,CAAC,EACDD,EAAa,qBAAkB,wBAAqB,CAAE,KAAM,MAAU,CAAC,CAAC,EACxED,EAAY,qBACV,wBAAqB,CACnB,MAAO,IAAI,yBAAuB,cAAc,CAClD,CAAC,CACH,EAEA,MAAMQ,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,cACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,yBAAuB,cAAc,CAClD,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,mEAAqEA,GAAS,CAC/EL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,mBAAoB,QAAS,OAAQ,CAC3D,CAAC,KAED,4BAAyB,CAAC,IAAI,iBAAe,eAAe,CAAC,CAAC,EAE9D,MAAMM,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EAED,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,iBAAe,eAAe,CAC3C,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,0DAA4DA,GAAS,CACtEL,EAA0B,mBACxB,wBAAqB,CACnB,KAAM,CACJ,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,QAAS,QAAS,OAAQ,CAChD,CACF,CAAC,CACH,KACA,4BAAyB,CACvB,CACE,WAAY,QACZ,kBAAmB,OACrB,CACF,CAAC,EACDF,EAAY,mBAAmB,IAAM,CACnC,MAAM,IAAI,iBAAe,eAAe,CAC1C,CAAC,EAED,MAAMQ,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,cACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,iBAAe,eAAe,CAC3C,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,EAED,GAAG,2DAA6DA,GAAS,CACvEL,EAA0B,mBACxB,wBAAqB,CACnB,KAAM,CACJ,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,QAAS,QAAS,OAAQ,CAChD,CACF,CAAC,CACH,KACA,4BAAyB,CACvB,CACE,WAAY,QACZ,kBAAmB,OACrB,CACF,CAAC,EACDD,EAAa,mBAAmB,IAAM,CACpC,MAAM,IAAI,iBAAe,eAAe,CAC1C,CAAC,EAED,MAAMO,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,MAC3B,MAAO,IAAI,iBAAe,eAAe,CAC3C,CACF,KAEA,0BACED,EACAC,KACA,mCAAgC,EAChCF,CACF,CACF,CAAC,CACH,CAAC,EAED,GAAG,yDAA2DA,GAAS,CACrEL,EAA0B,gBAAgB,CACxC,iBAAkB,yBAAuB,0BACzC,aAAc,eAAa,UAC3B,WAAY,CAAE,KAAM,aAAc,QAAS,OAAQ,CACrD,CAAC,KACD,4BAAyB,CACvB,CACE,WAAY,aACZ,kBAAmB,OACrB,CACF,CAAC,EAED,MAAMM,EAAsB,IAAI,sBAAoB,CAClD,MAAO,CAAE,QAAS,SAAU,CAC9B,CAAC,EACD,KACG,MAAMA,EAAqB,qBAAqB,EAChD,gBAAgBH,EAAwB,CAAC,EAE5C,MAAMI,EAAwC,CAC5C,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,QAC3B,kBAAmB,CACjB,wBAAyB,0BAAwB,IACnD,CACF,EACA,CACE,OAAQ,qBAAmB,OAC7B,CACF,EAEM,CAAE,OAAAE,CAAO,KAAI,0BACjBH,EACAC,KACA,mCAAgC,EAChCF,CACF,EACAI,EAAO,CACT,CAAC,CACH,CAAC",
6
- "names": ["import_rxjs", "import_Errors", "import_CommandResult", "import_DeviceStatus", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_DeviceSessionState", "import_OpenAppDeviceAction", "getAppAndVersionMock", "openAppMock", "closeAppMock", "getDeviceSessionStateMock", "setDeviceSessionStateMock", "isDeviceOnboardedMock", "extractDependenciesMock", "apiGetDeviceSessionStateMock", "done", "openAppDeviceAction", "expectedStates", "observable", "cancel"]
4
+ "sourcesContent": ["import { lastValueFrom } from \"rxjs\";\n\nimport { InvalidStatusWordError } from \"@api/command/Errors\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { setupGetDeviceStatusMock } from \"@api/device-action/__test-utils__/setupTestMachine\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport { DeviceActionStatus } from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n DeviceLockedError,\n DeviceNotOnboardedError,\n UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\n\nimport { OpenAppDeviceAction } from \"./OpenAppDeviceAction\";\nimport type { OpenAppDAState } from \"./types\";\n\nvi.mock(\"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\");\n\ndescribe(\"OpenAppDeviceAction\", () => {\n const getAppAndVersionMock = vi.fn();\n const openAppMock = vi.fn();\n const closeAppMock = vi.fn();\n const getDeviceSessionStateMock = vi.fn();\n const setDeviceSessionStateMock = vi.fn();\n const isDeviceOnboardedMock = vi.fn();\n\n function extractDependenciesMock() {\n return {\n getDeviceSessionState: getDeviceSessionStateMock,\n setDeviceSessionState: setDeviceSessionStateMock,\n getAppAndVersion: getAppAndVersionMock,\n openApp: openAppMock,\n closeApp: closeAppMock,\n isDeviceOnboarded: isDeviceOnboardedMock,\n };\n }\n\n const { getDeviceSessionState: apiGetDeviceSessionStateMock } =\n makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.resetAllMocks();\n isDeviceOnboardedMock.mockReturnValue(true);\n });\n\n describe(\"without overriding `extractDependencies`\", () => {\n it(\"should end if the required application is opened\", () =>\n new Promise<void>((resolve, reject) => {\n apiGetDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n installedApps: [],\n deviceModelId: DeviceModelId.NANO_X,\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"success cases\", () => {\n it(\"should end in a success if the app is already opened\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\", unlockTimeout: undefined },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if a compatible app is already opened\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: {\n name: \"Bitcoin Testnet\",\n version: \"1.0.0\",\n },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin Testnet\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: {\n appName: \"Bitcoin\",\n unlockTimeout: undefined,\n compatibleAppNames: [\"Bitcoin Testnet\"],\n },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarding status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in a success if the dashboard is open and open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n });\n\n setupGetDeviceStatusMock([\n {\n currentApp: \"Bitcoin\",\n currentAppVersion: \"1.0.0\",\n },\n ]);\n\n openAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n });\n });\n }));\n\n it(\"should end in a success if another app is open, close app succeeds and open app succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n { currentApp: \"Bitcoin\", currentAppVersion: \"1.0.0\" },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n openAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: undefined,\n },\n ];\n\n const { observable } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n\n lastValueFrom(observable).then(() => {\n expect(setDeviceSessionStateMock).toHaveBeenCalledWith({\n currentApp: { name: \"Bitcoin\", version: \"1.0.0\" },\n deviceStatus: DeviceStatus.CONNECTED,\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n });\n });\n }));\n });\n\n describe(\"errors cases\", () => {\n it(\"should end in an error if the device is not onboarded\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n isDeviceOnboardedMock.mockReturnValue(false);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n error: new DeviceNotOnboardedError(),\n status: DeviceActionStatus.Error,\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the device is locked\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.LOCKED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new DeviceLockedError()]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new DeviceLockedError(),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if getAppAndVersion returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new InvalidStatusWordError(\"mocked error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get app and version\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if the dashboard is open and open app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n getAppAndVersionMock.mockResolvedValue(\n CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"0.0.0\",\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if another app is open, and close app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if another app is open, close app succeeds but open app returns an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n openAppMock.mockResolvedValue(\n CommandResultFactory({\n error: new InvalidStatusWordError(\"mocked error\"),\n }),\n );\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new InvalidStatusWordError(\"mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if getAppAndVersion actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"mockedCurrentApp\", version: \"1.0.0\" },\n });\n\n setupGetDeviceStatusMock([new UnknownDAError(\"Unknown error\")]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if openApp actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"BOLOS\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n openAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // open app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should end in an error if closeApp actor throws an error\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue(\n CommandResultFactory({\n data: {\n sessionStateType:\n DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"BOLOS\", version: \"0.0.0\" },\n },\n }),\n );\n setupGetDeviceStatusMock([\n {\n currentApp: \"anApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n closeAppMock.mockImplementation(() => {\n throw new UnknownDAError(\"Unknown error\");\n });\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get onboarded status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // close app\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Unknown error\"),\n },\n ];\n\n testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should emit a stopped state if the action is cancelled\", () =>\n new Promise<void>((resolve, reject) => {\n getDeviceSessionStateMock.mockReturnValue({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n currentApp: { name: \"AnotherApp\", version: \"0.0.0\" },\n });\n setupGetDeviceStatusMock([\n {\n currentApp: \"AnotherApp\",\n currentAppVersion: \"0.0.0\",\n },\n ]);\n\n const openAppDeviceAction = new OpenAppDeviceAction({\n input: { appName: \"Bitcoin\" },\n });\n vi.spyOn(openAppDeviceAction, \"extractDependencies\").mockReturnValue(\n extractDependenciesMock(),\n );\n\n const expectedStates: Array<OpenAppDAState> = [\n {\n status: DeviceActionStatus.Pending, // get device onboarded\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending, // get device status\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Stopped,\n },\n ];\n\n const { cancel } = testDeviceActionStates(\n openAppDeviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n cancel();\n }));\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["import_rxjs", "import_Errors", "import_CommandResult", "import_DeviceModel", "import_DeviceStatus", "import_makeInternalApi", "import_setupTestMachine", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_DeviceSessionState", "import_OpenAppDeviceAction", "getAppAndVersionMock", "openAppMock", "closeAppMock", "getDeviceSessionStateMock", "setDeviceSessionStateMock", "isDeviceOnboardedMock", "extractDependenciesMock", "apiGetDeviceSessionStateMock", "resolve", "reject", "openAppDeviceAction", "expectedStates", "observable", "cancel"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var D=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of A(e))!a.call(r,p)&&p!==n&&o(r,p,{get:()=>e[p],enumerable:!(t=i(e,p))||t.enumerable});return r};var d=r=>D(o({},"__esModule",{value:!0}),r);var c={};module.exports=d(c);
1
+ "use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var d=(r,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let p of A(e))!a.call(r,p)&&p!==n&&o(r,p,{get:()=>e[p],enumerable:!(t=i(e,p))||t.enumerable});return r};var D=r=>d(o({},"__esModule",{value:!0}),r);var c={};module.exports=D(c);
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/OpenAppDeviceAction/types.ts"],
4
- "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type OpenAppErrorCodes } from \"@api/command/os/OpenAppCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeviceLockedError,\n type DeviceNotOnboardedError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { type GetDeviceStatusDAInput } from \"@api/device-action/os/GetDeviceStatus/types\";\n\nexport type OpenAppDAOutput = void;\n\nexport type OpenAppDAInput = GetDeviceStatusDAInput & {\n readonly appName: string;\n};\n\nexport type OpenAppDAError =\n | DeviceNotOnboardedError\n | DeviceLockedError\n | UnknownDAError\n | CommandErrorResult<OpenAppErrorCodes | void>[\"error\"];\n\nexport type OpenAppDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.ConfirmOpenApp;\n\nexport type OpenAppDAIntermediateValue = {\n requiredUserInteraction: OpenAppDARequiredInteraction;\n};\n\nexport type OpenAppDAState = DeviceActionState<\n OpenAppDAOutput,\n OpenAppDAError,\n OpenAppDAIntermediateValue\n>;\n"],
4
+ "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type OpenAppErrorCodes } from \"@api/command/os/OpenAppCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeviceLockedError,\n type DeviceNotOnboardedError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\nimport { type GetDeviceStatusDAInput } from \"@api/device-action/os/GetDeviceStatus/types\";\n\nexport type OpenAppDAOutput = void;\n\nexport type OpenAppDAInput = GetDeviceStatusDAInput & {\n readonly appName: string;\n readonly compatibleAppNames?: string[];\n};\n\nexport type OpenAppDAError =\n | DeviceNotOnboardedError\n | DeviceLockedError\n | UnknownDAError\n | CommandErrorResult<OpenAppErrorCodes | void>[\"error\"];\n\nexport type OpenAppDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice\n | UserInteractionRequired.ConfirmOpenApp;\n\nexport type OpenAppDAIntermediateValue = {\n requiredUserInteraction: OpenAppDARequiredInteraction;\n};\n\nexport type OpenAppDAState = DeviceActionState<\n OpenAppDAOutput,\n OpenAppDAError,\n OpenAppDAIntermediateValue\n>;\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var I=(o,n)=>{for(var a in n)p(o,a,{get:n[a],enumerable:!0})},l=(o,n,a,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of A(n))!S.call(o,r)&&r!==a&&p(o,r,{get:()=>n[r],enumerable:!(e=u(n,r))||e.enumerable});return o};var D=o=>l(p({},"__esModule",{value:!0}),o);var R={};I(R,{SendCommandInAppDeviceAction:()=>E});module.exports=D(R);var m=require("purify-ts"),t=require("xstate"),i=require("../../../command/model/CommandResult"),d=require("../../../device-action/model/UserInteractionRequired"),s=require("../../../device-action/os/Errors"),C=require("../../../device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),c=require("../../../device-action/xstate-utils/XStateDeviceAction");class E extends c.XStateDeviceAction{makeStateMachine(n){const{sendCommand:a}=this.extractDependencies(n);return(0,t.setup)({types:{input:{},context:{},output:{}},actors:{sendCommand:(0,t.fromPromise)(a),openAppStateMachine:new C.OpenAppDeviceAction({input:{appName:this.input.appName}}).makeStateMachine(n)},guards:{noInternalError:({context:e})=>e._internalState.error===null},actions:{assignErrorFromEvent:(0,t.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"SendCommandInAppDeviceAction",initial:"OpenAppDeviceAction",context:({input:e})=>({input:e,intermediateValue:{requiredUserInteraction:d.UserInteractionRequired.None},_internalState:{commandResponse:null,error:null}}),states:{OpenAppDeviceAction:{invoke:{id:"openAppStateMachine",input:{appName:this.input.appName},src:"openAppStateMachine",onSnapshot:{actions:(0,t.assign)({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{actions:(0,t.assign)({_internalState:e=>e.event.output.caseOf({Right:()=>e.context._internalState,Left:r=>({...e.context._internalState,error:r})})}),target:"CheckOpenAppDeviceActionResult"}}},CheckOpenAppDeviceActionResult:{always:[{target:"SendCommand",guard:"noInternalError"},"Error"]},SendCommand:{entry:(0,t.assign)({intermediateValue:{requiredUserInteraction:this.input.requiredUserInteraction}}),exit:(0,t.assign)({intermediateValue:{requiredUserInteraction:d.UserInteractionRequired.None}}),invoke:{id:"sendCommand",src:"sendCommand",input:({context:e})=>e.input.command,onDone:{target:"SendCommandResultCheck",actions:[(0,t.assign)({_internalState:({event:e,context:r})=>(0,i.isSuccessCommandResult)(e.output)?{...r._internalState,commandResponse:e.output.data}:{...r._internalState,error:e.output.error}})]},onError:{target:"Error",actions:"assignErrorFromEvent"}}},SendCommandResultCheck:{always:[{target:"Success",guard:"noInternalError"},"Error"]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.commandResponse?(0,m.Right)(e._internalState.commandResponse):(0,m.Left)(e._internalState.error||new s.UnknownDAError("No error in final state"))})}extractDependencies(n){return{sendCommand:a=>n.sendCommand(a.input)}}}0&&(module.exports={SendCommandInAppDeviceAction});
1
+ "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var l=(o,n)=>{for(var a in n)p(o,a,{get:n[a],enumerable:!0})},I=(o,n,a,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of A(n))!S.call(o,r)&&r!==a&&p(o,r,{get:()=>n[r],enumerable:!(e=u(n,r))||e.enumerable});return o};var D=o=>I(p({},"__esModule",{value:!0}),o);var R={};l(R,{SendCommandInAppDeviceAction:()=>E});module.exports=D(R);var m=require("purify-ts"),t=require("xstate"),i=require("../../../command/model/CommandResult"),d=require("../../../device-action/model/UserInteractionRequired"),s=require("../../../device-action/os/Errors"),C=require("../../../device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),c=require("../../../device-action/xstate-utils/XStateDeviceAction");class E extends c.XStateDeviceAction{makeStateMachine(n){const{sendCommand:a}=this.extractDependencies(n);return(0,t.setup)({types:{input:{},context:{},output:{}},actors:{sendCommand:(0,t.fromPromise)(a),openAppStateMachine:new C.OpenAppDeviceAction({input:{appName:this.input.appName,compatibleAppNames:this.input.compatibleAppNames}}).makeStateMachine(n)},guards:{noInternalError:({context:e})=>e._internalState.error===null},actions:{assignErrorFromEvent:(0,t.assign)({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"SendCommandInAppDeviceAction",initial:"OpenAppDeviceAction",context:({input:e})=>({input:e,intermediateValue:{requiredUserInteraction:d.UserInteractionRequired.None},_internalState:{commandResponse:null,error:null}}),states:{OpenAppDeviceAction:{invoke:{id:"openAppStateMachine",input:{appName:this.input.appName,compatibleAppNames:this.input.compatibleAppNames},src:"openAppStateMachine",onSnapshot:{actions:(0,t.assign)({intermediateValue:e=>e.event.snapshot.context.intermediateValue})},onDone:{actions:(0,t.assign)({_internalState:e=>e.event.output.caseOf({Right:()=>e.context._internalState,Left:r=>({...e.context._internalState,error:r})})}),target:"CheckOpenAppDeviceActionResult"}}},CheckOpenAppDeviceActionResult:{always:[{target:"SendCommand",guard:"noInternalError"},"Error"]},SendCommand:{entry:(0,t.assign)({intermediateValue:{requiredUserInteraction:this.input.requiredUserInteraction}}),exit:(0,t.assign)({intermediateValue:{requiredUserInteraction:d.UserInteractionRequired.None}}),invoke:{id:"sendCommand",src:"sendCommand",input:({context:e})=>e.input.command,onDone:{target:"SendCommandResultCheck",actions:[(0,t.assign)({_internalState:({event:e,context:r})=>(0,i.isSuccessCommandResult)(e.output)?{...r._internalState,commandResponse:e.output.data}:{...r._internalState,error:e.output.error}})]},onError:{target:"Error",actions:"assignErrorFromEvent"}}},SendCommandResultCheck:{always:[{target:"Success",guard:"noInternalError"},"Error"]},Success:{type:"final"},Error:{type:"final"}},output:({context:e})=>e._internalState.commandResponse?(0,m.Right)(e._internalState.commandResponse):(0,m.Left)(e._internalState.error||new s.UnknownDAError("No error in final state"))})}extractDependencies(n){return{sendCommand:a=>n.sendCommand(a.input)}}}0&&(module.exports={SendCommandInAppDeviceAction});
2
2
  //# sourceMappingURL=SendCommandInAppDeviceAction.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromPromise, setup } from \"xstate\";\n\nimport {\n type CommandResult,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport { type Command } from \"@api/types\";\n\nimport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAInput,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAInternalState,\n type SendCommandInAppDAOutput,\n} from \"./SendCommandInAppDeviceActionTypes\";\n\n/**\n * Tries to open an app on the device, and if it is successful, sends a command\n * to the app.\n * The output will be the result of the command.\n *\n * ```ts\n * input: {\n * appName: string;\n * command: Command<CommandResult, CommandArgs>;\n * requiredUserInteraction: UserInteraction;\n * }\n * ```\n *\n * Example of usage:\n *\n * ```ts\n * const deviceAction = new SendCommandInAppDeviceAction({\n * input: {\n * appName: \"MyApp\",\n * command: new MyAppSpecificCommand({commandSpecificArg: \"foo\"}),\n * requiredUserInteraction: UserInteractionRequired.None,\n * },\n * });\n * dmk.executeDeviceAction({ sessionId: \"mySessionId\", deviceAction });\n * ```\n */\nexport class SendCommandInAppDeviceAction<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction extends UserInteractionRequired,\n> extends XStateDeviceAction<\n SendCommandInAppDAOutput<CommandResponse>,\n SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction\n >,\n SendCommandInAppDAError<CommandErrorCodes>,\n SendCommandInAppDAIntermediateValue<UserInteraction>,\n SendCommandInAppDAInternalState<CommandResponse, CommandErrorCodes>\n> {\n makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n SendCommandInAppDAOutput<CommandResponse>,\n SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction\n >,\n SendCommandInAppDAError<CommandErrorCodes>,\n SendCommandInAppDAIntermediateValue<UserInteraction>,\n SendCommandInAppDAInternalState<CommandResponse, CommandErrorCodes>\n > {\n type types = StateMachineTypes<\n SendCommandInAppDAOutput<CommandResponse>,\n SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction\n >,\n SendCommandInAppDAError<CommandErrorCodes>,\n SendCommandInAppDAIntermediateValue<UserInteraction>,\n SendCommandInAppDAInternalState<CommandResponse, CommandErrorCodes>\n >;\n\n const { sendCommand } = this.extractDependencies(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 sendCommand: fromPromise(sendCommand),\n openAppStateMachine: new OpenAppDeviceAction({\n input: { appName: this.input.appName },\n }).makeStateMachine(internalAPI),\n },\n guards: {\n noInternalError: ({ context }) => context._internalState.error === null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QFEAuALA0mAngJwEsA7KAcTFQEEII85YARMANwIGMxK3UCB7IgHQB5AA5gilESKasOXHvwDEEfmAHFmvANZreYiVIDKqAIaowAWRNt0xMAG0ADAF1EoEb1gEFRNyAAeiACMQQDsAgAcACwAzKEArABMUfGpEQCcEYkANCA4iFGO8QKhjokxERUpQenp8QC+9bloWLiEJORUNHSwjCzsnNx8ggDC6GBsWqLiktL9ckP8AEpwAK4ANqiKTq5IIB5ePn6BCEFR4YkAbKE1Zemh55URufkI8fcC8TGXl0EVoelHJcio1mhhsPhiGQKNRaPQZAN5MMBGMJlN9LMEQsfCtYBstvYgrt3J5vMNjgUQgJLokHlEgldko50rEXoh3uEvj8-hEAUCQU0QC0Ie1oV04b0sYMfAJOrCerARrwALbKkxECDKVTqIiaHQCGDihVK1XqiA7PwHMn8CmnRJBASOFIxKJXJ21GLpHJ5RARGoCEL3CKXDLpS4pCKgoXgtpQuXdeHzaXI+MSxUqtUaxRgPB4Xh4AQidZmABm+eVBphCd6Jsz5pcltJRz2Jyiv0dvIeNJi8UqoWePoQIccn3iId+sSqkajRF4EDgfmFsY6VbTUqRNr2VuboBOAFpLmzTpd0iV+0EkkEylcAVEo0vISujYnZMn+MIMVJ14tfFum+SWwKb1XkSMdIhuQFEidYNSjvQUH1FVMFW-GVUUmaYDDmV8NyIXF8UbQ4AN3X0ogEF17S9eJQhiJ0ojbI8khHc54mvRwGUBXl7xjR8xXlF9ER-WVV2NDMzQI61f2IhBXUdRw5NDX54gvXkjx+CIzxuMdfnKd44LBVoeKQ-jsWRQxVjYDhenEncAmCcMBHKBlqKyIEYivGIjzDGJqQSYMamDa4BX0kU42E4y30EZBc3zayiNshBSmKFjqn7GCMgHV57lIz0aT9P0lL+S5GkaIA */\n id: \"SendCommandInAppDeviceAction\",\n initial: \"OpenAppDeviceAction\",\n context: ({ input }) => {\n return {\n input: input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n commandResponse: null,\n error: null,\n },\n };\n },\n states: {\n OpenAppDeviceAction: {\n invoke: {\n id: \"openAppStateMachine\",\n input: { appName: this.input.appName },\n src: \"openAppStateMachine\",\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<\n SendCommandInAppDAInternalState<\n CommandResponse,\n CommandErrorCodes\n >\n >({\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n target: \"CheckOpenAppDeviceActionResult\",\n },\n },\n },\n CheckOpenAppDeviceActionResult: {\n always: [\n {\n target: \"SendCommand\",\n guard: \"noInternalError\",\n },\n \"Error\",\n ],\n },\n SendCommand: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: this.input.requiredUserInteraction,\n },\n }),\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"sendCommand\",\n src: \"sendCommand\",\n input: ({ context }) => context.input.command,\n onDone: {\n target: \"SendCommandResultCheck\",\n actions: [\n assign({\n _internalState: ({ event, context }) => {\n if (isSuccessCommandResult(event.output)) {\n return {\n ...context._internalState,\n commandResponse: event.output.data,\n };\n }\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 SendCommandResultCheck: {\n always: [\n {\n target: \"Success\",\n guard: \"noInternalError\",\n },\n \"Error\",\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.commandResponse\n ? Right(context._internalState.commandResponse)\n : Left(\n context._internalState.error ||\n new UnknownDAError(\"No error in final state\"),\n ),\n });\n }\n\n extractDependencies(internalApi: InternalApi) {\n return {\n sendCommand: (_: {\n input: Command<CommandResponse, CommandArgs, CommandErrorCodes>;\n }): Promise<CommandResult<CommandResponse, CommandErrorCodes>> =>\n internalApi.sendCommand(_.input),\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 {\n type CommandResult,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport { type Command } from \"@api/types\";\n\nimport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAInput,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAInternalState,\n type SendCommandInAppDAOutput,\n} from \"./SendCommandInAppDeviceActionTypes\";\n\n/**\n * Tries to open an app on the device, and if it is successful, sends a command\n * to the app.\n * The output will be the result of the command.\n *\n * ```ts\n * input: {\n * appName: string;\n * command: Command<CommandResult, CommandArgs>;\n * requiredUserInteraction: UserInteraction;\n * }\n * ```\n *\n * Example of usage:\n *\n * ```ts\n * const deviceAction = new SendCommandInAppDeviceAction({\n * input: {\n * appName: \"MyApp\",\n * command: new MyAppSpecificCommand({commandSpecificArg: \"foo\"}),\n * requiredUserInteraction: UserInteractionRequired.None,\n * },\n * });\n * dmk.executeDeviceAction({ sessionId: \"mySessionId\", deviceAction });\n * ```\n */\nexport class SendCommandInAppDeviceAction<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction extends UserInteractionRequired,\n> extends XStateDeviceAction<\n SendCommandInAppDAOutput<CommandResponse>,\n SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction\n >,\n SendCommandInAppDAError<CommandErrorCodes>,\n SendCommandInAppDAIntermediateValue<UserInteraction>,\n SendCommandInAppDAInternalState<CommandResponse, CommandErrorCodes>\n> {\n makeStateMachine(\n internalAPI: InternalApi,\n ): DeviceActionStateMachine<\n SendCommandInAppDAOutput<CommandResponse>,\n SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction\n >,\n SendCommandInAppDAError<CommandErrorCodes>,\n SendCommandInAppDAIntermediateValue<UserInteraction>,\n SendCommandInAppDAInternalState<CommandResponse, CommandErrorCodes>\n > {\n type types = StateMachineTypes<\n SendCommandInAppDAOutput<CommandResponse>,\n SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction\n >,\n SendCommandInAppDAError<CommandErrorCodes>,\n SendCommandInAppDAIntermediateValue<UserInteraction>,\n SendCommandInAppDAInternalState<CommandResponse, CommandErrorCodes>\n >;\n\n const { sendCommand } = this.extractDependencies(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 sendCommand: fromPromise(sendCommand),\n openAppStateMachine: new OpenAppDeviceAction({\n input: {\n appName: this.input.appName,\n compatibleAppNames: this.input.compatibleAppNames,\n },\n }).makeStateMachine(internalAPI),\n },\n guards: {\n noInternalError: ({ context }) => context._internalState.error === null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"], // NOTE: it should never happen, the error is not typed anymore here\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QFEAuALA0mAngJwEsA7KAcTFQEEII85YARMANwIGMxK3UCB7IgHQB5AA5gilESKasOXHvwDEEfmAHFmvANZreYiVIDKqAIaowAWRNt0xMAG0ADAF1EoEb1gEFRNyAAeiACMQQDsAgAcACwAzKEArABMUfGpEQCcEYkANCA4iFGO8QKhjokxERUpQenp8QC+9bloWLiEJORUNHSwjCzsnNx8ggDC6GBsWqLiktL9ckP8AEpwAK4ANqiKTq5IIB5ePn6BCEFR4YkAbKE1Zemh55URufkI8fcC8TGXl0EVoelHJcio1mhhsPhiGQKNRaPQZAN5MMBGMJlN9LMEQsfCtYBstvYgrt3J5vMNjgUQgJLokHlEgldko50rEXoh3uEvj8-hEAUCQU0QC0Ie1oV04b0sYMfAJOrCerARrwALbKkxECDKVTqIiaHQCGDihVK1XqiA7PwHMn8CmnRJBASOFIxKJXJ21GLpHJ5RARGoCEL3CKXDLpS4pCKgoXgtpQuXdeHzaXI+MSxUqtUaxRgPB4Xh4AQidZmABm+eVBphCd6Jsz5pcltJRz2Jyiv0dvIeNJi8UqoWePoQIccn3iId+sSqkajRF4EDgfmFsY6VbTUqRNr2VuboBOAFpLmzTpd0iV+0EkkEylcAVEo0vISujYnZMn+MIMVJ14tfFum+SWwKb1XkSMdIhuQFEidYNSjvQUH1FVMFW-GVUUmaYDDmV8NyIXF8UbQ4AN3X0ogEF17S9eJQhiJ0ojbI8khHc54mvRwGUBXl7xjR8xXlF9ER-WVV2NDMzQI61f2IhBXUdRw5NDX54gvXkjx+CIzxuMdfnKd44LBVoeKQ-jsWRQxVjYDhenEncAmCcMBHKBlqKyIEYivGIjzDGJqQSYMamDa4BX0kU42E4y30EZBc3zayiNshBSmKFjqn7GCMgHV57lIz0aT9P0lL+S5GkaIA */\n id: \"SendCommandInAppDeviceAction\",\n initial: \"OpenAppDeviceAction\",\n context: ({ input }) => {\n return {\n input: input,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n commandResponse: null,\n error: null,\n },\n };\n },\n states: {\n OpenAppDeviceAction: {\n invoke: {\n id: \"openAppStateMachine\",\n input: {\n appName: this.input.appName,\n compatibleAppNames: this.input.compatibleAppNames,\n },\n src: \"openAppStateMachine\",\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) =>\n _.event.snapshot.context.intermediateValue,\n }),\n },\n onDone: {\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<\n SendCommandInAppDAInternalState<\n CommandResponse,\n CommandErrorCodes\n >\n >({\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n });\n },\n }),\n target: \"CheckOpenAppDeviceActionResult\",\n },\n },\n },\n CheckOpenAppDeviceActionResult: {\n always: [\n {\n target: \"SendCommand\",\n guard: \"noInternalError\",\n },\n \"Error\",\n ],\n },\n SendCommand: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: this.input.requiredUserInteraction,\n },\n }),\n exit: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n }),\n invoke: {\n id: \"sendCommand\",\n src: \"sendCommand\",\n input: ({ context }) => context.input.command,\n onDone: {\n target: \"SendCommandResultCheck\",\n actions: [\n assign({\n _internalState: ({ event, context }) => {\n if (isSuccessCommandResult(event.output)) {\n return {\n ...context._internalState,\n commandResponse: event.output.data,\n };\n }\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 SendCommandResultCheck: {\n always: [\n {\n target: \"Success\",\n guard: \"noInternalError\",\n },\n \"Error\",\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: ({ context }) =>\n context._internalState.commandResponse\n ? Right(context._internalState.commandResponse)\n : Left(\n context._internalState.error ||\n new UnknownDAError(\"No error in final state\"),\n ),\n });\n }\n\n extractDependencies(internalApi: InternalApi) {\n return {\n sendCommand: (_: {\n input: Command<CommandResponse, CommandArgs, CommandErrorCodes>;\n }): Promise<CommandResult<CommandResponse, CommandErrorCodes>> =>\n internalApi.sendCommand(_.input),\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["SendCommandInAppDeviceAction_exports", "__export", "SendCommandInAppDeviceAction", "__toCommonJS", "import_purify_ts", "import_xstate", "import_CommandResult", "import_UserInteractionRequired", "import_Errors", "import_OpenAppDeviceAction", "import_XStateDeviceAction", "internalAPI", "sendCommand", "context", "_", "input", "error", "event", "internalApi"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=require("purify-ts"),f=require("xstate"),I=require("../../../apdu/utils/ApduBuilder"),p=require("../../../command/model/CommandResult"),o=require("../../../device-action/__test-utils__/makeInternalApi"),A=require("../../../device-action/__test-utils__/testDeviceActionStates"),n=require("../../../device-action/model/DeviceActionState"),e=require("../../../device-action/model/UserInteractionRequired"),C=require("../../../device-action/os/Errors"),M=require("../../../device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),y=require("../../../../../src"),s=require("./SendCommandInAppDeviceAction");jest.mock("@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction",()=>({...jest.requireActual("@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),OpenAppDeviceAction:jest.fn(()=>({makeStateMachine:jest.fn()}))}));const u=r=>{M.OpenAppDeviceAction.mockImplementation(()=>({makeStateMachine:jest.fn().mockImplementation(()=>(0,f.createMachine)({initial:"pending",states:{pending:{entry:(0,f.assign)({intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}}),after:{0:"done"}},done:{type:"final"}},output:()=>r?(0,l.Left)(r):(0,l.Right)(void 0)}))}))};describe("SendCommandInAppDeviceAction",()=>{const r=jest.fn(),c=()=>({sendCommand:r}),{sendCommand:S}=(0,o.makeDeviceActionInternalApiMock)(),i={paramString:"aParameter",paramNumber:1234},D={aNumber:5678,aString:"mockedResponseString"};beforeEach(()=>{jest.resetAllMocks()}),describe("without mocking extractDependencies",()=>{it("should call sendCommand on internalApi with the correct parameters",async()=>{u(),S.mockResolvedValue((0,p.CommandResultFactory)({data:void 0}));const a=new s.SendCommandInAppDeviceAction({input:{command:new d(i),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}});await new Promise((t,m)=>{a._execute((0,o.makeDeviceActionInternalApiMock)()).observable.subscribe({error:()=>m(),complete:()=>t(),next:()=>{}})}),expect(S).toHaveBeenCalledWith(new d(i))})}),describe("error cases",()=>{it("should error and output the error if the open app fails",a=>{u(new C.UnknownDAError("Mocked error"));const t=[{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:n.DeviceActionStatus.Error,error:new C.UnknownDAError("Mocked error")}];(0,A.testDeviceActionStates)(new s.SendCommandInAppDeviceAction({input:{command:new d(i),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}}),t,(0,o.makeDeviceActionInternalApiMock)(),a)}),it("should error and output an error if the send command fails",a=>{u(),r.mockResolvedValue((0,p.CommandResultFactory)({error:new y.UnknownDeviceExchangeError("Mocked error")}));const t=new s.SendCommandInAppDeviceAction({input:{command:new d(i),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}});jest.spyOn(t,"extractDependencies").mockImplementation(c);const m=[{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}},{status:n.DeviceActionStatus.Error,error:new y.UnknownDeviceExchangeError("Mocked error")}];(0,A.testDeviceActionStates)(t,m,(0,o.makeDeviceActionInternalApiMock)(),a)})}),describe("success cases",()=>{it("should succeed and output the command result if the send command succeeds",a=>{u(),r.mockResolvedValue((0,p.CommandResultFactory)({data:D}));const t=new s.SendCommandInAppDeviceAction({input:{command:new d(i),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}});jest.spyOn(t,"extractDependencies").mockImplementation(c);const m=[{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}},{status:n.DeviceActionStatus.Completed,output:D}];(0,A.testDeviceActionStates)(t,m,(0,o.makeDeviceActionInternalApiMock)(),a)})})});class d{params;constructor(c){this.params=c}getApdu(){return new I.ApduBuilder({cla:0,ins:1,p1:2,p2:3}).add32BitUIntToData(this.params.paramNumber).addAsciiStringToData(this.params.paramString).build()}parseResponse(){return(0,p.CommandResultFactory)({data:{aNumber:1,aString:"aString"}})}}
1
+ "use strict";var l=require("purify-ts"),f=require("xstate"),I=require("../../../apdu/utils/ApduBuilder"),c=require("../../../command/model/CommandResult"),i=require("../../../device-action/__test-utils__/makeInternalApi"),A=require("../../../device-action/__test-utils__/testDeviceActionStates"),n=require("../../../device-action/model/DeviceActionState"),e=require("../../../device-action/model/UserInteractionRequired"),C=require("../../../device-action/os/Errors"),M=require("../../../device-action/os/OpenAppDeviceAction/OpenAppDeviceAction"),D=require("../../../../../src"),p=require("./SendCommandInAppDeviceAction");vi.mock("@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction",async t=>({...await t(),OpenAppDeviceAction:vi.fn(()=>({makeStateMachine:vi.fn()}))}));const u=t=>{M.OpenAppDeviceAction.mockImplementation(()=>({makeStateMachine:vi.fn().mockImplementation(()=>(0,f.createMachine)({initial:"pending",states:{pending:{entry:(0,f.assign)({intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}}),after:{0:"done"}},done:{type:"final"}},output:()=>t?(0,l.Left)(t):(0,l.Right)(void 0)}))}))};describe("SendCommandInAppDeviceAction",()=>{const t=vi.fn(),m=()=>({sendCommand:t}),{sendCommand:v}=(0,i.makeDeviceActionInternalApiMock)(),d={paramString:"aParameter",paramNumber:1234},S={aNumber:5678,aString:"mockedResponseString"};beforeEach(()=>{vi.resetAllMocks()}),describe("without mocking extractDependencies",()=>{it("should call sendCommand on internalApi with the correct parameters",async()=>{u(),v.mockResolvedValue((0,c.CommandResultFactory)({data:void 0}));const o=new p.SendCommandInAppDeviceAction({input:{command:new s(d),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}});await new Promise((a,r)=>{o._execute((0,i.makeDeviceActionInternalApiMock)()).observable.subscribe({error:()=>r(),complete:()=>a(),next:()=>{}})}),expect(v).toHaveBeenCalledWith(new s(d))})}),describe("error cases",()=>{it("should error and output the error if the open app fails",()=>new Promise((o,a)=>{u(new C.UnknownDAError("Mocked error"));const r=[{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:n.DeviceActionStatus.Error,error:new C.UnknownDAError("Mocked error")}];(0,A.testDeviceActionStates)(new p.SendCommandInAppDeviceAction({input:{command:new s(d),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}}),r,(0,i.makeDeviceActionInternalApiMock)(),{onDone:o,onError:a})})),it("should error and output an error if the send command fails",()=>new Promise((o,a)=>{u(),t.mockResolvedValue((0,c.CommandResultFactory)({error:new D.UnknownDeviceExchangeError("Mocked error")}));const r=new p.SendCommandInAppDeviceAction({input:{command:new s(d),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}});vi.spyOn(r,"extractDependencies").mockImplementation(m);const y=[{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}},{status:n.DeviceActionStatus.Error,error:new D.UnknownDeviceExchangeError("Mocked error")}];(0,A.testDeviceActionStates)(r,y,(0,i.makeDeviceActionInternalApiMock)(),{onDone:o,onError:a})}))}),describe("success cases",()=>{it("should succeed and output the command result if the send command succeeds",()=>new Promise((o,a)=>{u(),t.mockResolvedValue((0,c.CommandResultFactory)({data:S}));const r=new p.SendCommandInAppDeviceAction({input:{command:new s(d),appName:"MyApp",requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}});vi.spyOn(r,"extractDependencies").mockImplementation(m);const y=[{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.None}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.ConfirmOpenApp}},{status:n.DeviceActionStatus.Pending,intermediateValue:{requiredUserInteraction:e.UserInteractionRequired.VerifyAddress}},{status:n.DeviceActionStatus.Completed,output:S}];(0,A.testDeviceActionStates)(r,y,(0,i.makeDeviceActionInternalApiMock)(),{onDone:o,onError:a})}))})});class s{params;constructor(m){this.params=m}getApdu(){return new I.ApduBuilder({cla:0,ins:1,p1:2,p2:3}).add32BitUIntToData(this.params.paramNumber).addAsciiStringToData(this.params.paramString).build()}parseResponse(){return(0,c.CommandResultFactory)({data:{aNumber:1,aString:"aString"}})}}
2
2
  //# sourceMappingURL=SendCommandInAppDeviceAction.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nimport { type Command } from \"@api/types\";\nimport { UnknownDeviceExchangeError } from \"@root/src\";\n\nimport { SendCommandInAppDeviceAction } from \"./SendCommandInAppDeviceAction\";\nimport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAOutput,\n} from \"./SendCommandInAppDeviceActionTypes\";\n\njest.mock(\n \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\",\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n () => ({\n ...jest.requireActual(\n \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\",\n ),\n OpenAppDeviceAction: jest.fn(() => ({\n makeStateMachine: jest.fn(),\n })),\n }),\n);\n\nconst setupOpenAppDAMock = (error?: unknown) => {\n (OpenAppDeviceAction as jest.Mock).mockImplementation(() => ({\n makeStateMachine: jest.fn().mockImplementation(() =>\n createMachine({\n initial: \"pending\",\n states: {\n pending: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n }),\n after: {\n 0: \"done\",\n },\n },\n done: {\n type: \"final\",\n },\n },\n output: () => (error ? Left(error) : Right(undefined)),\n }),\n ),\n }));\n};\n\ndescribe(\"SendCommandInAppDeviceAction\", () => {\n const sendMyCommand = jest.fn();\n\n const extractDependenciesMock = () => ({\n sendCommand: sendMyCommand,\n });\n\n const { sendCommand: apiSendCommandMock } = makeDeviceActionInternalApiMock();\n\n const commandParams = {\n paramString: \"aParameter\",\n paramNumber: 1234,\n };\n const mockedCommandResponse = {\n aNumber: 5678,\n aString: \"mockedResponseString\",\n };\n beforeEach(() => {\n jest.resetAllMocks();\n });\n\n describe(\"without mocking extractDependencies\", () => {\n it(\"should call sendCommand on internalApi with the correct parameters\", async () => {\n setupOpenAppDAMock();\n apiSendCommandMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n });\n await new Promise<void>((resolve, reject) => {\n deviceAction\n ._execute(makeDeviceActionInternalApiMock())\n .observable.subscribe({\n error: () => reject(),\n complete: () => resolve(),\n next: () => {},\n });\n });\n\n expect(apiSendCommandMock).toHaveBeenCalledWith(\n new TestCommand(commandParams),\n );\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should error and output the error if the open app fails\", (done) => {\n setupOpenAppDAMock(new UnknownDAError(\"Mocked error\"));\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n }),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n\n it(\"should error and output an error if the send command fails\", (done) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n });\n\n jest\n .spyOn(deviceAction, \"extractDependencies\")\n .mockImplementation(extractDependenciesMock);\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n\n describe(\"success cases\", () => {\n it(\"should succeed and output the command result if the send command succeeds\", (done) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({ data: mockedCommandResponse }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n });\n\n jest\n .spyOn(deviceAction, \"extractDependencies\")\n .mockImplementation(extractDependenciesMock);\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: mockedCommandResponse,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n done,\n );\n });\n });\n});\n\ntype MyCommandResponse = {\n aNumber: number;\n aString: string;\n};\n\ntype MyCommandParams = {\n paramString: string;\n paramNumber: number;\n};\n\nclass TestCommand implements Command<MyCommandResponse, MyCommandParams> {\n params: MyCommandParams;\n constructor(params: MyCommandParams) {\n this.params = params;\n }\n getApdu(): Apdu {\n return new ApduBuilder({ cla: 0x00, ins: 0x01, p1: 0x02, p2: 0x03 })\n .add32BitUIntToData(this.params.paramNumber)\n .addAsciiStringToData(this.params.paramString)\n .build();\n }\n parseResponse() {\n return CommandResultFactory({ data: { aNumber: 1, aString: \"aString\" } });\n }\n}\n\ntype MyCommandSendCommandDAState = DeviceActionState<\n SendCommandInAppDAOutput<MyCommandResponse>,\n SendCommandInAppDAError<UnknownDAError>,\n SendCommandInAppDAIntermediateValue<\n UserInteractionRequired.None | UserInteractionRequired.VerifyAddress\n >\n>;\n"],
5
- "mappings": "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",
6
- "names": ["import_purify_ts", "import_xstate", "import_ApduBuilder", "import_CommandResult", "import_makeInternalApi", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "import_OpenAppDeviceAction", "import_src", "import_SendCommandInAppDeviceAction", "setupOpenAppDAMock", "error", "sendMyCommand", "extractDependenciesMock", "apiSendCommandMock", "commandParams", "mockedCommandResponse", "deviceAction", "TestCommand", "resolve", "reject", "done", "expectedStates", "params"]
4
+ "sourcesContent": ["/* eslint @typescript-eslint/consistent-type-imports:0 */\nimport { Left, Right } from \"purify-ts\";\nimport { type Mock } from \"vitest\";\nimport { assign, createMachine } from \"xstate\";\n\nimport { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nimport { CommandResultFactory } from \"@api/command/model/CommandResult\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { testDeviceActionStates } from \"@api/device-action/__test-utils__/testDeviceActionStates\";\nimport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nimport { type Command } from \"@api/types\";\nimport { UnknownDeviceExchangeError } from \"@root/src\";\n\nimport { SendCommandInAppDeviceAction } from \"./SendCommandInAppDeviceAction\";\nimport {\n type SendCommandInAppDAError,\n type SendCommandInAppDAIntermediateValue,\n type SendCommandInAppDAOutput,\n} from \"./SendCommandInAppDeviceActionTypes\";\n\nvi.mock(\n \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\",\n async (importOriginal) => {\n const original =\n await importOriginal<\n typeof import(\"../OpenAppDeviceAction/OpenAppDeviceAction\")\n >();\n\n return {\n ...original,\n OpenAppDeviceAction: vi.fn(() => ({\n makeStateMachine: vi.fn(),\n })),\n };\n },\n);\n\nconst setupOpenAppDAMock = (error?: unknown) => {\n (OpenAppDeviceAction as Mock).mockImplementation(() => ({\n makeStateMachine: vi.fn().mockImplementation(() =>\n createMachine({\n initial: \"pending\",\n states: {\n pending: {\n entry: assign({\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n }),\n after: {\n 0: \"done\",\n },\n },\n done: {\n type: \"final\",\n },\n },\n output: () => (error ? Left(error) : Right(undefined)),\n }),\n ),\n }));\n};\n\ndescribe(\"SendCommandInAppDeviceAction\", () => {\n const sendMyCommand = vi.fn();\n\n const extractDependenciesMock = () => ({\n sendCommand: sendMyCommand,\n });\n\n const { sendCommand: apiSendCommandMock } = makeDeviceActionInternalApiMock();\n\n const commandParams = {\n paramString: \"aParameter\",\n paramNumber: 1234,\n };\n const mockedCommandResponse = {\n aNumber: 5678,\n aString: \"mockedResponseString\",\n };\n beforeEach(() => {\n vi.resetAllMocks();\n });\n\n describe(\"without mocking extractDependencies\", () => {\n it(\"should call sendCommand on internalApi with the correct parameters\", async () => {\n setupOpenAppDAMock();\n apiSendCommandMock.mockResolvedValue(\n CommandResultFactory({ data: undefined }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n });\n await new Promise<void>((resolve, reject) => {\n deviceAction\n ._execute(makeDeviceActionInternalApiMock())\n .observable.subscribe({\n error: () => reject(),\n complete: () => resolve(),\n next: () => {},\n });\n });\n\n expect(apiSendCommandMock).toHaveBeenCalledWith(\n new TestCommand(commandParams),\n );\n });\n });\n\n describe(\"error cases\", () => {\n it(\"should error and output the error if the open app fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock(new UnknownDAError(\"Mocked error\"));\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDAError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n }),\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n\n it(\"should error and output an error if the send command fails\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockImplementation(\n extractDependenciesMock,\n );\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n },\n {\n status: DeviceActionStatus.Error,\n error: new UnknownDeviceExchangeError(\"Mocked error\"),\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n\n describe(\"success cases\", () => {\n it(\"should succeed and output the command result if the send command succeeds\", () =>\n new Promise<void>((resolve, reject) => {\n setupOpenAppDAMock();\n\n sendMyCommand.mockResolvedValue(\n CommandResultFactory({ data: mockedCommandResponse }),\n );\n\n const deviceAction = new SendCommandInAppDeviceAction({\n input: {\n command: new TestCommand(commandParams),\n appName: \"MyApp\",\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n });\n\n vi.spyOn(deviceAction, \"extractDependencies\").mockImplementation(\n extractDependenciesMock,\n );\n\n const expectedStates: MyCommandSendCommandDAState[] = [\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.ConfirmOpenApp,\n },\n },\n {\n status: DeviceActionStatus.Pending,\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.VerifyAddress,\n },\n },\n {\n status: DeviceActionStatus.Completed,\n output: mockedCommandResponse,\n },\n ];\n\n testDeviceActionStates(\n deviceAction,\n expectedStates,\n makeDeviceActionInternalApiMock(),\n {\n onDone: resolve,\n onError: reject,\n },\n );\n }));\n });\n});\n\ntype MyCommandResponse = {\n aNumber: number;\n aString: string;\n};\n\ntype MyCommandParams = {\n paramString: string;\n paramNumber: number;\n};\n\nclass TestCommand implements Command<MyCommandResponse, MyCommandParams> {\n params: MyCommandParams;\n constructor(params: MyCommandParams) {\n this.params = params;\n }\n getApdu(): Apdu {\n return new ApduBuilder({ cla: 0x00, ins: 0x01, p1: 0x02, p2: 0x03 })\n .add32BitUIntToData(this.params.paramNumber)\n .addAsciiStringToData(this.params.paramString)\n .build();\n }\n parseResponse() {\n return CommandResultFactory({ data: { aNumber: 1, aString: \"aString\" } });\n }\n}\n\ntype MyCommandSendCommandDAState = DeviceActionState<\n SendCommandInAppDAOutput<MyCommandResponse>,\n SendCommandInAppDAError<UnknownDAError>,\n SendCommandInAppDAIntermediateValue<\n UserInteractionRequired.None | UserInteractionRequired.VerifyAddress\n >\n>;\n"],
5
+ "mappings": "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",
6
+ "names": ["import_purify_ts", "import_xstate", "import_ApduBuilder", "import_CommandResult", "import_makeInternalApi", "import_testDeviceActionStates", "import_DeviceActionState", "import_UserInteractionRequired", "import_Errors", "import_OpenAppDeviceAction", "import_src", "import_SendCommandInAppDeviceAction", "importOriginal", "setupOpenAppDAMock", "error", "sendMyCommand", "extractDependenciesMock", "apiSendCommandMock", "commandParams", "mockedCommandResponse", "deviceAction", "TestCommand", "resolve", "reject", "expectedStates", "params"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var t=Object.prototype.hasOwnProperty;var s=(r,e,p,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of a(e))!t.call(r,o)&&o!==p&&m(r,o,{get:()=>e[o],enumerable:!(n=d(e,o))||n.enumerable});return r};var C=r=>s(m({},"__esModule",{value:!0}),r);var A={};module.exports=C(A);
1
+ "use strict";var m=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var t=Object.prototype.hasOwnProperty;var s=(r,e,p,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of d(e))!t.call(r,o)&&o!==p&&m(r,o,{get:()=>e[o],enumerable:!(n=a(e,o))||n.enumerable});return r};var C=r=>s(m({},"__esModule",{value:!0}),r);var A={};module.exports=C(A);
2
2
  //# sourceMappingURL=SendCommandInAppDeviceActionTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.ts"],
4
- "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport {\n type OpenAppDAError,\n type OpenAppDAIntermediateValue,\n} from \"@api/device-action/os/OpenAppDeviceAction/types\";\nimport { type Command } from \"@api/types\";\n\nexport type SendCommandInAppDAOutput<CommandResponse> = CommandResponse;\n\nexport type SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction,\n> = {\n readonly command: Command<CommandResponse, CommandArgs, CommandErrorCodes>;\n readonly appName: string;\n readonly requiredUserInteraction: UserInteraction;\n};\n\nexport type SendCommandInAppDAError<CommandErrorCodes = void> =\n | OpenAppDAError\n | CommandErrorResult<CommandErrorCodes>[\"error\"];\n\nexport type SendCommandInAppDAIntermediateValue<UserInteraction> =\n | { readonly requiredUserInteraction: UserInteraction }\n | OpenAppDAIntermediateValue;\n\nexport type SendCommandInAppDAInternalState<\n CommandResponse,\n CommandErrorCodes,\n> = {\n readonly commandResponse: CommandResponse | null;\n readonly error: SendCommandInAppDAError<CommandErrorCodes> | null;\n};\n"],
4
+ "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport {\n type OpenAppDAError,\n type OpenAppDAIntermediateValue,\n} from \"@api/device-action/os/OpenAppDeviceAction/types\";\nimport { type Command } from \"@api/types\";\n\nexport type SendCommandInAppDAOutput<CommandResponse> = CommandResponse;\n\nexport type SendCommandInAppDAInput<\n CommandResponse,\n CommandArgs,\n CommandErrorCodes,\n UserInteraction,\n> = {\n readonly command: Command<CommandResponse, CommandArgs, CommandErrorCodes>;\n readonly appName: string;\n readonly requiredUserInteraction: UserInteraction;\n readonly compatibleAppNames?: string[];\n};\n\nexport type SendCommandInAppDAError<CommandErrorCodes = void> =\n | OpenAppDAError\n | CommandErrorResult<CommandErrorCodes>[\"error\"];\n\nexport type SendCommandInAppDAIntermediateValue<UserInteraction> =\n | { readonly requiredUserInteraction: UserInteraction }\n | OpenAppDAIntermediateValue;\n\nexport type SendCommandInAppDAInternalState<\n CommandResponse,\n CommandErrorCodes,\n> = {\n readonly commandResponse: CommandResponse | null;\n readonly error: SendCommandInAppDAError<CommandErrorCodes> | null;\n};\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["SendCommandInAppDeviceActionTypes_exports", "__toCommonJS"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/use-case/ExecuteDeviceActionUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport {\n DeviceAction,\n DeviceActionIntermediateValue,\n ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { DmkError } from \"@api/Error\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { LoggerPublisherService } from \"@internal/logger-publisher/service/LoggerPublisherService\";\n\nexport type ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n> = {\n /**\n * The device session id.\n */\n readonly sessionId: string;\n /**\n * The device action to execute.\n */\n readonly deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>;\n};\n\n/**\n * Executes a device action to a device through a device session.\n */\n@injectable()\nexport class ExecuteDeviceActionUseCase {\n private readonly _sessionService: DeviceSessionService;\n private readonly _logger: LoggerPublisherService;\n constructor(\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._sessionService = sessionService;\n this._logger = loggerFactory(\"ExecuteDeviceActionUseCase\");\n }\n\n /**\n * Executes a device action to a device through a device session.\n *\n * @param sessionId - The device session id.\n * @param deviceAction - The device action to execute\n * @returns An object containing an observable of the device action state, and a cancel function.\n */\n execute<\n Output,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n Input,\n >({\n sessionId,\n deviceAction,\n }: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const deviceSessionOrError =\n this._sessionService.getDeviceSessionById(sessionId);\n\n return deviceSessionOrError.caseOf({\n // Case device session found\n Right: (deviceSession) =>\n deviceSession.executeDeviceAction<\n Output,\n Input,\n Error,\n IntermediateValue\n >(deviceAction),\n // Case device session not found\n Left: (error) => {\n this._logger.error(\"Error getting session\", {\n data: { error },\n });\n throw error;\n },\n });\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBAQnCC,EAAmC,0DAEnCC,EAA4B,qDAuBrB,IAAMC,EAAN,KAAiC,CACrB,gBACA,QACjB,YAEEC,EAEAC,EACA,CACA,KAAK,gBAAkBD,EACvB,KAAK,QAAUC,EAAc,4BAA4B,CAC3D,CASA,QAKE,CACA,UAAAC,EACA,aAAAC,CACF,EAKoE,CAIlE,OAFE,KAAK,gBAAgB,qBAAqBD,CAAS,EAEzB,OAAO,CAEjC,MAAQE,GACNA,EAAc,oBAKZD,CAAY,EAEhB,KAAOE,GAAU,CACf,WAAK,QAAQ,MAAM,wBAAyB,CAC1C,KAAM,CAAE,MAAAA,CAAM,CAChB,CAAC,EACKA,CACR,CACF,CAAC,CACH,CACF,EAvDaN,EAANO,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,qBAAmB,oBAAoB,GAE9CA,EAAA,eAAO,cAAY,6BAA6B,IANxCR",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport {\n DeviceAction,\n DeviceActionIntermediateValue,\n ExecuteDeviceActionReturnType,\n} from \"@api/device-action/DeviceAction\";\nimport { DmkError } from \"@api/Error\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\n\nexport type ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n> = {\n /**\n * The device session id.\n */\n readonly sessionId: string;\n /**\n * The device action to execute.\n */\n readonly deviceAction: DeviceAction<Output, Input, Error, IntermediateValue>;\n};\n\n/**\n * Executes a device action to a device through a device session.\n */\n@injectable()\nexport class ExecuteDeviceActionUseCase {\n private readonly _sessionService: DeviceSessionService;\n private readonly _logger: LoggerPublisherService;\n constructor(\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._sessionService = sessionService;\n this._logger = loggerFactory(\"ExecuteDeviceActionUseCase\");\n }\n\n /**\n * Executes a device action to a device through a device session.\n *\n * @param sessionId - The device session id.\n * @param deviceAction - The device action to execute\n * @returns An object containing an observable of the device action state, and a cancel function.\n */\n execute<\n Output,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n Input,\n >({\n sessionId,\n deviceAction,\n }: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n const deviceSessionOrError =\n this._sessionService.getDeviceSessionById(sessionId);\n\n return deviceSessionOrError.caseOf({\n // Case device session found\n Right: (deviceSession) =>\n deviceSession.executeDeviceAction<\n Output,\n Input,\n Error,\n IntermediateValue\n >(deviceAction),\n // Case device session not found\n Left: (error) => {\n this._logger.error(\"Error getting session\", {\n data: { error },\n });\n throw error;\n },\n });\n }\n}\n"],
5
+ "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBASnCC,EAAmC,0DAEnCC,EAA4B,qDAsBrB,IAAMC,EAAN,KAAiC,CACrB,gBACA,QACjB,YAEEC,EAEAC,EACA,CACA,KAAK,gBAAkBD,EACvB,KAAK,QAAUC,EAAc,4BAA4B,CAC3D,CASA,QAKE,CACA,UAAAC,EACA,aAAAC,CACF,EAKoE,CAIlE,OAFE,KAAK,gBAAgB,qBAAqBD,CAAS,EAEzB,OAAO,CAEjC,MAAQE,GACNA,EAAc,oBAKZD,CAAY,EAEhB,KAAOE,GAAU,CACf,WAAK,QAAQ,MAAM,wBAAyB,CAC1C,KAAM,CAAE,MAAAA,CAAM,CAChB,CAAC,EACKA,CACR,CACF,CAAC,CACH,CACF,EAvDaN,EAANO,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,qBAAmB,oBAAoB,GAE9CA,EAAA,eAAO,cAAY,6BAA6B,IANxCR",
6
6
  "names": ["ExecuteDeviceActionUseCase_exports", "__export", "ExecuteDeviceActionUseCase", "__toCommonJS", "import_inversify", "import_deviceSessionTypes", "import_loggerTypes", "ExecuteDeviceActionUseCase", "sessionService", "loggerFactory", "sessionId", "deviceAction", "deviceSession", "error", "__decorateClass", "__decorateParam"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var A=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var D=(n,e)=>{for(var r in e)s(n,r,{get:e[r],enumerable:!0})},E=(n,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of A(e))!x.call(n,t)&&t!==r&&s(n,t,{get:()=>e[t],enumerable:!(a=v(e,t))||a.enumerable});return n};var M=n=>E(s({},"__esModule",{value:!0}),n);var f={};D(f,{XStateDeviceAction:()=>V});module.exports=M(f);var h=require("@statelyai/inspect"),i=require("rxjs"),I=require("xstate"),o=require("../../device-action/model/DeviceActionState");class V{input;inspect=!1;constructor(e){this.input=e.input,this.inspect=!!e.inspect}_execute(e){const r=this.makeStateMachine(e),a=(0,I.createActor)(r,{input:this.input,inspect:this.inspect?(0,h.createBrowserInspector)().inspect:void 0}),t=new i.ReplaySubject,l=c=>{const{context:u,status:d,output:y,error:b}=c;switch(d){case"active":t.next({status:o.DeviceActionStatus.Pending,intermediateValue:u.intermediateValue});break;case"done":y.caseOf({Left:p=>{t.next({status:o.DeviceActionStatus.Error,error:p})},Right:p=>{t.next({status:o.DeviceActionStatus.Completed,output:p})}}),t.complete();break;case"error":t.error(b),t.complete();break;case"stopped":t.next({status:o.DeviceActionStatus.Stopped}),t.complete();break;default:this._exhaustiveMatchingGuard(d)}},S=new i.Observable(c=>{const u=t.subscribe(c);return()=>{m.unsubscribe(),u.unsubscribe(),a.stop()}}),m=a.subscribe(l);return a.start(),{observable:S.pipe((0,i.share)()),cancel:()=>{a.stop(),m.unsubscribe(),l(a.getSnapshot())}}}_exhaustiveMatchingGuard(e){throw console.log("_exhaustiveMatchingGuard status",e),new Error(`Unhandled status: ${e}`)}}0&&(module.exports={XStateDeviceAction});
1
+ "use strict";var s=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var x=(n,e)=>{for(var r in e)s(n,r,{get:e[r],enumerable:!0})},D=(n,e,r,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of v(e))!A.call(n,t)&&t!==r&&s(n,t,{get:()=>e[t],enumerable:!(a=b(e,t))||a.enumerable});return n};var E=n=>D(s({},"__esModule",{value:!0}),n);var V={};x(V,{XStateDeviceAction:()=>M});module.exports=E(V);var i=require("rxjs"),d=require("xstate"),o=require("../../device-action/model/DeviceActionState");class M{input;inspect=!1;constructor(e){this.input=e.input,this.inspect=!!e.inspect}_execute(e){const r=this.makeStateMachine(e),a=(0,d.createActor)(r,{input:this.input}),t=new i.ReplaySubject,l=c=>{const{context:u,status:h,output:I,error:y}=c;switch(h){case"active":t.next({status:o.DeviceActionStatus.Pending,intermediateValue:u.intermediateValue});break;case"done":I.caseOf({Left:p=>{t.next({status:o.DeviceActionStatus.Error,error:p})},Right:p=>{t.next({status:o.DeviceActionStatus.Completed,output:p})}}),t.complete();break;case"error":t.error(y),t.complete();break;case"stopped":t.next({status:o.DeviceActionStatus.Stopped}),t.complete();break;default:this._exhaustiveMatchingGuard(h)}},S=new i.Observable(c=>{const u=t.subscribe(c);return()=>{m.unsubscribe(),u.unsubscribe(),a.stop()}}),m=a.subscribe(l);return a.start(),{observable:S.pipe((0,i.share)()),cancel:()=>{a.stop(),m.unsubscribe(),l(a.getSnapshot())}}}_exhaustiveMatchingGuard(e){throw console.log("_exhaustiveMatchingGuard status",e),new Error(`Unhandled status: ${e}`)}}0&&(module.exports={XStateDeviceAction});
2
2
  //# sourceMappingURL=XStateDeviceAction.js.map