@ledgerhq/device-management-kit 0.6.0 → 0.6.2

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 (647) hide show
  1. package/lib/cjs/index.js.map +1 -1
  2. package/lib/cjs/package.json +11 -10
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +2 -2
  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/apdu/utils/ByteArrayParser.test.js +1 -1
  12. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  13. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  14. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  15. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +2 -0
  16. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  17. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  18. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  19. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js +2 -0
  20. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  21. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  22. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  23. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  24. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  25. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  26. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  27. package/lib/cjs/src/api/device/SecureElementFlags.js +2 -0
  28. package/lib/cjs/src/api/device/SecureElementFlags.js.map +7 -0
  29. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  30. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  31. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  32. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  33. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  34. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  35. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  36. package/lib/cjs/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  37. package/lib/cjs/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
  38. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  39. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  40. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  41. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  42. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +2 -0
  43. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  44. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  45. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  46. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  47. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  48. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  49. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  50. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  51. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  52. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  53. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  54. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  55. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  56. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  57. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  58. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  59. package/lib/cjs/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  60. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  61. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +1 -1
  62. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  63. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  64. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  65. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  66. package/lib/cjs/src/api/index.js +1 -1
  67. package/lib/cjs/src/api/index.js.map +3 -3
  68. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  69. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  70. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  71. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  72. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  73. package/lib/cjs/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  74. package/lib/cjs/src/api/secure-channel/constants.js +2 -0
  75. package/lib/cjs/src/api/secure-channel/constants.js.map +7 -0
  76. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  77. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  78. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  79. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  80. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js +2 -0
  81. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  82. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  83. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  84. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  85. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  86. package/lib/cjs/src/api/secure-channel/task/types.js +2 -0
  87. package/lib/cjs/src/api/secure-channel/task/types.js.map +7 -0
  88. package/lib/cjs/src/api/secure-channel/types.js +2 -0
  89. package/lib/cjs/src/api/secure-channel/types.js.map +7 -0
  90. package/lib/cjs/src/api/secure-channel/utils.js +2 -0
  91. package/lib/cjs/src/api/secure-channel/utils.js.map +7 -0
  92. package/lib/cjs/src/api/secure-channel/utils.test.js +2 -0
  93. package/lib/cjs/src/api/secure-channel/utils.test.js.map +7 -0
  94. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  95. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  96. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js +1 -1
  97. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  98. package/lib/cjs/src/api/transport/model/Errors.js.map +2 -2
  99. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  100. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  101. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  102. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +1 -1
  103. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +1 -1
  104. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  105. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  106. package/lib/cjs/src/api/types.js +1 -1
  107. package/lib/cjs/src/api/types.js.map +1 -1
  108. package/lib/cjs/src/api/utils/Base64String.test.js +1 -1
  109. package/lib/cjs/src/api/utils/Base64String.test.js.map +2 -2
  110. package/lib/cjs/src/api/utils/HexaString.js +1 -1
  111. package/lib/cjs/src/api/utils/HexaString.js.map +2 -2
  112. package/lib/cjs/src/api/utils/HexaString.test.js +1 -1
  113. package/lib/cjs/src/api/utils/HexaString.test.js.map +2 -2
  114. package/lib/cjs/src/di.js +1 -1
  115. package/lib/cjs/src/di.js.map +3 -3
  116. package/lib/cjs/src/di.stub.js +1 -1
  117. package/lib/cjs/src/di.stub.js.map +2 -2
  118. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  119. package/lib/cjs/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  120. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  121. package/lib/cjs/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  122. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  123. package/lib/cjs/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  124. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  125. package/lib/cjs/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  126. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js +1 -1
  127. package/lib/cjs/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  128. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  129. package/lib/cjs/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  130. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  131. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  132. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  133. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  134. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  135. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  136. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  137. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  138. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  139. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  140. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  141. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  142. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  143. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  144. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  145. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  146. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  147. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  148. package/lib/cjs/src/internal/device-session/service/RefresherService.js +2 -0
  149. package/lib/cjs/src/internal/device-session/service/RefresherService.js.map +7 -0
  150. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +2 -0
  151. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  152. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  153. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  154. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  155. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  156. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  157. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  158. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  159. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  160. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  161. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  162. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  163. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  164. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  165. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  166. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  167. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  168. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  169. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  170. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  171. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  172. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  173. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  174. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  175. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  176. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  177. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  178. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  179. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  180. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  181. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  182. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  183. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  184. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  185. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  186. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  187. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  188. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  189. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  190. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  191. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  192. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  193. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  194. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  195. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  196. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  197. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  198. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  199. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  200. package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
  201. package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
  202. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  203. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  204. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  205. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  206. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  207. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  208. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  209. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  210. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  211. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  212. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  213. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  214. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  215. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  216. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +2 -0
  217. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  218. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  219. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  220. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  221. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  222. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  223. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  224. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  225. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  226. package/lib/cjs/src/internal/secure-channel/model/Const.js +2 -0
  227. package/lib/cjs/src/internal/secure-channel/model/Const.js.map +7 -0
  228. package/lib/cjs/src/internal/secure-channel/model/Errors.js +2 -0
  229. package/lib/cjs/src/internal/secure-channel/model/Errors.js.map +7 -0
  230. package/lib/cjs/src/internal/secure-channel/model/Params.js +2 -0
  231. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +7 -0
  232. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  233. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  234. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  235. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  236. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +2 -0
  237. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  238. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  239. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  240. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  241. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  242. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  243. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  244. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  245. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  246. package/lib/esm/package.json +11 -10
  247. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  248. package/lib/esm/src/api/DeviceManagementKit.js.map +2 -2
  249. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  250. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  251. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  252. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +2 -2
  253. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js +1 -1
  254. package/lib/esm/src/api/DeviceManagementKitBuilder.test.js.map +2 -2
  255. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  256. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  257. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  258. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  259. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +2 -0
  260. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +7 -0
  261. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +2 -0
  262. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +7 -0
  263. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js +2 -0
  264. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js.map +7 -0
  265. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +2 -0
  266. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +7 -0
  267. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  268. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  269. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  270. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  271. package/lib/esm/src/api/device/SecureElementFlags.js +1 -0
  272. package/lib/esm/src/api/device/SecureElementFlags.js.map +7 -0
  273. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  274. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  275. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  276. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +2 -2
  277. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js +1 -1
  278. package/lib/esm/src/api/device-action/__test-utils__/testDeviceActionStates.js.map +3 -3
  279. package/lib/esm/src/api/device-action/model/UserInteractionRequired.js.map +1 -1
  280. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +2 -0
  281. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +7 -0
  282. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +2 -0
  283. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +7 -0
  284. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -0
  285. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +7 -0
  286. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  287. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  288. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  289. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  290. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js +1 -1
  291. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.test.js.map +3 -3
  292. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  293. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +3 -3
  294. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  295. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  296. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  297. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  298. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  299. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +3 -3
  300. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js +1 -1
  301. package/lib/esm/src/api/device-action/xstate-utils/XStateDeviceAction.js.map +3 -3
  302. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +1 -1
  303. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js +2 -0
  304. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.js.map +7 -0
  305. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +2 -0
  306. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +7 -0
  307. package/lib/esm/src/api/index.js +1 -1
  308. package/lib/esm/src/api/index.js.map +3 -3
  309. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js +1 -1
  310. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.test.js.map +2 -2
  311. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  312. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  313. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js +1 -1
  314. package/lib/esm/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.js.map +2 -2
  315. package/lib/esm/src/api/secure-channel/constants.js +2 -0
  316. package/lib/esm/src/api/secure-channel/constants.js.map +7 -0
  317. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +2 -0
  318. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +7 -0
  319. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +2 -0
  320. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +7 -0
  321. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js +1 -0
  322. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/types.js.map +7 -0
  323. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +2 -0
  324. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +7 -0
  325. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +2 -0
  326. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +7 -0
  327. package/lib/esm/src/api/secure-channel/task/types.js +2 -0
  328. package/lib/esm/src/api/secure-channel/task/types.js.map +7 -0
  329. package/lib/esm/src/api/secure-channel/types.js +1 -0
  330. package/lib/esm/src/api/secure-channel/types.js.map +7 -0
  331. package/lib/esm/src/api/secure-channel/utils.js +2 -0
  332. package/lib/esm/src/api/secure-channel/utils.js.map +7 -0
  333. package/lib/esm/src/api/secure-channel/utils.test.js +2 -0
  334. package/lib/esm/src/api/secure-channel/utils.test.js.map +7 -0
  335. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +1 -1
  336. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +2 -2
  337. package/lib/esm/src/api/transport/model/Errors.js.map +2 -2
  338. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +1 -1
  339. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +2 -2
  340. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +1 -1
  341. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +2 -2
  342. package/lib/esm/src/api/utils/Base64String.test.js +1 -1
  343. package/lib/esm/src/api/utils/Base64String.test.js.map +2 -2
  344. package/lib/esm/src/api/utils/HexaString.js +1 -1
  345. package/lib/esm/src/api/utils/HexaString.js.map +2 -2
  346. package/lib/esm/src/api/utils/HexaString.test.js +1 -1
  347. package/lib/esm/src/api/utils/HexaString.test.js.map +2 -2
  348. package/lib/esm/src/di.js +1 -1
  349. package/lib/esm/src/di.js.map +3 -3
  350. package/lib/esm/src/di.stub.js +1 -1
  351. package/lib/esm/src/di.stub.js.map +2 -2
  352. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js +1 -1
  353. package/lib/esm/src/internal/config/data/LocalConfigDataSource.test.js.map +3 -3
  354. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js +1 -1
  355. package/lib/esm/src/internal/config/data/RemoteConfigDataSource.test.js.map +2 -2
  356. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js +1 -1
  357. package/lib/esm/src/internal/config/data/__mocks__/LocalConfigDataSource.js.map +2 -2
  358. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js +1 -1
  359. package/lib/esm/src/internal/config/data/__mocks__/RemoteConfigDataSource.js.map +2 -2
  360. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js +1 -1
  361. package/lib/esm/src/internal/config/service/DefaultConfigService.test.js.map +2 -2
  362. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js +1 -1
  363. package/lib/esm/src/internal/config/use-case/GetDmkVersionUseCase.test.js.map +2 -2
  364. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  365. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  366. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  367. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  368. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  369. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  370. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  371. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  372. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  373. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  374. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  375. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  376. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  377. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +2 -2
  378. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  379. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +2 -2
  380. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  381. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  382. package/lib/esm/src/internal/device-session/service/RefresherService.js +2 -0
  383. package/lib/esm/src/internal/device-session/service/RefresherService.js.map +7 -0
  384. package/lib/esm/src/internal/device-session/service/RefresherService.test.js +2 -0
  385. package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +7 -0
  386. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  387. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  388. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  389. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  390. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  391. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  392. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  393. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  394. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  395. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  396. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  397. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  398. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  399. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  400. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  401. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  402. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  403. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  404. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  405. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  406. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +2 -0
  407. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +7 -0
  408. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js +2 -0
  409. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.js.map +7 -0
  410. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  411. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  412. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  413. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  414. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  415. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +2 -2
  416. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +1 -1
  417. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +2 -2
  418. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js +1 -1
  419. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.test.js.map +2 -2
  420. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  421. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  422. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  423. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  424. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  425. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  426. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  427. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  428. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  429. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  430. package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
  431. package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
  432. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  433. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  434. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  435. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  436. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +2 -0
  437. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +7 -0
  438. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +2 -0
  439. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +7 -0
  440. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -0
  441. package/lib/esm/src/internal/secure-channel/data/SecureChannelDataSource.js.map +7 -0
  442. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +2 -0
  443. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +7 -0
  444. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +2 -0
  445. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +7 -0
  446. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +2 -0
  447. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +7 -0
  448. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +2 -0
  449. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +7 -0
  450. package/lib/esm/src/internal/secure-channel/model/Const.js +2 -0
  451. package/lib/esm/src/internal/secure-channel/model/Const.js.map +7 -0
  452. package/lib/esm/src/internal/secure-channel/model/Errors.js +2 -0
  453. package/lib/esm/src/internal/secure-channel/model/Errors.js.map +7 -0
  454. package/lib/esm/src/internal/secure-channel/model/Params.js +1 -0
  455. package/lib/esm/src/internal/secure-channel/model/Params.js.map +7 -0
  456. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +2 -0
  457. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +7 -0
  458. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +2 -0
  459. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +7 -0
  460. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js +1 -0
  461. package/lib/esm/src/internal/secure-channel/service/SecureChannelService.js.map +7 -0
  462. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  463. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  464. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  465. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  466. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +1 -1
  467. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +2 -2
  468. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  469. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  470. package/lib/types/src/api/DeviceManagementKit.d.ts +10 -8
  471. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  472. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +8 -2
  473. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  474. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +25 -0
  475. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -0
  476. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts +2 -0
  477. package/lib/types/src/api/command/os/LoadCertificateCommand.test.d.ts.map +1 -0
  478. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts +43 -0
  479. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts.map +1 -0
  480. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts +2 -0
  481. package/lib/types/src/api/command/os/SecureElementFlagsParser.test.d.ts.map +1 -0
  482. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  483. package/lib/types/src/api/device/SecureElementFlags.d.ts +41 -0
  484. package/lib/types/src/api/device/SecureElementFlags.d.ts.map +1 -0
  485. package/lib/types/src/api/device-action/DeviceAction.d.ts +6 -0
  486. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  487. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts +2 -1
  488. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  489. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  490. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts +5 -2
  491. package/lib/types/src/api/device-action/__test-utils__/testDeviceActionStates.d.ts.map +1 -1
  492. package/lib/types/src/api/device-action/model/UserInteractionRequired.d.ts +1 -1
  493. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts +40 -0
  494. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -0
  495. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts +2 -0
  496. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.d.ts.map +1 -0
  497. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +19 -0
  498. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -0
  499. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  500. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  501. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +4 -0
  502. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  503. package/lib/types/src/api/device-session/use-case/{ToggleDeviceSessionRefresher.d.ts → DisableDeviceSessionRefresher.d.ts} +6 -6
  504. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.d.ts.map +1 -0
  505. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts +2 -0
  506. package/lib/types/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.d.ts.map +1 -0
  507. package/lib/types/src/api/index.d.ts +3 -0
  508. package/lib/types/src/api/index.d.ts.map +1 -1
  509. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts +1 -1
  510. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -1
  511. package/lib/types/src/api/secure-channel/constants.d.ts +2 -0
  512. package/lib/types/src/api/secure-channel/constants.d.ts.map +1 -0
  513. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts +8 -0
  514. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -0
  515. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +1 -0
  516. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts.map +1 -0
  517. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +48 -0
  518. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -0
  519. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +23 -0
  520. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -0
  521. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts +2 -0
  522. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.test.d.ts.map +1 -0
  523. package/lib/types/src/api/secure-channel/task/types.d.ts +105 -0
  524. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -0
  525. package/lib/types/src/api/secure-channel/types.d.ts +4 -0
  526. package/lib/types/src/api/secure-channel/types.d.ts.map +1 -0
  527. package/lib/types/src/api/secure-channel/utils.d.ts +30 -0
  528. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -0
  529. package/lib/types/src/api/secure-channel/utils.test.d.ts +2 -0
  530. package/lib/types/src/api/secure-channel/utils.test.d.ts.map +1 -0
  531. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +1 -1
  532. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -1
  533. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +2 -0
  534. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  535. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  536. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  537. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  538. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts +2 -0
  539. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -1
  540. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts +7 -7
  541. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -1
  542. package/lib/types/src/api/types.d.ts +1 -0
  543. package/lib/types/src/api/types.d.ts.map +1 -1
  544. package/lib/types/src/api/utils/HexaString.d.ts +1 -1
  545. package/lib/types/src/api/utils/HexaString.d.ts.map +1 -1
  546. package/lib/types/src/di.d.ts.map +1 -1
  547. package/lib/types/src/di.stub.d.ts +1 -1
  548. package/lib/types/src/di.stub.d.ts.map +1 -1
  549. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts +1 -1
  550. package/lib/types/src/internal/config/data/__mocks__/LocalConfigDataSource.d.ts.map +1 -1
  551. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts +3 -3
  552. package/lib/types/src/internal/config/data/__mocks__/RemoteConfigDataSource.d.ts.map +1 -1
  553. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -1
  554. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +13 -7
  555. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  556. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -1
  557. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  558. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  559. package/lib/types/src/internal/device-session/service/RefresherService.d.ts +10 -0
  560. package/lib/types/src/internal/device-session/service/RefresherService.d.ts.map +1 -0
  561. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts +2 -0
  562. package/lib/types/src/internal/device-session/service/RefresherService.test.d.ts.map +1 -0
  563. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -1
  564. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  565. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -1
  566. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  567. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +24 -0
  568. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -0
  569. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts +2 -0
  570. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.test.d.ts.map +1 -0
  571. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +5 -5
  572. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -1
  573. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +8 -16
  574. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  575. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +16 -55
  576. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  577. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +4 -1
  578. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  579. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +4 -9
  580. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  581. package/lib/types/src/internal/manager-api/model/Application.d.ts +4 -1
  582. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  583. package/lib/types/src/internal/manager-api/model/Const.d.ts +0 -1
  584. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  585. package/lib/types/src/internal/manager-api/model/Errors.d.ts +0 -6
  586. package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
  587. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +4 -0
  588. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  589. package/lib/types/src/internal/manager-api/model/Params.d.ts +25 -68
  590. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  591. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -5
  592. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  593. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +33 -2
  594. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  595. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +18 -0
  596. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -0
  597. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts +2 -0
  598. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.d.ts.map +1 -0
  599. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +52 -0
  600. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -0
  601. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +10 -0
  602. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -0
  603. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts +9 -0
  604. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -0
  605. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts +2 -0
  606. package/lib/types/src/internal/secure-channel/di/secureChannelModule.test.d.ts.map +1 -0
  607. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +6 -0
  608. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -0
  609. package/lib/types/src/internal/secure-channel/model/Const.d.ts +2 -0
  610. package/lib/types/src/internal/secure-channel/model/Const.d.ts.map +1 -0
  611. package/lib/types/src/internal/secure-channel/model/Errors.d.ts +14 -0
  612. package/lib/types/src/internal/secure-channel/model/Errors.d.ts.map +1 -0
  613. package/lib/types/src/internal/secure-channel/model/Params.d.ts +86 -0
  614. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -0
  615. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +21 -0
  616. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -0
  617. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts +2 -0
  618. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.test.d.ts.map +1 -0
  619. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +22 -0
  620. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -0
  621. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +6 -6
  622. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  623. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  624. package/package.json +12 -11
  625. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  626. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  627. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  628. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  629. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  630. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  631. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  632. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  633. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +0 -2
  634. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +0 -7
  635. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +0 -2
  636. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +0 -7
  637. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +0 -2
  638. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +0 -7
  639. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +0 -2
  640. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +0 -7
  641. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +0 -1
  642. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +0 -2
  643. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +0 -1
  644. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +0 -13
  645. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +0 -1
  646. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts +0 -2
  647. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- import{LogLevel as t}from"../../logger-subscriber/model/LogLevel";import{ConsoleLogger as s}from"./ConsoleLogger";const d=jest.spyOn(console,"warn").mockImplementation(jest.fn()),n=jest.spyOn(console,"info").mockImplementation(jest.fn()),r=jest.spyOn(console,"debug").mockImplementation(jest.fn()),a=jest.spyOn(console,"error").mockImplementation(jest.fn()),i=jest.spyOn(console,"log").mockImplementation(jest.fn());let o;const e={data:{key:"value"},timestamp:1,tag:"tag"},l="message";describe("ConsoleLogger",()=>{afterAll(()=>{jest.restoreAllMocks()}),describe("default level (LogLevel.DEBUG)",()=>{beforeEach(()=>{jest.clearAllMocks(),o=new s}),describe("log",()=>{it("should log Info level",()=>{o.log(t.Info,l,e),expect(n).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Info level with a custom tag",()=>{const g="custom-tag";o.log(t.Info,l,{...e,tag:g}),expect(n).toHaveBeenCalledWith(`[${g}]`,l,e.data)}),it("should log Warn level",()=>{o.log(t.Warning,l,e),expect(d).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Debug level",()=>{o.log(t.Debug,l,e),expect(r).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(i).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Info)",()=>{beforeEach(()=>{jest.clearAllMocks(),o=new s(t.Info)}),describe("log",()=>{it("should log Info level",()=>{o.log(t.Info,l,e),expect(n).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Info level with a custom tag",()=>{const g="custom-tag";o.log(t.Info,l,{...e,tag:g}),expect(n).toHaveBeenCalledWith(`[${g}]`,l,e.data)}),it("should log Warn level",()=>{o.log(t.Warning,l,e),expect(d).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(i).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Warning)",()=>{beforeEach(()=>{jest.clearAllMocks(),o=new s(t.Warning)}),describe("log",()=>{it("should not log Info level",()=>{o.log(t.Info,l,e),expect(n).not.toHaveBeenCalled()}),it("should log Warn level",()=>{o.log(t.Warning,l,e),expect(d).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(i).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Error)",()=>{beforeEach(()=>{jest.clearAllMocks(),o=new s(t.Error)}),describe("log",()=>{it("should not log Info level",()=>{o.log(t.Info,l,e),expect(n).not.toHaveBeenCalled()}),it("should not log Warn level",()=>{o.log(t.Warning,l,e),expect(d).not.toHaveBeenCalled()}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(i).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Fatal)",()=>{beforeEach(()=>{jest.clearAllMocks(),o=new s(t.Fatal)}),describe("log",()=>{it("should not log Info level",()=>{o.log(t.Info,l,e),expect(n).not.toHaveBeenCalled()}),it("should not log Warn level",()=>{o.log(t.Warning,l,e),expect(d).not.toHaveBeenCalled()}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})})});
1
+ import{LogLevel as t}from"../../logger-subscriber/model/LogLevel";import{ConsoleLogger as i}from"./ConsoleLogger";const d=vi.spyOn(console,"warn").mockImplementation(vi.fn()),n=vi.spyOn(console,"info").mockImplementation(vi.fn()),r=vi.spyOn(console,"debug").mockImplementation(vi.fn()),a=vi.spyOn(console,"error").mockImplementation(vi.fn()),s=vi.spyOn(console,"log").mockImplementation(vi.fn());let o;const e={data:{key:"value"},timestamp:1,tag:"tag"},l="message";describe("ConsoleLogger",()=>{afterAll(()=>{vi.restoreAllMocks()}),describe("default level (LogLevel.DEBUG)",()=>{beforeEach(()=>{vi.clearAllMocks(),o=new i}),describe("log",()=>{it("should log Info level",()=>{o.log(t.Info,l,e),expect(n).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Info level with a custom tag",()=>{const g="custom-tag";o.log(t.Info,l,{...e,tag:g}),expect(n).toHaveBeenCalledWith(`[${g}]`,l,e.data)}),it("should log Warn level",()=>{o.log(t.Warning,l,e),expect(d).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Debug level",()=>{o.log(t.Debug,l,e),expect(r).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(s).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Info)",()=>{beforeEach(()=>{vi.clearAllMocks(),o=new i(t.Info)}),describe("log",()=>{it("should log Info level",()=>{o.log(t.Info,l,e),expect(n).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Info level with a custom tag",()=>{const g="custom-tag";o.log(t.Info,l,{...e,tag:g}),expect(n).toHaveBeenCalledWith(`[${g}]`,l,e.data)}),it("should log Warn level",()=>{o.log(t.Warning,l,e),expect(d).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(s).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Warning)",()=>{beforeEach(()=>{vi.clearAllMocks(),o=new i(t.Warning)}),describe("log",()=>{it("should not log Info level",()=>{o.log(t.Info,l,e),expect(n).not.toHaveBeenCalled()}),it("should log Warn level",()=>{o.log(t.Warning,l,e),expect(d).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(s).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Error)",()=>{beforeEach(()=>{vi.clearAllMocks(),o=new i(t.Error)}),describe("log",()=>{it("should not log Info level",()=>{o.log(t.Info,l,e),expect(n).not.toHaveBeenCalled()}),it("should not log Warn level",()=>{o.log(t.Warning,l,e),expect(d).not.toHaveBeenCalled()}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should default to Log level if none present",()=>{o.log(null,l,e),expect(s).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Error level",()=>{o.log(t.Error,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})}),describe("custom level (LogLevel.Fatal)",()=>{beforeEach(()=>{vi.clearAllMocks(),o=new i(t.Fatal)}),describe("log",()=>{it("should not log Info level",()=>{o.log(t.Info,l,e),expect(n).not.toHaveBeenCalled()}),it("should not log Warn level",()=>{o.log(t.Warning,l,e),expect(d).not.toHaveBeenCalled()}),it("should not log Debug level",()=>{o.log(t.Debug,l,e),expect(r).not.toHaveBeenCalled()}),it("should log Fatal level",()=>{o.log(t.Fatal,l,e),expect(a).toHaveBeenCalledWith(`[${e.tag}]`,l,e.data)})})})});
2
2
  //# sourceMappingURL=ConsoleLogger.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/logger-subscriber/service/ConsoleLogger.test.ts"],
4
- "sourcesContent": ["import { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nimport { type LogSubscriberOptions } from \"@api/logger-subscriber/model/LogSubscriberOptions\";\n\nimport { ConsoleLogger } from \"./ConsoleLogger\";\n\nconst warn = jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\nconst info = jest.spyOn(console, \"info\").mockImplementation(jest.fn());\nconst debug = jest.spyOn(console, \"debug\").mockImplementation(jest.fn());\nconst error = jest.spyOn(console, \"error\").mockImplementation(jest.fn());\nconst log = jest.spyOn(console, \"log\").mockImplementation(jest.fn());\n\nlet logger: ConsoleLogger;\nconst options: LogSubscriberOptions = {\n data: { key: \"value\" },\n timestamp: 1,\n tag: \"tag\",\n};\nconst message = \"message\";\n\ndescribe(\"ConsoleLogger\", () => {\n afterAll(() => {\n jest.restoreAllMocks();\n });\n\n describe(\"default level (LogLevel.DEBUG)\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n logger = new ConsoleLogger();\n });\n\n describe(\"log\", () => {\n it(\"should log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Info level with a custom tag\", () => {\n const tag = \"custom-tag\";\n logger.log(LogLevel.Info, message, { ...options, tag });\n expect(info).toHaveBeenCalledWith(`[${tag}]`, message, options.data);\n });\n\n it(\"should log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Info)\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Info);\n });\n\n describe(\"log\", () => {\n it(\"should log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Info level with a custom tag\", () => {\n const tag = \"custom-tag\";\n logger.log(LogLevel.Info, message, { ...options, tag });\n expect(info).toHaveBeenCalledWith(`[${tag}]`, message, options.data);\n });\n\n it(\"should log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Warning)\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Warning);\n });\n\n describe(\"log\", () => {\n it(\"should not log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).not.toHaveBeenCalled();\n });\n\n it(\"should log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Error)\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Error);\n });\n\n describe(\"log\", () => {\n it(\"should not log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).not.toHaveBeenCalled();\n });\n\n it(\"should not log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).not.toHaveBeenCalled();\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Fatal)\", () => {\n beforeEach(() => {\n jest.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Fatal);\n });\n\n describe(\"log\", () => {\n it(\"should not log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).not.toHaveBeenCalled();\n });\n\n it(\"should not log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).not.toHaveBeenCalled();\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nimport { type LogSubscriberOptions } from \"@api/logger-subscriber/model/LogSubscriberOptions\";\n\nimport { ConsoleLogger } from \"./ConsoleLogger\";\n\nconst warn = vi.spyOn(console, \"warn\").mockImplementation(vi.fn());\nconst info = vi.spyOn(console, \"info\").mockImplementation(vi.fn());\nconst debug = vi.spyOn(console, \"debug\").mockImplementation(vi.fn());\nconst error = vi.spyOn(console, \"error\").mockImplementation(vi.fn());\nconst log = vi.spyOn(console, \"log\").mockImplementation(vi.fn());\n\nlet logger: ConsoleLogger;\nconst options: LogSubscriberOptions = {\n data: { key: \"value\" },\n timestamp: 1,\n tag: \"tag\",\n};\nconst message = \"message\";\n\ndescribe(\"ConsoleLogger\", () => {\n afterAll(() => {\n vi.restoreAllMocks();\n });\n\n describe(\"default level (LogLevel.DEBUG)\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n logger = new ConsoleLogger();\n });\n\n describe(\"log\", () => {\n it(\"should log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Info level with a custom tag\", () => {\n const tag = \"custom-tag\";\n logger.log(LogLevel.Info, message, { ...options, tag });\n expect(info).toHaveBeenCalledWith(`[${tag}]`, message, options.data);\n });\n\n it(\"should log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Info)\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Info);\n });\n\n describe(\"log\", () => {\n it(\"should log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Info level with a custom tag\", () => {\n const tag = \"custom-tag\";\n logger.log(LogLevel.Info, message, { ...options, tag });\n expect(info).toHaveBeenCalledWith(`[${tag}]`, message, options.data);\n });\n\n it(\"should log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Warning)\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Warning);\n });\n\n describe(\"log\", () => {\n it(\"should not log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).not.toHaveBeenCalled();\n });\n\n it(\"should log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Error)\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Error);\n });\n\n describe(\"log\", () => {\n it(\"should not log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).not.toHaveBeenCalled();\n });\n\n it(\"should not log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).not.toHaveBeenCalled();\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should default to Log level if none present\", () => {\n logger.log(null, message, options);\n expect(log).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Error level\", () => {\n logger.log(LogLevel.Error, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n\n describe(\"custom level (LogLevel.Fatal)\", () => {\n beforeEach(() => {\n vi.clearAllMocks();\n logger = new ConsoleLogger(LogLevel.Fatal);\n });\n\n describe(\"log\", () => {\n it(\"should not log Info level\", () => {\n logger.log(LogLevel.Info, message, options);\n expect(info).not.toHaveBeenCalled();\n });\n\n it(\"should not log Warn level\", () => {\n logger.log(LogLevel.Warning, message, options);\n expect(warn).not.toHaveBeenCalled();\n });\n\n it(\"should not log Debug level\", () => {\n logger.log(LogLevel.Debug, message, options);\n expect(debug).not.toHaveBeenCalled();\n });\n\n it(\"should log Fatal level\", () => {\n logger.log(LogLevel.Fatal, message, options);\n expect(error).toHaveBeenCalledWith(\n `[${options.tag}]`,\n message,\n options.data,\n );\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["LogLevel", "ConsoleLogger", "warn", "info", "debug", "error", "log", "logger", "options", "message", "tag"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{deviceModelStubBuilder as n}from"../../device-model/model/DeviceModel.stub";import{DeviceSession as a}from"../../../internal/device-session/model/DeviceSession";import{getJSONStringifyReplacer as r}from"./WebLogsExporterLogger";describe("getJSONStringifyReplacer",()=>{it("should return a function that replaces Uint8Array correctly",()=>{const e=r(),t=new Uint8Array([1,2,3]),c=e("key",t);expect(c).toEqual({hex:"0x010203",readableHex:"01 02 03",value:"1,2,3"})}),it("should return a function that replaces DeviceSession",()=>{const e=n(),t=r(),c={deviceModel:n(),type:"USB",id:"mockedDeviceId",sendApdu:jest.fn(),transport:"USB"},i=new a({connectedDevice:c,id:"mockedSessionId"},jest.fn(),{}),o=JSON.stringify(i,t),s=`{"id":"mockedSessionId","connectedDevice":{"deviceModel":${JSON.stringify(e)},"type":"USB","id":"mockedDeviceId"}}`;i.close(),expect(o).toEqual(s)}),it("should return a function that replaces circular references",()=>{const e={name:"Alice"};e.self=e;const t='{"name":"Alice","self":"[Circular]"}',c=JSON.stringify(e,r());expect(c).toEqual(t)})});
1
+ import{deviceModelStubBuilder as n}from"../../device-model/model/DeviceModel.stub";import{DeviceSession as a}from"../../../internal/device-session/model/DeviceSession";import{getJSONStringifyReplacer as r}from"./WebLogsExporterLogger";describe("getJSONStringifyReplacer",()=>{it("should return a function that replaces Uint8Array correctly",()=>{const e=r(),t=new Uint8Array([1,2,3]),c=e("key",t);expect(c).toEqual({hex:"0x010203",readableHex:"01 02 03",value:"1,2,3"})}),it("should return a function that replaces DeviceSession",()=>{const e=n(),t=r(),c={deviceModel:n(),type:"USB",id:"mockedDeviceId",sendApdu:vi.fn(),transport:"USB"},i=new a({connectedDevice:c,id:"mockedSessionId"},vi.fn(),{},{}),o=JSON.stringify(i,t),s=`{"id":"mockedSessionId","connectedDevice":{"deviceModel":${JSON.stringify(e)},"type":"USB","id":"mockedDeviceId"}}`;i.close(),expect(o).toEqual(s)}),it("should return a function that replaces circular references",()=>{const e={name:"Alice"};e.self=e;const t='{"name":"Alice","self":"[Circular]"}',c=JSON.stringify(e,r());expect(c).toEqual(t)})});
2
2
  //# sourceMappingURL=WebLogsExporterLogger.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/logger-subscriber/service/WebLogsExporterLogger.test.ts"],
4
- "sourcesContent": ["import { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\n\nimport { getJSONStringifyReplacer } from \"./WebLogsExporterLogger\";\n\ndescribe(\"getJSONStringifyReplacer\", () => {\n it(\"should return a function that replaces Uint8Array correctly\", () => {\n const replacer = getJSONStringifyReplacer();\n const value = new Uint8Array([1, 2, 3]);\n const result = replacer(\"key\", value);\n expect(result).toEqual({\n hex: \"0x010203\",\n readableHex: \"01 02 03\",\n value: \"1,2,3\",\n });\n });\n\n it(\"should return a function that replaces DeviceSession\", () => {\n const stubDeviceModel = deviceModelStubBuilder();\n const replacer = getJSONStringifyReplacer();\n\n const connectedDevice: TransportConnectedDevice = {\n deviceModel: deviceModelStubBuilder(),\n type: \"USB\",\n id: \"mockedDeviceId\",\n sendApdu: jest.fn(),\n transport: \"USB\",\n };\n\n const value = new DeviceSession(\n {\n connectedDevice,\n id: \"mockedSessionId\",\n },\n jest.fn(),\n {} as ManagerApiService,\n );\n const result = JSON.stringify(value, replacer);\n const expected = `{\"id\":\"mockedSessionId\",\"connectedDevice\":{\"deviceModel\":${JSON.stringify(\n stubDeviceModel,\n )},\"type\":\"USB\",\"id\":\"mockedDeviceId\"}}`;\n value.close();\n expect(result).toEqual(expected);\n });\n\n it(\"should return a function that replaces circular references\", () => {\n interface CircularObject {\n name: string;\n self?: CircularObject;\n }\n\n const obj: CircularObject = { name: \"Alice\" };\n obj.self = obj;\n\n const expected = '{\"name\":\"Alice\",\"self\":\"[Circular]\"}';\n const result = JSON.stringify(obj, getJSONStringifyReplacer());\n expect(result).toEqual(expected);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,0BAAAA,MAA8B,2CAEvC,OAAS,iBAAAC,MAAqB,+CAG9B,OAAS,4BAAAC,MAAgC,0BAEzC,SAAS,2BAA4B,IAAM,CACzC,GAAG,8DAA+D,IAAM,CACtE,MAAMC,EAAWD,EAAyB,EACpCE,EAAQ,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,EAChCC,EAASF,EAAS,MAAOC,CAAK,EACpC,OAAOC,CAAM,EAAE,QAAQ,CACrB,IAAK,WACL,YAAa,WACb,MAAO,OACT,CAAC,CACH,CAAC,EAED,GAAG,uDAAwD,IAAM,CAC/D,MAAMC,EAAkBN,EAAuB,EACzCG,EAAWD,EAAyB,EAEpCK,EAA4C,CAChD,YAAaP,EAAuB,EACpC,KAAM,MACN,GAAI,iBACJ,SAAU,KAAK,GAAG,EAClB,UAAW,KACb,EAEMI,EAAQ,IAAIH,EAChB,CACE,gBAAAM,EACA,GAAI,iBACN,EACA,KAAK,GAAG,EACR,CAAC,CACH,EACMF,EAAS,KAAK,UAAUD,EAAOD,CAAQ,EACvCK,EAAW,4DAA4D,KAAK,UAChFF,CACF,CAAC,wCACDF,EAAM,MAAM,EACZ,OAAOC,CAAM,EAAE,QAAQG,CAAQ,CACjC,CAAC,EAED,GAAG,6DAA8D,IAAM,CAMrE,MAAMC,EAAsB,CAAE,KAAM,OAAQ,EAC5CA,EAAI,KAAOA,EAEX,MAAMD,EAAW,uCACXH,EAAS,KAAK,UAAUI,EAAKP,EAAyB,CAAC,EAC7D,OAAOG,CAAM,EAAE,QAAQG,CAAQ,CACjC,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { type TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { getJSONStringifyReplacer } from \"./WebLogsExporterLogger\";\n\ndescribe(\"getJSONStringifyReplacer\", () => {\n it(\"should return a function that replaces Uint8Array correctly\", () => {\n const replacer = getJSONStringifyReplacer();\n const value = new Uint8Array([1, 2, 3]);\n const result = replacer(\"key\", value);\n expect(result).toEqual({\n hex: \"0x010203\",\n readableHex: \"01 02 03\",\n value: \"1,2,3\",\n });\n });\n\n it(\"should return a function that replaces DeviceSession\", () => {\n const stubDeviceModel = deviceModelStubBuilder();\n const replacer = getJSONStringifyReplacer();\n\n const connectedDevice: TransportConnectedDevice = {\n deviceModel: deviceModelStubBuilder(),\n type: \"USB\",\n id: \"mockedDeviceId\",\n sendApdu: vi.fn(),\n transport: \"USB\",\n };\n\n const value = new DeviceSession(\n {\n connectedDevice,\n id: \"mockedSessionId\",\n },\n vi.fn(),\n {} as ManagerApiService,\n {} as SecureChannelService,\n );\n const result = JSON.stringify(value, replacer);\n const expected = `{\"id\":\"mockedSessionId\",\"connectedDevice\":{\"deviceModel\":${JSON.stringify(\n stubDeviceModel,\n )},\"type\":\"USB\",\"id\":\"mockedDeviceId\"}}`;\n value.close();\n expect(result).toEqual(expected);\n });\n\n it(\"should return a function that replaces circular references\", () => {\n interface CircularObject {\n name: string;\n self?: CircularObject;\n }\n\n const obj: CircularObject = { name: \"Alice\" };\n obj.self = obj;\n\n const expected = '{\"name\":\"Alice\",\"self\":\"[Circular]\"}';\n const result = JSON.stringify(obj, getJSONStringifyReplacer());\n expect(result).toEqual(expected);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,0BAAAA,MAA8B,2CAEvC,OAAS,iBAAAC,MAAqB,+CAI9B,OAAS,4BAAAC,MAAgC,0BAEzC,SAAS,2BAA4B,IAAM,CACzC,GAAG,8DAA+D,IAAM,CACtE,MAAMC,EAAWD,EAAyB,EACpCE,EAAQ,IAAI,WAAW,CAAC,EAAG,EAAG,CAAC,CAAC,EAChCC,EAASF,EAAS,MAAOC,CAAK,EACpC,OAAOC,CAAM,EAAE,QAAQ,CACrB,IAAK,WACL,YAAa,WACb,MAAO,OACT,CAAC,CACH,CAAC,EAED,GAAG,uDAAwD,IAAM,CAC/D,MAAMC,EAAkBN,EAAuB,EACzCG,EAAWD,EAAyB,EAEpCK,EAA4C,CAChD,YAAaP,EAAuB,EACpC,KAAM,MACN,GAAI,iBACJ,SAAU,GAAG,GAAG,EAChB,UAAW,KACb,EAEMI,EAAQ,IAAIH,EAChB,CACE,gBAAAM,EACA,GAAI,iBACN,EACA,GAAG,GAAG,EACN,CAAC,EACD,CAAC,CACH,EACMF,EAAS,KAAK,UAAUD,EAAOD,CAAQ,EACvCK,EAAW,4DAA4D,KAAK,UAChFF,CACF,CAAC,wCACDF,EAAM,MAAM,EACZ,OAAOC,CAAM,EAAE,QAAQG,CAAQ,CACjC,CAAC,EAED,GAAG,6DAA8D,IAAM,CAMrE,MAAMC,EAAsB,CAAE,KAAM,OAAQ,EAC5CA,EAAI,KAAOA,EAEX,MAAMD,EAAW,uCACXH,EAAS,KAAK,UAAUI,EAAKP,EAAyB,CAAC,EAC7D,OAAOG,CAAM,EAAE,QAAQG,CAAQ,CACjC,CAAC,CACH,CAAC",
6
6
  "names": ["deviceModelStubBuilder", "DeviceSession", "getJSONStringifyReplacer", "replacer", "value", "result", "stubDeviceModel", "connectedDevice", "expected", "obj"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class e{log=jest.fn()}export{e as ConsoleLogger};
1
+ class e{log=vi.fn()}export{e as ConsoleLogger};
2
2
  //# sourceMappingURL=ConsoleLogger.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/logger-subscriber/service/__mocks__/ConsoleLogger.ts"],
4
- "sourcesContent": ["export class ConsoleLogger {\n log = jest.fn();\n}\n"],
5
- "mappings": "AAAO,MAAMA,CAAc,CACzB,IAAM,KAAK,GAAG,CAChB",
4
+ "sourcesContent": ["export class ConsoleLogger {\n log = vi.fn();\n}\n"],
5
+ "mappings": "AAAO,MAAMA,CAAc,CACzB,IAAM,GAAG,GAAG,CACd",
6
6
  "names": ["ConsoleLogger"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ const E="0000";export{E as GENUINE_DEVICE_RESULT};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/api/secure-channel/constants.ts"],
4
+ "sourcesContent": ["export const GENUINE_DEVICE_RESULT = \"0000\";\n"],
5
+ "mappings": "AAAO,MAAMA,EAAwB",
6
+ "names": ["GENUINE_DEVICE_RESULT"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{Left as d,Right as v}from"purify-ts";import{assign as o,fromObservable as D,fromPromise as s,setup as V}from"xstate";import{isSuccessCommandResult as k}from"../../../command/model/CommandResult";import{GetOsVersionCommand as C}from"../../../command/os/GetOsVersionCommand";import{UserInteractionRequired as c}from"../../../device-action/model/UserInteractionRequired";import{DEFAULT_UNLOCK_TIMEOUT_MS as G}from"../../../device-action/os/Const";import{GoToDashboardDeviceAction as f}from"../../../device-action/os/GoToDashboard/GoToDashboardDeviceAction";import{XStateDeviceAction as y}from"../../../device-action/xstate-utils/XStateDeviceAction";import{DeviceSessionStateType as E}from"../../../device-session/DeviceSessionState";import{ConnectToSecureChannelTask as I}from"../../../secure-channel/task/ConnectToSecureChannelTask";import{SecureChannelEventType as u}from"../../../secure-channel/task/types";import{isDeviceGenuine as x}from"../../../secure-channel/utils";class P extends y{makeStateMachine(n){const{getOsVersion:p,getDeviceVersion:h,getFirmwareVersion:l,genuineCheck:m,getDeviceSessionState:S,setDeviceSessionState:r}=this.extractDependencies(n),i=this.input.unlockTimeout??G,a=new f({input:{unlockTimeout:i}}).makeStateMachine(n);return V({types:{input:{},context:{},output:{}},actors:{goToDashboard:a,getOsVersion:s(p),getDeviceVersion:s(h),getFirmwareVersion:s(l),genuineCheck:D(m)},guards:{hasError:e=>e.context._internalState.error!==null},actions:{assignErrorFromEvent:o({_internalState:e=>({...e.context._internalState,error:e.event.error})})}}).createMachine({id:"GenuineCheckDeviceAction",initial:"DeviceReady",context:e=>({input:{unlockTimeout:e.input.unlockTimeout},intermediateValue:{requiredUserInteraction:c.None},_internalState:{error:null,result:{isGenuine:!1},getOsVersionResponse:null,deviceVersion:null,firmwareVersion:null}}),states:{DeviceReady:{always:{target:"GoToDashboard"}},GoToDashboard:{invoke:{id:"goToDashboard",src:"goToDashboard",input:e=>({unlockTimeout:e.context.input.unlockTimeout}),onSnapshot:{actions:o({intermediateValue:e=>({...e.context.intermediateValue,requiredUserInteraction:e.event.snapshot.context.intermediateValue.requiredUserInteraction})})},onDone:{target:"GoToDashboardCheck",actions:o({_internalState:e=>e.event.output.caseOf({Right:()=>e.context._internalState,Left:t=>({...e.context._internalState,error:t})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GoToDashboardCheck:{always:[{target:"Error",guard:"hasError"},{target:"GetOsVersion"}]},GetOsVersion:{invoke:{id:"getOsVersion",src:"getOsVersion",input:e=>{},onDone:{target:"GetOsVersionCheck",actions:o({_internalState:e=>{if(k(e.event.output)){const t=S(),g=e.event.output.data.secureElementFlags.isSecureConnectionAllowed;return t.sessionStateType!==E.Connected&&r({...t,isSecureConnectionAllowed:g}),{...e.context._internalState,getOsVersionResponse:e.event.output.data}}return{...e.context._internalState,error:e.event.output.error}}})}}},GetOsVersionCheck:{always:[{target:"Error",guard:"hasError"},{target:"GetDeviceVersion"}]},GetDeviceVersion:{invoke:{id:"getDeviceVersion",src:"getDeviceVersion",input:e=>({deviceInfo:e.context._internalState.getOsVersionResponse}),onDone:{target:"GetDeviceVersionCheck",actions:o({_internalState:e=>e.event.output.caseOf({Right:t=>({...e.context._internalState,deviceVersion:t}),Left:t=>({...e.context._internalState,error:t})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetDeviceVersionCheck:{always:[{target:"Error",guard:"hasError"},{target:"GetFirmwareVersion"}]},GetFirmwareVersion:{invoke:{id:"getFirmwareVersion",src:"getFirmwareVersion",input:e=>({deviceInfo:e.context._internalState.getOsVersionResponse,deviceVersion:e.context._internalState.deviceVersion}),onDone:{target:"GetFirmwareVersionCheck",actions:o({_internalState:e=>e.event.output.caseOf({Right:t=>({...e.context._internalState,firmwareVersion:t}),Left:t=>({...e.context._internalState,error:t})})})},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GetFirmwareVersionCheck:{always:[{target:"Error",guard:"hasError"},{target:"GenuineCheck"}]},GenuineCheck:{invoke:{id:"genuineCheck",src:"genuineCheck",input:e=>({deviceInfo:e.context._internalState.getOsVersionResponse,finalFirmware:e.context._internalState.firmwareVersion}),onSnapshot:{actions:o({intermediateValue:e=>{switch(e.event.snapshot.context?.type){case u.PermissionRequested:return{requiredUserInteraction:c.AllowSecureConnection};case u.PermissionGranted:return{requiredUserInteraction:c.None};default:return{...e.context.intermediateValue}}},_internalState:e=>e.event.snapshot.context?.type===u.Result?{...e.context._internalState,result:{isGenuine:x(e.event.snapshot.context.payload)}}:e.context._internalState})},onDone:{target:"GenuineCheckCheck"},onError:{target:"Error",actions:"assignErrorFromEvent"}}},GenuineCheckCheck:{always:[{target:"Error",guard:"hasError"},{target:"Success"}]},Success:{type:"final"},Error:{type:"final"}},output:e=>e.context._internalState.error?d(e.context._internalState.error):v(e.context._internalState.result)})}extractDependencies(n){return{getOsVersion:()=>n.sendCommand(new C),getDeviceVersion:({input:r})=>{const{deviceInfo:i}=r;return n.getManagerApiService().getDeviceVersion(i,1)},getFirmwareVersion:({input:r})=>{const{deviceInfo:i,deviceVersion:a}=r;return n.getManagerApiService().getFirmwareVersion(i,a,1)},genuineCheck:({input:r})=>{const{deviceInfo:i,finalFirmware:a}=r,e=n.getSecureChannelService().genuineCheck(i,a);return new I(n,{connection:e}).run()},getDeviceSessionState:()=>n.getDeviceSessionState(),setDeviceSessionState:r=>n.setDeviceSessionState(r)}}}export{P as GenuineCheckDeviceAction};
2
+ //# sourceMappingURL=GenuineCheckDeviceAction.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.ts"],
4
+ "sourcesContent": ["import { Left, Right } from \"purify-ts\";\nimport { assign, fromObservable, fromPromise, setup } from \"xstate\";\n\nimport { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nimport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nimport { type StateMachineTypes } from \"@api/device-action/xstate-utils/StateMachineTypes\";\nimport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nimport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nimport {\n type GenuineCheckDAError,\n type GenuineCheckDAInput,\n type GenuineCheckDAIntermediateValue,\n type GenuineCheckDAOutput,\n type GenuineCheckStateMachineInternalState,\n type MachineDependencies,\n} from \"@api/secure-channel/device-action/GenuineCheck/types\";\nimport { ConnectToSecureChannelTask } from \"@api/secure-channel/task/ConnectToSecureChannelTask\";\nimport { SecureChannelEventType } from \"@api/secure-channel/task/types\";\nimport { type Input } from \"@api/secure-channel/types\";\nimport { isDeviceGenuine } from \"@api/secure-channel/utils\";\nimport { type DeviceVersion } from \"@internal/manager-api/model/Device\";\nimport { type FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nexport class GenuineCheckDeviceAction extends XStateDeviceAction<\n GenuineCheckDAOutput,\n GenuineCheckDAInput,\n GenuineCheckDAError,\n GenuineCheckDAIntermediateValue,\n GenuineCheckStateMachineInternalState\n> {\n protected override makeStateMachine(\n internalApi: InternalApi,\n ): DeviceActionStateMachine<\n GenuineCheckDAOutput,\n GenuineCheckDAInput,\n GenuineCheckDAError,\n GenuineCheckDAIntermediateValue,\n GenuineCheckStateMachineInternalState\n > {\n type types = StateMachineTypes<\n GenuineCheckDAOutput,\n GenuineCheckDAInput,\n GenuineCheckDAError,\n GenuineCheckDAIntermediateValue,\n GenuineCheckStateMachineInternalState\n >;\n\n const {\n getOsVersion,\n getDeviceVersion,\n getFirmwareVersion,\n genuineCheck,\n getDeviceSessionState,\n setDeviceSessionState,\n } = this.extractDependencies(internalApi);\n\n const unlockTimeout = this.input.unlockTimeout ?? DEFAULT_UNLOCK_TIMEOUT_MS;\n\n const goToDashboardMachine = new GoToDashboardDeviceAction({\n input: {\n unlockTimeout,\n },\n }).makeStateMachine(internalApi);\n\n return setup({\n types: {\n input: {} as types[\"input\"],\n context: {} as types[\"context\"],\n output: {} as types[\"output\"],\n },\n actors: {\n goToDashboard: goToDashboardMachine,\n getOsVersion: fromPromise(getOsVersion),\n getDeviceVersion: fromPromise(getDeviceVersion),\n getFirmwareVersion: fromPromise(getFirmwareVersion),\n genuineCheck: fromObservable(genuineCheck),\n },\n guards: {\n hasError: (_) => _.context._internalState.error !== null,\n },\n actions: {\n assignErrorFromEvent: assign({\n _internalState: (_) => ({\n ..._.context._internalState,\n error: _.event[\"error\"],\n }),\n }),\n },\n }).createMachine({\n /** @xstate-layout N4IgpgJg5mDOIC5QHEwDsCuBLNYDCAFmAMYDWAImAG5bFgCCxALlgPZoB0lNdASmAEMIATwDEAbQAMAXUSgADq1hYW7OSAAeiAIwB2AGwAWDvskBOAKwAmC9YvbJADkMAaEMMQBmT2ZPazuo6SFp6SDpKG+gC+UW6omDj4RGTctAzMbJzIrAAqrOQCsAQARqwCAE4QohDsYBw4VKykdVC5+YUlZZVSskggisqqaOpaCFaGntocEwaOFkYR2oa6bh4IZsEcuta6Nmbajp76tjFx6Ni4hCQU1GmMQxzZeQVFpRVVYOXlrOUc8gA2AiYADMfgBbDitZ4dN7dGTqAYqTIjRDjSbTTyzeaGRbLVaIOa6LY7PYHI4nWIgeIXJLXVJ0e6ZR5tF6dd5XMgSeF9RFDFFjQ5WExhXQbYKGRxWKwrdyoo4cbT+UUOQz+UyeU5U86JDk3HjpB5PdqvLoQXUSbS9BRKJFqPqjKyC4V6MUWCVSmVrfySBVKsxSyxmAKSaKU6k65J6u4ZdiPMBMADysAAap9lOxqrV6mhGs1IfGk6nyum0D0ETa+favJFPNNDBtHAcQ8cQ-j1qEOJ43d5JMFG8dDJrw5dI-SDUzUImU2nMuayzyK8iq2NDELtoFVWZ9JilmY2-X9BxnNvbLYjBMzEPtSO6bcGTGsgXp8XZ5GLVb+ou7aAHaviRu1R3es220Kx-A4EMbEmVcg0kaUrwSG8UjvcdY0nMcixLTNcGzXMWnjDCZ3YedrUGJcf0QAxjElRZMWcSx5hAqxzA4Cw5i3XtRWcKUEJpXUx0ZNCCJQzDMlET5vl+AEgVBcoIRgJhCJfYjuVI21hmXKij2Y1U6PrM8230bQLE7Gs3X9MxVwpM5ENpZD9UEx9FJEoi0DnVTPzI79NB0MChSOXZRS7SQjn0Nt11Y3Z-U48xpQsXiI1vByHzjZz9VE9g50tcsvI0iiEFA0DO30QKzGC0KmJ8LYrH2OYLH2QwLF0BKkKje9DXjAAxLA5IAdwqMAMrQbC6gaJp8KYbq+oGoaSM89T+T0IxhUsGw7AcZwQIcEzvHq2xQJCZirBauy2tQpyprBfrykG1zxK+H4-kBEFwXzSaequmbXLm3lyJ8gqtNMVbbBsDbXFlAqrA7GwrCM1ddK3eKw2vU6BJSydLuu27lLct8fq-PL-qhiIFSMcZtkbZjdE9HRtC7aZlSCbd9DKkITv4lDHNSzGvpxrKP1+7yHVCYxtDJ5Y2NAyRqbbAJfF7WGJhsUVmMvZHbI55KOo1t8ahwsa8xgHXrnx3L+UdCUthZsDdG8W3dEMcGvQiIlHA2Bw4u2ZZ2dHTn0ZR80JMe6SXrk-NjbIU2FuXR1PCFUwXV7N1JWlNtHAMCCov8R2fHMbQfaS6Ntb4yN3IFgn+VCWt9HTiwQKOKZJhsCWJeCAv7KLicA9LvHsoXM3lyrkxa5AzdOwOlvtjbzU0FYCA4HUYdUb9ys1NX-6AFo6Z9A5pWCSyzBozaIY9vw5fsaxEfg9WS8L9qmTHfghDWNe-tGMXjK2Vc44mEJ7AONs3hHBnyCBYCIwZQw2Vvh3e+aEWQwlNDlaO+V-BbhMDiRsIYcSqjxBDSYJlFQBBKtsMCbsJjtzOlzI0rJYRmkjEg9eDomq+HJqYUUQYKoQw9BwSwoR9DSgONTO2FC0YdSnENBhb8vD+GAV2ckLME72H3GLaYtUdJBjFjXERK8u7iNcrqSRQtEAb0lAqSUuh971iPk7AkbEOCq28KBYmjttFa10UpEshjCajBxCZeqngaL2BCttGxBV-C1kpm6L2U8kZQMSjA86qUPGvmuF4-kh8pgGCahEJqsNTyVSmPMZu9VoqQK1BHSh-t3rTRuhI-uyD-p022PYkKys3YKIASfMCxhljRT0OYfex0b7xMqWInmtT9H0PqYw1EIVRYYL0MFJqRwtrSnHs3BwmIQiOFcZ3ISFS0kx3mMA221hHDnJqjiOm9dHasRqmVR0cx+w7OGa1URXcKkGOmVIhAkhR5Q1Yvwt0JTmL1ReXEt5OjYwAGUMDEDoLAeA3yjFjEsD0+Yug9AzFhp4ECBghQ4qMuclsl9dmwM4AAUQeuUQ5+VvA1S2JKbOzEWZ1xPm6Q8QiJSSwdkcDUMQohAA */\n id: \"GenuineCheckDeviceAction\",\n initial: \"DeviceReady\",\n context: (_) => {\n return {\n input: {\n unlockTimeout: _.input.unlockTimeout,\n },\n intermediateValue: {\n requiredUserInteraction: UserInteractionRequired.None,\n },\n _internalState: {\n error: null,\n result: { isGenuine: false },\n getOsVersionResponse: null,\n deviceVersion: null,\n firmwareVersion: null,\n },\n };\n },\n states: {\n DeviceReady: {\n always: {\n target: \"GoToDashboard\",\n },\n },\n GoToDashboard: {\n invoke: {\n id: \"goToDashboard\",\n src: \"goToDashboard\",\n input: (_) => ({\n unlockTimeout: _.context.input.unlockTimeout,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => ({\n ..._.context.intermediateValue,\n requiredUserInteraction:\n _.event.snapshot.context.intermediateValue\n .requiredUserInteraction,\n }),\n }),\n },\n onDone: {\n target: \"GoToDashboardCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<GenuineCheckStateMachineInternalState>(\n {\n Right: () => _.context._internalState,\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n );\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GoToDashboardCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetOsVersion\",\n },\n ],\n },\n GetOsVersion: {\n invoke: {\n id: \"getOsVersion\",\n src: \"getOsVersion\",\n input: (_) => undefined,\n onDone: {\n target: \"GetOsVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n if (isSuccessCommandResult(_.event.output)) {\n const currentState: DeviceSessionState =\n getDeviceSessionState();\n const isSecureConnectionAllowed =\n _.event.output.data.secureElementFlags\n .isSecureConnectionAllowed;\n if (\n currentState.sessionStateType !==\n DeviceSessionStateType.Connected\n ) {\n setDeviceSessionState({\n ...currentState,\n isSecureConnectionAllowed,\n });\n }\n return {\n ..._.context._internalState,\n getOsVersionResponse: _.event.output.data,\n };\n }\n return {\n ..._.context._internalState,\n error: _.event.output.error,\n };\n },\n }),\n },\n },\n },\n GetOsVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"GetDeviceVersion\",\n },\n ],\n },\n GetDeviceVersion: {\n invoke: {\n id: \"getDeviceVersion\",\n src: \"getDeviceVersion\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n }),\n onDone: {\n target: \"GetDeviceVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<GenuineCheckStateMachineInternalState>(\n {\n Right: (deviceVersion) => ({\n ..._.context._internalState,\n deviceVersion,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n );\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetDeviceVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"GetFirmwareVersion\" },\n ],\n },\n GetFirmwareVersion: {\n invoke: {\n id: \"getFirmwareVersion\",\n src: \"getFirmwareVersion\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n deviceVersion: _.context._internalState.deviceVersion!,\n }),\n onDone: {\n target: \"GetFirmwareVersionCheck\",\n actions: assign({\n _internalState: (_) => {\n return _.event.output.caseOf<GenuineCheckStateMachineInternalState>(\n {\n Right: (firmwareVersion) => ({\n ..._.context._internalState,\n firmwareVersion,\n }),\n Left: (error) => ({\n ..._.context._internalState,\n error,\n }),\n },\n );\n },\n }),\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GetFirmwareVersionCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n { target: \"GenuineCheck\" },\n ],\n },\n GenuineCheck: {\n invoke: {\n id: \"genuineCheck\",\n src: \"genuineCheck\",\n input: (_) => ({\n deviceInfo: _.context._internalState.getOsVersionResponse!,\n finalFirmware: _.context._internalState.firmwareVersion!,\n }),\n onSnapshot: {\n actions: assign({\n intermediateValue: (_) => {\n switch (_.event.snapshot.context?.type) {\n case SecureChannelEventType.PermissionRequested: {\n return {\n requiredUserInteraction:\n UserInteractionRequired.AllowSecureConnection,\n };\n }\n case SecureChannelEventType.PermissionGranted: {\n return {\n requiredUserInteraction: UserInteractionRequired.None,\n };\n }\n default:\n return {\n ..._.context.intermediateValue,\n };\n }\n },\n _internalState: (_) => {\n if (\n _.event.snapshot.context?.type ===\n SecureChannelEventType.Result\n ) {\n return {\n ..._.context._internalState,\n result: {\n isGenuine: isDeviceGenuine(\n _.event.snapshot.context.payload,\n ),\n },\n };\n }\n return _.context._internalState;\n },\n }),\n },\n onDone: {\n target: \"GenuineCheckCheck\",\n },\n onError: {\n target: \"Error\",\n actions: \"assignErrorFromEvent\",\n },\n },\n },\n GenuineCheckCheck: {\n always: [\n {\n target: \"Error\",\n guard: \"hasError\",\n },\n {\n target: \"Success\",\n },\n ],\n },\n Success: {\n type: \"final\",\n },\n Error: {\n type: \"final\",\n },\n },\n output: (_) => {\n if (_.context._internalState.error) {\n return Left(_.context._internalState.error);\n } else {\n return Right(_.context._internalState.result);\n }\n },\n });\n }\n\n private extractDependencies(internalApi: InternalApi): MachineDependencies {\n const provider = 1; // TODO: get the provider from user configuration\n\n const getOsVersion = () =>\n internalApi.sendCommand(new GetOsVersionCommand());\n\n const getDeviceVersion = ({\n input,\n }: Input<{ deviceInfo: GetOsVersionResponse }>) => {\n const { deviceInfo } = input;\n return internalApi\n .getManagerApiService()\n .getDeviceVersion(deviceInfo, provider);\n };\n\n const getFirmwareVersion = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n deviceVersion: DeviceVersion;\n }>) => {\n const { deviceInfo, deviceVersion } = input;\n return internalApi\n .getManagerApiService()\n .getFirmwareVersion(deviceInfo, deviceVersion, provider);\n };\n\n const genuineCheck = ({\n input,\n }: Input<{\n deviceInfo: GetOsVersionResponse;\n finalFirmware: FinalFirmware;\n }>) => {\n const { deviceInfo, finalFirmware } = input;\n const eitherConnection = internalApi\n .getSecureChannelService()\n .genuineCheck(deviceInfo, finalFirmware);\n return new ConnectToSecureChannelTask(internalApi, {\n connection: eitherConnection,\n }).run();\n };\n\n return {\n getOsVersion,\n getDeviceVersion,\n getFirmwareVersion,\n genuineCheck,\n getDeviceSessionState: () => internalApi.getDeviceSessionState(),\n setDeviceSessionState: (state: DeviceSessionState) =>\n internalApi.setDeviceSessionState(state),\n };\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Right", "assign", "fromObservable", "fromPromise", "setup", "isSuccessCommandResult", "GetOsVersionCommand", "UserInteractionRequired", "DEFAULT_UNLOCK_TIMEOUT_MS", "GoToDashboardDeviceAction", "XStateDeviceAction", "DeviceSessionStateType", "ConnectToSecureChannelTask", "SecureChannelEventType", "isDeviceGenuine", "GenuineCheckDeviceAction", "internalApi", "getOsVersion", "getDeviceVersion", "getFirmwareVersion", "genuineCheck", "getDeviceSessionState", "setDeviceSessionState", "unlockTimeout", "goToDashboardMachine", "_", "error", "currentState", "isSecureConnectionAllowed", "deviceVersion", "firmwareVersion", "input", "deviceInfo", "finalFirmware", "eitherConnection", "state"]
7
+ }
@@ -0,0 +1,2 @@
1
+ describe.todo("GenuineCheckDeviceAction");
2
+ //# sourceMappingURL=GenuineCheckDeviceAction.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.ts"],
4
+ "sourcesContent": ["describe.todo(\"GenuineCheckDeviceAction\");\n"],
5
+ "mappings": "AAAA,SAAS,KAAK,0BAA0B",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import w from"isomorphic-ws";import{Observable as A}from"rxjs";import{CommandUtils as S}from"../../command/utils/CommandUtils";import{InMessageQueryEnum as l,OutMessageResponseEnum as m,SecureChannelEventType as i}from"../../secure-channel/task/types";import{isRefusedByUser as v,willRequestPermission as x}from"../../secure-channel/utils";import{bufferToHexaString as C,hexaStringToBuffer as k}from"../../utils/HexaString";import{SecureChannelError as r}from"../../../internal/secure-channel/model/Errors";class P{constructor(d,E){this._api=d;this._args=E;if(this._args.connection.isRight())this._connection=this._args.connection.extract();else throw new r(`Invalid WebSocket connection: ${String(this._args.connection.extract())}`)}_connection;run(){const d=this._api.disableRefresher("connectToSecureChannel");return new A(e=>{let u=!1,c=!1,y=!1,p=null,h=!1;return this._connection.onopen=()=>{e.next({type:i.Opened})},this._connection.onerror=f=>{c||e.error(new r({url:this._connection.url,errorMessage:f.message}))},this._connection.onclose=()=>{c||(y?(e.next({type:i.Closed}),e.complete()):e.error(new r(p??{url:this._connection.url,errorMessage:"Connection closed unexpectedly"})))},this._connection.onmessage=async f=>{if(!u){p=null;try{const t=JSON.parse(String(f.data));switch(t.query){case l.EXCHANGE:{const{nonce:a}=t;if(Array.isArray(t.data)){e.error(new r(`${l.EXCHANGE} data type should not be Array`));break}const n=k(t.data);if(n===null||n.length<5){e.error(new r(`Received invalid APDU data: ${t.data}`));break}e.next({type:i.PreExchange,payload:{nonce:a,apdu:n}}),x(n)&&!this.isSecureConnectionAllowed()&&(h=!0,e.next({type:i.PermissionRequested}));const s=await this._api.sendApdu(n);if(u)return;s.caseOf({Left:o=>{e.error(new r(o))},Right:o=>{let g;if(S.isSuccessResponse(o))g=m.SUCCESS,e.next({type:i.Exchange,payload:{nonce:a,apdu:n,data:o.data,status:o.statusCode}});else{if(g=m.ERROR,p=new r({url:this._connection.url,errorMessage:`Invalid status code: ${C(o.statusCode)}`}),S.isLockedDeviceResponse(o)){e.error(new r({url:this._connection.url,errorMessage:"Device is locked"}));return}if(v(o.statusCode)&&h){e.error(new r({url:this._connection.url,errorMessage:"User refused on the device"}));return}}h&&(e.next({type:i.PermissionGranted}),h=!1);const _={nonce:a,response:g,data:C(o.data).slice(2)};this._connection.send(JSON.stringify(_))}});break}case l.BULK:{if(c=!0,this._connection.close(),!Array.isArray(t.data)||t.data.length===0){e.error(new r("Invalid bulk data received"));break}const a=t.data.reduce((n,s)=>{const o=k(s);return o===null?n:[...n,o]},[]);for(let n=0,s=a.length;n<s;n++){if(await this._api.sendApdu(a[n]),u){e.error(new r("Bulk sending cancelled by unsubscribing"));break}e.next({type:i.Progress,payload:{progress:+Number((n+1)/s).toFixed(2),index:n,total:s}})}y=!0,e.complete();break}case l.SUCCESS:{if(c)break;const a=t.result??t.data;a&&e.next({type:i.Result,payload:String(a??"")}),y=!0,e.complete();break}case l.WARNING:{if(c)break;e.next({type:i.Warning,payload:{message:String(t.data)}});break}case l.ERROR:{if(c)break;e.error(new r({url:this._connection.url,errorMessage:String(t.data)}))}}}catch(t){p=new r(t),e.error(p)}}},()=>{d(),u=!0,this._connection.readyState===w.OPEN&&this._connection.close()}})}isSecureConnectionAllowed(){const d=this._api.getDeviceSessionState();return"isSecureConnectionAllowed"in d&&d.isSecureConnectionAllowed}}export{P as ConnectToSecureChannelTask};
2
+ //# sourceMappingURL=ConnectToSecureChannelTask.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/api/secure-channel/task/ConnectToSecureChannelTask.ts"],
4
+ "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { type Either } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { type InternalApi } from \"@api/device-action/DeviceAction\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport {\n InMessageQueryEnum,\n type InMessageType,\n OutMessageResponseEnum,\n type OutMessageType,\n type SecureChannelEvent,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport {\n isRefusedByUser,\n willRequestPermission,\n} from \"@api/secure-channel/utils\";\nimport { bufferToHexaString, hexaStringToBuffer } from \"@api/utils/HexaString\";\nimport {\n SecureChannelError,\n type WebSocketConnectionError,\n} from \"@internal/secure-channel/model/Errors\";\n\nexport type ConnectToSecureChannelTaskArgs = {\n connection: Either<WebSocketConnectionError, WebSocket>;\n};\n\nexport class ConnectToSecureChannelTask {\n private readonly _connection: WebSocket;\n constructor(\n private readonly _api: InternalApi,\n private readonly _args: ConnectToSecureChannelTaskArgs,\n ) {\n if (this._args.connection.isRight()) {\n this._connection = this._args.connection.extract();\n } else {\n throw new SecureChannelError(\n `Invalid WebSocket connection: ${String(this._args.connection.extract())}`,\n );\n }\n }\n\n run(): Observable<SecureChannelEvent> {\n const reenableRefresher = this._api.disableRefresher(\n \"connectToSecureChannel\",\n );\n\n const obs = new Observable<SecureChannelEvent>((subscriber) => {\n let unsubscribed: boolean = false;\n let inBulkMode = false;\n let communicationFinished = false;\n let deviceError: SecureChannelError | null = null;\n let waitingForUserAction = false;\n\n this._connection.onopen = () => {\n subscriber.next({\n type: SecureChannelEventType.Opened,\n });\n };\n\n this._connection.onerror = (error) => {\n // When the bulk sending is in progress, network error is ignored\n if (inBulkMode) {\n return;\n }\n\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: error.message,\n }),\n );\n };\n\n this._connection.onclose = () => {\n // When the bulk sending is in progress, network event is ignored\n if (inBulkMode) {\n return;\n }\n\n if (communicationFinished) {\n subscriber.next({\n type: SecureChannelEventType.Closed,\n });\n subscriber.complete();\n } else {\n subscriber.error(\n new SecureChannelError(\n deviceError ?? {\n url: this._connection.url,\n errorMessage: \"Connection closed unexpectedly\",\n },\n ),\n );\n }\n };\n\n this._connection.onmessage = async (event) => {\n // When unsubscribed, ignore the message\n if (unsubscribed) {\n return;\n }\n deviceError = null;\n\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const input: InMessageType = JSON.parse(String(event.data));\n\n switch (input.query) {\n case InMessageQueryEnum.EXCHANGE: {\n const { nonce } = input;\n\n if (Array.isArray(input.data)) {\n subscriber.error(\n new SecureChannelError(\n `${InMessageQueryEnum.EXCHANGE} data type should not be Array`,\n ),\n );\n break;\n }\n\n const apdu = hexaStringToBuffer(input.data);\n\n if (apdu === null || apdu.length < 5) {\n subscriber.error(\n new SecureChannelError(\n `Received invalid APDU data: ${input.data}`,\n ),\n );\n break;\n }\n\n subscriber.next({\n type: SecureChannelEventType.PreExchange,\n payload: { nonce, apdu },\n });\n\n if (\n willRequestPermission(apdu) &&\n !this.isSecureConnectionAllowed()\n ) {\n waitingForUserAction = true;\n subscriber.next({\n type: SecureChannelEventType.PermissionRequested,\n });\n }\n\n const response = await this._api.sendApdu(apdu);\n\n if (unsubscribed) {\n return;\n }\n\n response.caseOf({\n Left: (error) => {\n subscriber.error(new SecureChannelError(error));\n },\n Right: (apduResponse: ApduResponse) => {\n let outMessageResponse: OutMessageResponseEnum;\n /**\n * | Status Code | Description | Event Emitted |\n * |-------------|------------------------------------|------------------------------------|\n * | 0x9000 | Success | SecureChannelEventEnum.Exchange |\n * | 0x5515 | Device is locked | Error |\n * | 0x5501 | User refused on the device | Error |\n * | 0x6985 | Condition of use not satisfied | Error |\n */\n // Success response\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n outMessageResponse = OutMessageResponseEnum.SUCCESS;\n // Emit event for the exchange\n subscriber.next({\n type: SecureChannelEventType.Exchange,\n payload: {\n nonce,\n apdu,\n data: apduResponse.data,\n status: apduResponse.statusCode,\n },\n });\n } else {\n outMessageResponse = OutMessageResponseEnum.ERROR;\n\n deviceError = new SecureChannelError({\n url: this._connection.url,\n errorMessage: `Invalid status code: ${bufferToHexaString(\n apduResponse.statusCode,\n )}`,\n });\n\n // Device is locked\n if (CommandUtils.isLockedDeviceResponse(apduResponse)) {\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: `Device is locked`,\n }),\n );\n return;\n }\n\n // User refused the permission\n if (\n isRefusedByUser(apduResponse.statusCode) &&\n waitingForUserAction\n ) {\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: \"User refused on the device\",\n }),\n );\n return;\n }\n }\n\n if (waitingForUserAction) {\n subscriber.next({\n type: SecureChannelEventType.PermissionGranted,\n });\n waitingForUserAction = false;\n }\n\n // Send the message back to the server\n const message: OutMessageType = {\n nonce,\n response: outMessageResponse,\n data: bufferToHexaString(apduResponse.data).slice(2),\n };\n this._connection.send(JSON.stringify(message));\n },\n });\n break;\n }\n case InMessageQueryEnum.BULK: {\n inBulkMode = true;\n this._connection.close();\n\n if (!Array.isArray(input.data) || input.data.length === 0) {\n subscriber.error(\n new SecureChannelError(\"Invalid bulk data received\"),\n );\n break;\n }\n\n const apdus = input.data.reduce(\n (acc: Array<Uint8Array>, cur: string) => {\n const apdu = hexaStringToBuffer(cur);\n return apdu === null ? acc : [...acc, apdu];\n },\n [],\n );\n\n for (let i = 0, len = apdus.length; i < len; i++) {\n await this._api.sendApdu(apdus[i]!);\n if (unsubscribed) {\n subscriber.error(\n new SecureChannelError(\n \"Bulk sending cancelled by unsubscribing\",\n ),\n );\n break;\n }\n subscriber.next({\n type: SecureChannelEventType.Progress,\n payload: {\n progress: +Number((i + 1) / len).toFixed(2),\n index: i,\n total: len,\n },\n });\n }\n communicationFinished = true;\n subscriber.complete();\n break;\n }\n case InMessageQueryEnum.SUCCESS: {\n // Ignore success message when in bulk mode\n if (inBulkMode) {\n break;\n }\n // Emit the result if there is any\n const payload = input.result ?? input.data;\n if (payload) {\n subscriber.next({\n type: SecureChannelEventType.Result,\n payload: String(payload ?? \"\"),\n });\n }\n communicationFinished = true;\n subscriber.complete();\n break;\n }\n case InMessageQueryEnum.WARNING: {\n // Ignore warning message when in bulk mode\n if (inBulkMode) {\n break;\n }\n subscriber.next({\n type: SecureChannelEventType.Warning,\n payload: { message: String(input.data) },\n });\n break;\n }\n case InMessageQueryEnum.ERROR: {\n if (inBulkMode) {\n break;\n }\n subscriber.error(\n new SecureChannelError({\n url: this._connection.url,\n errorMessage: String(input.data),\n }),\n );\n }\n }\n } catch (error) {\n deviceError = new SecureChannelError(error);\n subscriber.error(deviceError);\n }\n };\n\n return () => {\n reenableRefresher();\n unsubscribed = true;\n // Close the connection if it is open when unsubscribing\n if (this._connection.readyState === WebSocket.OPEN) {\n this._connection.close();\n }\n };\n });\n\n return obs;\n }\n\n /**\n * Determines if a secure connection is already allowed based on the current device session state.\n *\n * @returns {boolean} `true` if a secure connection is allowed, otherwise `false`.\n */\n isSecureConnectionAllowed(): boolean {\n const deviceSessionState = this._api.getDeviceSessionState();\n return (\n \"isSecureConnectionAllowed\" in deviceSessionState &&\n deviceSessionState.isSecureConnectionAllowed\n );\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["WebSocket", "Observable", "CommandUtils", "InMessageQueryEnum", "OutMessageResponseEnum", "SecureChannelEventType", "isRefusedByUser", "willRequestPermission", "bufferToHexaString", "hexaStringToBuffer", "SecureChannelError", "ConnectToSecureChannelTask", "_api", "_args", "reenableRefresher", "subscriber", "unsubscribed", "inBulkMode", "communicationFinished", "deviceError", "waitingForUserAction", "error", "event", "input", "nonce", "apdu", "response", "apduResponse", "outMessageResponse", "message", "apdus", "acc", "cur", "i", "len", "payload", "deviceSessionState"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import g from"isomorphic-ws";import{Right as u}from"purify-ts";import{describe as y,it as i,vi as s}from"vitest";import{SecureChannelEventType as a}from"../../secure-channel/task/types";import{SecureChannelError as x}from"../../../internal/secure-channel/model/Errors";import{ConnectToSecureChannelTask as h}from"./ConnectToSecureChannelTask";s.mock("isomorphic-ws",()=>({...s.importActual("isomorphic-ws"),__esModule:!0,default:class{onopen=null;onmessage=null;send=s.fn();close=s.fn();url;constructor(e){this.url=e}}}));const p=5;y("ConnectToSecureChannelTask",()=>{let e,d,m,c;const l=s.fn();beforeEach(()=>{e=new g("wss://test-host.com"),d={sendApdu:l,disableRefresher:s.fn()},m={connection:u(e)},c=new h(d,m)}),afterEach(()=>{s.resetAllMocks()}),i("should emit Opened event on WebSocket open",async()=>{const n=[];c.run().subscribe(t=>n.push(t)),expect(e.onopen).toBeDefined(),e.onopen({type:"open",target:{}}),await new Promise(t=>setTimeout(t,p)),expect(n).toStrictEqual([{type:a.Opened}])}),i("should handle incoming EXCHANGE message including requesting user permission",async()=>{l.mockResolvedValue(u({data:new Uint8Array([144,0]),statusCode:new Uint8Array([144,0])}));const n=s.spyOn(e,"send");s.spyOn(c,"isSecureConnectionAllowed").mockReturnValueOnce(!1);const o=[];c.run().subscribe({next:r=>{o.push(r)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"exchange",nonce:1,data:"e051000000"}),type:"",target:{}}),await new Promise(r=>setTimeout(r,p)),expect(n).toHaveBeenCalledExactlyOnceWith(JSON.stringify({nonce:1,response:"success",data:"9000"})),expect(o).toStrictEqual([{type:a.PreExchange,payload:{nonce:1,apdu:new Uint8Array([224,81,0,0,0])}},{type:a.PermissionRequested},{type:a.Exchange,payload:{nonce:1,apdu:new Uint8Array([224,81,0,0,0]),data:new Uint8Array([144,0]),status:new Uint8Array([144,0])}},{type:a.PermissionGranted}])}),i("should handle incoming BULK message",async()=>{l.mockResolvedValue(u({data:new Uint8Array([144,0]),statusCode:new Uint8Array([144,0])}));const n=s.fn(),o=c.run(),t=[];o.subscribe({next:r=>{t.push(r)},complete:()=>n()}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"bulk",nonce:1,data:["0000000100","0000000200","0000000300"]}),type:"",target:{}}),await new Promise(r=>setTimeout(r,p)),expect(l).toHaveBeenCalledTimes(3),expect(t).toStrictEqual([{type:a.Progress,payload:{progress:.33,index:0,total:3}},{type:a.Progress,payload:{progress:.67,index:1,total:3}},{type:a.Progress,payload:{progress:1,index:2,total:3}}]),expect(n).toHaveBeenCalledOnce()}),i("should handle incoming SUCCESS message",()=>{const n=s.fn(),o=[];c.run().subscribe({next:r=>o.push(r),complete:()=>n()}),e.onmessage({data:JSON.stringify({query:"success",nonce:1,result:"success result"}),type:"",target:{}}),expect(o).toStrictEqual([{type:a.Result,payload:"success result"}]),expect(n).toHaveBeenCalledOnce()}),i("should handle incoming WARNING message",()=>{const n=[];c.run().subscribe({next:t=>n.push(t)}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"warning",nonce:1,data:"warning message"}),type:"",target:{}}),expect(n).toStrictEqual([{type:a.Warning,payload:{message:"warning message"}}])}),i("should handle incoming ERROR message",()=>{const n=s.fn();c.run().subscribe({error:t=>{expect(t).toBeInstanceOf(x),n(t)}}),expect(e.onmessage).toBeDefined(),e.onmessage({data:JSON.stringify({query:"error"}),type:"",target:{}}),expect(n).toHaveBeenCalled()})});
2
+ //# sourceMappingURL=ConnectToSecureChannelTask.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/api/secure-channel/task/ConnectToSecureChannelTask.test.ts"],
4
+ "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { Right } from \"purify-ts\";\nimport { describe, it, vi } from \"vitest\";\n\nimport { type InternalApi } from \"@api/index\";\nimport {\n type SecureChannelEvent,\n SecureChannelEventType,\n} from \"@api/secure-channel/task/types\";\nimport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n\nimport {\n ConnectToSecureChannelTask,\n type ConnectToSecureChannelTaskArgs,\n} from \"./ConnectToSecureChannelTask\";\n\nvi.mock(\"isomorphic-ws\", () => ({\n ...vi.importActual(\"isomorphic-ws\"),\n __esModule: true,\n default: class {\n onopen: (() => void) | null = null;\n onmessage: ((event: { data: string }) => void) | null = null;\n send = vi.fn();\n close = vi.fn();\n url: string;\n constructor(url: string) {\n this.url = url;\n }\n },\n}));\n\nconst TEST_DELAY = 5;\n\ndescribe(\"ConnectToSecureChannelTask\", () => {\n let mockWebSocket: WebSocket;\n let mockInternalApi: InternalApi;\n let taskArgs: ConnectToSecureChannelTaskArgs;\n let task: ConnectToSecureChannelTask;\n const sendApduFn = vi.fn();\n\n beforeEach(() => {\n // vi.useFakeTimers({ shouldAdvanceTime: true });\n\n mockWebSocket = new WebSocket(\"wss://test-host.com\");\n mockInternalApi = {\n sendApdu: sendApduFn,\n disableRefresher: vi.fn(),\n } as unknown as InternalApi;\n taskArgs = { connection: Right(mockWebSocket) };\n task = new ConnectToSecureChannelTask(mockInternalApi, taskArgs);\n });\n\n afterEach(() => {\n vi.resetAllMocks();\n });\n\n it(\"should emit Opened event on WebSocket open\", async () => {\n const events: SecureChannelEvent[] = [];\n const obs = task.run();\n obs.subscribe((e) => events.push(e));\n\n expect(mockWebSocket.onopen).toBeDefined();\n mockWebSocket.onopen!({\n type: \"open\",\n target: {} as WebSocket,\n });\n\n await new Promise((resolve) => setTimeout(resolve, TEST_DELAY));\n\n expect(events).toStrictEqual([{ type: SecureChannelEventType.Opened }]);\n });\n\n it(\"should handle incoming EXCHANGE message including requesting user permission\", async () => {\n sendApduFn.mockResolvedValue(\n Right({\n data: new Uint8Array([0x90, 0x00]),\n statusCode: new Uint8Array([0x90, 0x00]),\n }),\n );\n\n const sendSpy = vi.spyOn(mockWebSocket, \"send\");\n vi.spyOn(task, \"isSecureConnectionAllowed\").mockReturnValueOnce(false);\n\n const events: SecureChannelEvent[] = [];\n const obs = task.run();\n obs.subscribe({\n next: (event) => {\n events.push(event);\n },\n });\n\n expect(mockWebSocket.onmessage).toBeDefined();\n mockWebSocket.onmessage!({\n data: JSON.stringify({\n query: \"exchange\",\n nonce: 1,\n data: \"e051000000\",\n }),\n type: \"\",\n target: {} as WebSocket,\n });\n\n await new Promise((resolve) => setTimeout(resolve, TEST_DELAY));\n\n expect(sendSpy).toHaveBeenCalledExactlyOnceWith(\n JSON.stringify({\n nonce: 1,\n response: \"success\",\n data: \"9000\",\n }),\n );\n expect(events).toStrictEqual([\n {\n type: SecureChannelEventType.PreExchange,\n payload: {\n nonce: 1,\n apdu: new Uint8Array([0xe0, 0x51, 0x00, 0x00, 0x00]),\n },\n },\n {\n type: SecureChannelEventType.PermissionRequested,\n },\n {\n type: SecureChannelEventType.Exchange,\n payload: {\n nonce: 1,\n apdu: new Uint8Array([0xe0, 0x51, 0x00, 0x00, 0x00]),\n data: new Uint8Array([0x90, 0x00]),\n status: new Uint8Array([0x90, 0x00]),\n },\n },\n {\n type: SecureChannelEventType.PermissionGranted,\n },\n ]);\n });\n\n it(\"should handle incoming BULK message\", async () => {\n sendApduFn.mockResolvedValue(\n Right({\n data: new Uint8Array([0x90, 0x00]),\n statusCode: new Uint8Array([0x90, 0x00]),\n }),\n );\n const completeFn: () => void = vi.fn();\n const obs = task.run();\n const events: SecureChannelEvent[] = [];\n obs.subscribe({\n next: (event: SecureChannelEvent) => {\n events.push(event);\n },\n complete: () => completeFn(),\n });\n\n expect(mockWebSocket.onmessage).toBeDefined();\n mockWebSocket.onmessage!({\n data: JSON.stringify({\n query: \"bulk\",\n nonce: 1,\n data: [\"0000000100\", \"0000000200\", \"0000000300\"],\n }),\n type: \"\",\n target: {} as WebSocket,\n });\n\n await new Promise((resolve) => setTimeout(resolve, TEST_DELAY));\n\n expect(sendApduFn).toHaveBeenCalledTimes(3);\n expect(events).toStrictEqual([\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 0.33, index: 0, total: 3 },\n },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 0.67, index: 1, total: 3 },\n },\n {\n type: SecureChannelEventType.Progress,\n payload: { progress: 1.0, index: 2, total: 3 },\n },\n ]);\n expect(completeFn).toHaveBeenCalledOnce();\n });\n\n it(\"should handle incoming SUCCESS message\", () => {\n const completeFn: () => void = vi.fn();\n const events: SecureChannelEvent[] = [];\n const observable = task.run();\n observable.subscribe({\n next: (event: SecureChannelEvent) => events.push(event),\n complete: () => completeFn(),\n });\n\n mockWebSocket.onmessage!({\n data: JSON.stringify({\n query: \"success\",\n nonce: 1,\n result: \"success result\",\n }),\n type: \"\",\n target: {} as WebSocket,\n });\n\n expect(events).toStrictEqual([\n { type: SecureChannelEventType.Result, payload: \"success result\" },\n ]);\n expect(completeFn).toHaveBeenCalledOnce();\n });\n\n it(\"should handle incoming WARNING message\", () => {\n const events: SecureChannelEvent[] = [];\n const observable = task.run();\n observable.subscribe({\n next: (event: SecureChannelEvent) => events.push(event),\n });\n\n expect(mockWebSocket.onmessage).toBeDefined();\n mockWebSocket.onmessage!({\n data: JSON.stringify({\n query: \"warning\",\n nonce: 1,\n data: \"warning message\",\n }),\n type: \"\",\n target: {} as WebSocket,\n });\n\n expect(events).toStrictEqual([\n {\n type: SecureChannelEventType.Warning,\n payload: { message: \"warning message\" },\n },\n ]);\n });\n\n it(\"should handle incoming ERROR message\", () => {\n const errorFn = vi.fn();\n const observable = task.run();\n observable.subscribe({\n error: (err) => {\n expect(err).toBeInstanceOf(SecureChannelError);\n errorFn(err);\n },\n });\n\n expect(mockWebSocket.onmessage).toBeDefined();\n mockWebSocket.onmessage!({\n data: JSON.stringify({\n query: \"error\",\n }),\n type: \"\",\n target: {} as WebSocket,\n });\n\n expect(errorFn).toHaveBeenCalled();\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["WebSocket", "Right", "describe", "it", "vi", "SecureChannelEventType", "SecureChannelError", "ConnectToSecureChannelTask", "url", "TEST_DELAY", "mockWebSocket", "mockInternalApi", "taskArgs", "task", "sendApduFn", "events", "e", "resolve", "sendSpy", "event", "completeFn", "obs", "errorFn", "err"]
7
+ }
@@ -0,0 +1,2 @@
1
+ var a=(n=>(n.GenuineCheck="GenuineCheck",n.ListInstalledApps="ListInstalledApps",n.UpdateMcu="UpdateMcu",n.UpdateFirmware="UpdateFirmware",n.InstallApp="InstallApp",n.UninstallApp="UninstallApp",n))(a||{}),s=(r=>(r.EXCHANGE="exchange",r.BULK="bulk",r.ERROR="error",r.WARNING="warning",r.SUCCESS="success",r))(s||{}),p=(t=>(t.SUCCESS="success",t.ERROR="error",t))(p||{}),o=(e=>(e.Opened="opened",e.Closed="closed",e.PermissionRequested="permission-requested",e.PermissionGranted="permission-granted",e.PreExchange="pre-exchange",e.Exchange="exchange",e.Progress="progress",e.Warning="warning",e.Result="result",e))(o||{});export{s as InMessageQueryEnum,p as OutMessageResponseEnum,o as SecureChannelEventType,a as SecureChannelOperationEnum};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/api/secure-channel/task/types.ts"],
4
+ "sourcesContent": ["export enum SecureChannelOperationEnum {\n GenuineCheck = \"GenuineCheck\",\n ListInstalledApps = \"ListInstalledApps\",\n UpdateMcu = \"UpdateMcu\",\n UpdateFirmware = \"UpdateFirmware\",\n InstallApp = \"InstallApp\",\n UninstallApp = \"UninstallApp\",\n}\n\n/**\n * The message that will be received from the server by the secure channel.\n */\nexport type InMessageType = {\n uuid: string;\n session: string;\n query: InMessageQueryEnum;\n nonce: number;\n data: string | Array<string>;\n result?: unknown;\n};\n\nexport enum InMessageQueryEnum {\n EXCHANGE = \"exchange\",\n BULK = \"bulk\",\n ERROR = \"error\",\n WARNING = \"warning\",\n SUCCESS = \"success\",\n}\n\n/**\n * The message that will be sent to the server by the secure channel.\n */\nexport type OutMessageType = {\n nonce: number;\n response: OutMessageResponseEnum;\n data: string;\n};\n\nexport enum OutMessageResponseEnum {\n SUCCESS = \"success\",\n ERROR = \"error\",\n}\n\n/**\n * The all event types that can be emitted to the client by the secure channel.\n *\n */\nexport enum SecureChannelEventType {\n Opened = \"opened\",\n Closed = \"closed\",\n PermissionRequested = \"permission-requested\",\n PermissionGranted = \"permission-granted\",\n PreExchange = \"pre-exchange\",\n Exchange = \"exchange\",\n Progress = \"progress\",\n Warning = \"warning\",\n Result = \"result\",\n}\n\n/**\n * The possible payload that will be sent to the client when a secure channel event occurs.\n */\nexport type SecureChannelEventPayload = {\n PreExchange: { nonce: number; apdu: Uint8Array };\n Exchange: {\n nonce: number;\n apdu: Uint8Array;\n data: Uint8Array;\n status: Uint8Array;\n };\n Progress: { progress: number; index: number; total: number };\n Warning: { message: string };\n Result: string | Record<string, unknown>;\n};\n\n/**\n * The event type that will be emitted to the client when a secure channel event occurs.\n */\nexport type SecureChannelEvent =\n | {\n type: SecureChannelEventType.Opened;\n }\n | {\n type: SecureChannelEventType.Closed;\n }\n | {\n type: SecureChannelEventType.PermissionRequested;\n }\n | {\n type: SecureChannelEventType.PermissionGranted;\n }\n | {\n type: SecureChannelEventType.PreExchange;\n payload: SecureChannelEventPayload[\"PreExchange\"];\n }\n | {\n type: SecureChannelEventType.Exchange;\n payload: SecureChannelEventPayload[\"Exchange\"];\n }\n | {\n type: SecureChannelEventType.Progress;\n payload: SecureChannelEventPayload[\"Progress\"];\n }\n | {\n type: SecureChannelEventType.Warning;\n payload: SecureChannelEventPayload[\"Warning\"];\n }\n | {\n type: SecureChannelEventType.Result;\n payload: SecureChannelEventPayload[\"Result\"];\n };\n"],
5
+ "mappings": "AAAO,IAAKA,OACVA,EAAA,aAAe,eACfA,EAAA,kBAAoB,oBACpBA,EAAA,UAAY,YACZA,EAAA,eAAiB,iBACjBA,EAAA,WAAa,aACbA,EAAA,aAAe,eANLA,OAAA,IAqBAC,OACVA,EAAA,SAAW,WACXA,EAAA,KAAO,OACPA,EAAA,MAAQ,QACRA,EAAA,QAAU,UACVA,EAAA,QAAU,UALAA,OAAA,IAiBAC,OACVA,EAAA,QAAU,UACVA,EAAA,MAAQ,QAFEA,OAAA,IASAC,OACVA,EAAA,OAAS,SACTA,EAAA,OAAS,SACTA,EAAA,oBAAsB,uBACtBA,EAAA,kBAAoB,qBACpBA,EAAA,YAAc,eACdA,EAAA,SAAW,WACXA,EAAA,SAAW,WACXA,EAAA,QAAU,UACVA,EAAA,OAAS,SATCA,OAAA",
6
+ "names": ["SecureChannelOperationEnum", "InMessageQueryEnum", "OutMessageResponseEnum", "SecureChannelEventType"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import{GENUINE_DEVICE_RESULT as n}from"./constants";function i(e){return e[0]===224&&e[1]===81}function o(e){return e.length===2&&(e[0]===85&&e[1]===1||e[0]===105&&e[1]===133)}function t(e){return e===n}export{t as isDeviceGenuine,o as isRefusedByUser,i as willRequestPermission};
2
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/api/secure-channel/utils.ts"],
4
+ "sourcesContent": ["import { type SecureChannelEventPayload } from \"./task/types\";\nimport { GENUINE_DEVICE_RESULT } from \"./constants\";\n\n/**\n * Checks if the given APDU command will request permission.\n *\n * This method checks if the first byte of the APDU command is `0xe0` and the second byte is `0x51`.\n *\n * @param apdu - The APDU command as a Uint8Array.\n * @returns `true` if the APDU command will request permission, otherwise `false`.\n */\nexport function willRequestPermission(apdu: Uint8Array): boolean {\n return apdu[0] === 0xe0 && apdu[1] === 0x51;\n}\n\n/**\n * Checks if the user refused the permission on the device.\n *\n * The following status codes indicate a refusal:\n * - \"0x5501\": User refused the permission.\n * - \"0x6985\": Condition of use not satisfied.\n *\n * @param statusCode - The status code to check.\n * @returns `true` if the status code indicates a refusal, otherwise `false`.\n */\nexport function isRefusedByUser(statusCode: Uint8Array): boolean {\n return (\n statusCode.length === 2 &&\n ((statusCode[0] === 0x55 && statusCode[1] === 0x01) ||\n (statusCode[0] === 0x69 && statusCode[1] === 0x85))\n );\n}\n\n/**\n * Checks if the device is genuine.\n *\n * @param payload - The payload of the result secure channel event.\n * The payload has already been stringified, so that the type check is not necessary.\n * @returns `true` if the device is genuine, otherwise `false`.\n */\nexport function isDeviceGenuine(payload: SecureChannelEventPayload[\"Result\"]) {\n return payload === GENUINE_DEVICE_RESULT;\n}\n"],
5
+ "mappings": "AACA,OAAS,yBAAAA,MAA6B,cAU/B,SAASC,EAAsBC,EAA2B,CAC/D,OAAOA,EAAK,CAAC,IAAM,KAAQA,EAAK,CAAC,IAAM,EACzC,CAYO,SAASC,EAAgBC,EAAiC,CAC/D,OACEA,EAAW,SAAW,IACpBA,EAAW,CAAC,IAAM,IAAQA,EAAW,CAAC,IAAM,GAC3CA,EAAW,CAAC,IAAM,KAAQA,EAAW,CAAC,IAAM,IAEnD,CASO,SAASC,EAAgBC,EAA8C,CAC5E,OAAOA,IAAYN,CACrB",
6
+ "names": ["GENUINE_DEVICE_RESULT", "willRequestPermission", "apdu", "isRefusedByUser", "statusCode", "isDeviceGenuine", "payload"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{isDeviceGenuine as t,isRefusedByUser as s,willRequestPermission as i}from"./utils";describe("willRequestPermission",()=>{it("should return true if the APDU is a permission request",()=>{const e=new Uint8Array([224,81,0,0,0]);expect(i(e)).toBe(!0)}),it("should return false if the APDU is not a permission request",()=>{const e=new Uint8Array([224,82,0,0,0]);expect(i(e)).toBe(!1)})});describe("isRefusedByUser",()=>{it("should return true if the status code indicates a refusal",()=>{[new Uint8Array([85,1]),new Uint8Array([105,133])].forEach(e=>{expect(s(e)).toBe(!0)})}),it("should return false if the status code does not indicate a refusal",()=>{const e=new Uint8Array([144,0]);expect(s(e)).toBe(!1)})});describe("isDeviceGenuine",()=>{it("should return true if the device is genuine",()=>{expect(t("0000")).toBe(!0)}),it("should return false if the device is not genuine",()=>{expect(t("not genuine")).toBe(!1)})});describe.todo("SecureElementFlags");
2
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/api/secure-channel/utils.test.ts"],
4
+ "sourcesContent": ["import {\n isDeviceGenuine,\n isRefusedByUser,\n willRequestPermission,\n} from \"./utils\";\n\ndescribe(\"willRequestPermission\", () => {\n it(\"should return true if the APDU is a permission request\", () => {\n const apdu = new Uint8Array([0xe0, 0x51, 0x00, 0x00, 0x00]);\n expect(willRequestPermission(apdu)).toBe(true);\n });\n it(\"should return false if the APDU is not a permission request\", () => {\n const apdu = new Uint8Array([0xe0, 0x52, 0x00, 0x00, 0x00]);\n expect(willRequestPermission(apdu)).toBe(false);\n });\n});\n\ndescribe(\"isRefusedByUser\", () => {\n it(\"should return true if the status code indicates a refusal\", () => {\n [new Uint8Array([0x55, 0x01]), new Uint8Array([0x69, 0x85])].forEach(\n (statusCode) => {\n expect(isRefusedByUser(statusCode)).toBe(true);\n },\n );\n });\n it(\"should return false if the status code does not indicate a refusal\", () => {\n const statusCode = new Uint8Array([0x90, 0x00]);\n expect(isRefusedByUser(statusCode)).toBe(false);\n });\n});\n\ndescribe(\"isDeviceGenuine\", () => {\n it(\"should return true if the device is genuine\", () => {\n const payload = \"0000\";\n expect(isDeviceGenuine(payload)).toBe(true);\n });\n it(\"should return false if the device is not genuine\", () => {\n const payload = \"not genuine\";\n expect(isDeviceGenuine(payload)).toBe(false);\n });\n});\n\ndescribe.todo(\"SecureElementFlags\");\n"],
5
+ "mappings": "AAAA,OACE,mBAAAA,EACA,mBAAAC,EACA,yBAAAC,MACK,UAEP,SAAS,wBAAyB,IAAM,CACtC,GAAG,yDAA0D,IAAM,CACjE,MAAMC,EAAO,IAAI,WAAW,CAAC,IAAM,GAAM,EAAM,EAAM,CAAI,CAAC,EAC1D,OAAOD,EAAsBC,CAAI,CAAC,EAAE,KAAK,EAAI,CAC/C,CAAC,EACD,GAAG,8DAA+D,IAAM,CACtE,MAAMA,EAAO,IAAI,WAAW,CAAC,IAAM,GAAM,EAAM,EAAM,CAAI,CAAC,EAC1D,OAAOD,EAAsBC,CAAI,CAAC,EAAE,KAAK,EAAK,CAChD,CAAC,CACH,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,GAAG,4DAA6D,IAAM,CACpE,CAAC,IAAI,WAAW,CAAC,GAAM,CAAI,CAAC,EAAG,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,CAAC,EAAE,QAC1DC,GAAe,CACd,OAAOH,EAAgBG,CAAU,CAAC,EAAE,KAAK,EAAI,CAC/C,CACF,CACF,CAAC,EACD,GAAG,qEAAsE,IAAM,CAC7E,MAAMA,EAAa,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EAC9C,OAAOH,EAAgBG,CAAU,CAAC,EAAE,KAAK,EAAK,CAChD,CAAC,CACH,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,GAAG,8CAA+C,IAAM,CAEtD,OAAOJ,EADS,MACc,CAAC,EAAE,KAAK,EAAI,CAC5C,CAAC,EACD,GAAG,mDAAoD,IAAM,CAE3D,OAAOA,EADS,aACc,CAAC,EAAE,KAAK,EAAK,CAC7C,CAAC,CACH,CAAC,EAED,SAAS,KAAK,oBAAoB",
6
+ "names": ["isDeviceGenuine", "isRefusedByUser", "willRequestPermission", "apdu", "statusCode"]
7
+ }
@@ -1,2 +1,2 @@
1
- class t{constructor(){}create=jest.fn().mockImplementation(()=>({sendApdu:jest.fn()}))}export{t as DeviceConnectionFactoryStub};
1
+ class n{constructor(){}create=vi.fn().mockImplementation(()=>({sendApdu:vi.fn()}))}export{n as DeviceConnectionFactoryStub};
2
2
  //# sourceMappingURL=DeviceConnectionFactory.stub.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/transport/model/DeviceConnectionFactory.stub.ts"],
4
- "sourcesContent": ["export class DeviceConnectionFactoryStub {\n constructor() {}\n\n create = jest.fn().mockImplementation(() => ({\n sendApdu: jest.fn(),\n }));\n}\n"],
5
- "mappings": "AAAO,MAAMA,CAA4B,CACvC,aAAc,CAAC,CAEf,OAAS,KAAK,GAAG,EAAE,mBAAmB,KAAO,CAC3C,SAAU,KAAK,GAAG,CACpB,EAAE,CACJ",
4
+ "sourcesContent": ["export class DeviceConnectionFactoryStub {\n constructor() {}\n\n create = vi.fn().mockImplementation(() => ({\n sendApdu: vi.fn(),\n }));\n}\n"],
5
+ "mappings": "AAAO,MAAMA,CAA4B,CACvC,aAAc,CAAC,CAEf,OAAS,GAAG,GAAG,EAAE,mBAAmB,KAAO,CACzC,SAAU,GAAG,GAAG,CAClB,EAAE,CACJ",
6
6
  "names": ["DeviceConnectionFactoryStub"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/transport/model/Errors.ts"],
4
- "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport type ConnectError =\n | UnknownDeviceError\n | OpeningConnectionError\n | DeviceAlreadyConnectedError;\n\nexport class GeneralDmkError implements DmkError {\n _tag = \"GeneralDmkError\";\n originalError?: unknown;\n constructor(err?: unknown) {\n if (err instanceof Error) {\n this.originalError = err;\n } else if (err !== undefined) {\n this.originalError = new Error(String(err));\n }\n }\n}\n\nexport class DeviceAlreadyConnectedError extends GeneralDmkError {\n override readonly _tag = \"DeviceAlreadyDiscoveredError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotRecognizedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotRecognizedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoAccessibleDeviceError extends GeneralDmkError {\n override readonly _tag = \"NoAccessibleDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class OpeningConnectionError extends GeneralDmkError {\n override readonly _tag = \"ConnectionOpeningError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class UnknownDeviceError extends GeneralDmkError {\n override readonly _tag = \"UnknownDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportNotSupportedError extends GeneralDmkError {\n override readonly _tag = \"TransportNotSupportedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class SendApduConcurrencyError extends GeneralDmkError {\n override readonly _tag = \"SendApduConcurrencyError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DisconnectError extends GeneralDmkError {\n override readonly _tag = \"DisconnectError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class ReconnectionFailedError extends GeneralDmkError {\n override readonly _tag = \"ReconnectionFailedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotInitializedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotInitializedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportsProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportsProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportAlreadyExistsError extends GeneralDmkError {\n override readonly _tag = \"TransportAlreadyExistsError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n"],
5
- "mappings": "AAOO,MAAMA,CAAoC,CAC/C,KAAO,kBACP,cACA,YAAYC,EAAe,CACrBA,aAAe,MACjB,KAAK,cAAgBA,EACZA,IAAQ,SACjB,KAAK,cAAgB,IAAI,MAAM,OAAOA,CAAG,CAAC,EAE9C,CACF,CAEO,MAAMC,UAAoCF,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,8BAI3B,CAEO,MAAME,UAAiCH,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMG,UAAgCJ,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMI,UAA+BL,CAAgB,CAE1D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,wBAI3B,CAEO,MAAMK,UAA2BN,CAAgB,CAEtD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,oBAI3B,CAEO,MAAMM,UAAmCP,CAAgB,CAE9D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CAEO,MAAMO,UAAiCR,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMQ,UAAwBT,CAAgB,CAEnD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,iBAI3B,CAEO,MAAMS,UAAgCV,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMU,UAAkCX,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMW,UAAkCZ,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMY,UAAoCb,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,6BAI3B,CAEO,MAAMa,UAAiCd,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B",
4
+ "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport type ConnectError =\n | UnknownDeviceError\n | OpeningConnectionError\n | DeviceAlreadyConnectedError;\n\nexport class GeneralDmkError implements DmkError {\n _tag = \"GeneralDmkError\";\n originalError?: unknown;\n constructor(err?: unknown) {\n if (err instanceof Error) {\n this.originalError = err;\n } else if (err !== undefined) {\n this.originalError = new Error(String(err));\n }\n }\n}\n\nexport class DeviceAlreadyConnectedError extends GeneralDmkError {\n override readonly _tag = \"DeviceAlreadyDiscoveredError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotRecognizedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotRecognizedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoAccessibleDeviceError extends GeneralDmkError {\n override readonly _tag = \"NoAccessibleDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class OpeningConnectionError extends GeneralDmkError {\n override readonly _tag = \"ConnectionOpeningError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class UnknownDeviceError extends GeneralDmkError {\n override readonly _tag = \"UnknownDeviceError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportNotSupportedError extends GeneralDmkError {\n override readonly _tag = \"TransportNotSupportedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\nexport class SendApduConcurrencyError extends GeneralDmkError {\n override readonly _tag = \"SendApduConcurrencyError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DisconnectError extends GeneralDmkError {\n override readonly _tag = \"DisconnectError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class ReconnectionFailedError extends GeneralDmkError {\n override readonly _tag = \"ReconnectionFailedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceNotInitializedError extends GeneralDmkError {\n override readonly _tag = \"DeviceNotInitializedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportsProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportsProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class TransportAlreadyExistsError extends GeneralDmkError {\n override readonly _tag = \"TransportAlreadyExistsError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class NoTransportProvidedError extends GeneralDmkError {\n override readonly _tag = \"NoTransportProvidedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n"],
5
+ "mappings": "AAOO,MAAMA,CAAoC,CAC/C,KAAO,kBACP,cACA,YAAYC,EAAe,CACrBA,aAAe,MACjB,KAAK,cAAgBA,EACZA,IAAQ,SACjB,KAAK,cAAgB,IAAI,MAAM,OAAOA,CAAG,CAAC,EAE9C,CACF,CAEO,MAAMC,UAAoCF,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,8BAI3B,CAEO,MAAME,UAAiCH,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMG,UAAgCJ,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMI,UAA+BL,CAAgB,CAE1D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,wBAI3B,CAEO,MAAMK,UAA2BN,CAAgB,CAEtD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,oBAI3B,CAEO,MAAMM,UAAmCP,CAAgB,CAE9D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CACO,MAAMO,UAAiCR,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMQ,UAAwBT,CAAgB,CAEnD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,iBAI3B,CAEO,MAAMS,UAAgCV,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMU,UAAkCX,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMW,UAAkCZ,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMY,UAAoCb,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,6BAI3B,CAEO,MAAMa,UAAiCd,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B",
6
6
  "names": ["GeneralDmkError", "err", "DeviceAlreadyConnectedError", "DeviceNotRecognizedError", "NoAccessibleDeviceError", "OpeningConnectionError", "UnknownDeviceError", "TransportNotSupportedError", "SendApduConcurrencyError", "DisconnectError", "ReconnectionFailedError", "DeviceNotInitializedError", "NoTransportsProvidedError", "TransportAlreadyExistsError", "NoTransportProvidedError"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Right as r}from"purify-ts";import{deviceModelStubBuilder as o}from"../../device-model/model/DeviceModel.stub";import{defaultApduResponseStubBuilder as n}from"../../device-session/ApduResponse.stub";import{TransportConnectedDevice as i}from"./TransportConnectedDevice";function u(e={}){const t=o();return new i({deviceModel:t,id:"42",type:"MOCK",transport:"USB",sendApdu:jest.fn(async()=>Promise.resolve(r(n()))),...e})}export{u as connectedDeviceStubBuilder};
1
+ import{Right as t}from"purify-ts";import{deviceModelStubBuilder as o}from"../../device-model/model/DeviceModel.stub";import{defaultApduResponseStubBuilder as n}from"../../device-session/ApduResponse.stub";import{TransportConnectedDevice as i}from"./TransportConnectedDevice";function u(e={}){const r=o();return new i({deviceModel:r,id:"42",type:"MOCK",transport:"USB",sendApdu:vi.fn(async()=>Promise.resolve(t(n()))),...e})}export{u as connectedDeviceStubBuilder};
2
2
  //# sourceMappingURL=TransportConnectedDevice.stub.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/transport/model/TransportConnectedDevice.stub.ts"],
4
- "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\n\nimport {\n type ConnectedDeviceConstructorArgs,\n TransportConnectedDevice,\n} from \"./TransportConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): TransportConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new TransportConnectedDevice({\n deviceModel,\n id: \"42\",\n type: \"MOCK\",\n transport: \"USB\",\n sendApdu: jest.fn(async () =>\n Promise.resolve(Right(defaultApduResponseStubBuilder())),\n ),\n ...props,\n });\n}\n"],
5
- "mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,0BAAAC,MAA8B,2CACvC,OAAS,kCAAAC,MAAsC,wCAE/C,OAEE,4BAAAC,MACK,6BAEA,SAASC,EACdC,EAAiD,CAAC,EACxB,CAC1B,MAAMC,EAAcL,EAAuB,EAC3C,OAAO,IAAIE,EAAyB,CAClC,YAAAG,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,KAAK,GAAG,SAChB,QAAQ,QAAQN,EAAME,EAA+B,CAAC,CAAC,CACzD,EACA,GAAGG,CACL,CAAC,CACH",
4
+ "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { deviceModelStubBuilder } from \"@api/device-model/model/DeviceModel.stub\";\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\n\nimport {\n type ConnectedDeviceConstructorArgs,\n TransportConnectedDevice,\n} from \"./TransportConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): TransportConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new TransportConnectedDevice({\n deviceModel,\n id: \"42\",\n type: \"MOCK\",\n transport: \"USB\",\n sendApdu: vi.fn(async () =>\n Promise.resolve(Right(defaultApduResponseStubBuilder())),\n ),\n ...props,\n });\n}\n"],
5
+ "mappings": "AAAA,OAAS,SAAAA,MAAa,YAEtB,OAAS,0BAAAC,MAA8B,2CACvC,OAAS,kCAAAC,MAAsC,wCAE/C,OAEE,4BAAAC,MACK,6BAEA,SAASC,EACdC,EAAiD,CAAC,EACxB,CAC1B,MAAMC,EAAcL,EAAuB,EAC3C,OAAO,IAAIE,EAAyB,CAClC,YAAAG,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,GAAG,GAAG,SACd,QAAQ,QAAQN,EAAME,EAA+B,CAAC,CAAC,CACzD,EACA,GAAGG,CACL,CAAC,CACH",
6
6
  "names": ["Right", "deviceModelStubBuilder", "defaultApduResponseStubBuilder", "TransportConnectedDevice", "connectedDeviceStubBuilder", "props", "deviceModel"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class e{constructor(){}getIdentifier=jest.fn();isSupported=jest.fn();startDiscovering=jest.fn();stopDiscovering=jest.fn();listenToKnownDevices=jest.fn();connect=jest.fn();disconnect=jest.fn()}export{e as TransportMock};
1
+ class n{constructor(){}getIdentifier=vi.fn();isSupported=vi.fn();startDiscovering=vi.fn();stopDiscovering=vi.fn();listenToAvailableDevices=vi.fn();connect=vi.fn();disconnect=vi.fn()}export{n as TransportMock};
2
2
  //# sourceMappingURL=TransportMock.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/api/transport/model/__mocks__/TransportMock.ts"],
4
- "sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = jest.fn();\n isSupported = jest.fn();\n startDiscovering = jest.fn();\n stopDiscovering = jest.fn();\n listenToKnownDevices = jest.fn();\n connect = jest.fn();\n disconnect = jest.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,KAAK,GAAG,EACxB,YAAc,KAAK,GAAG,EACtB,iBAAmB,KAAK,GAAG,EAC3B,gBAAkB,KAAK,GAAG,EAC1B,qBAAuB,KAAK,GAAG,EAC/B,QAAU,KAAK,GAAG,EAClB,WAAa,KAAK,GAAG,CACvB",
4
+ "sourcesContent": ["import { type Transport } from \"@api/transport/model/Transport\";\n\nexport class TransportMock implements Transport {\n constructor() {}\n getIdentifier = vi.fn();\n isSupported = vi.fn();\n startDiscovering = vi.fn();\n stopDiscovering = vi.fn();\n listenToAvailableDevices = vi.fn();\n connect = vi.fn();\n disconnect = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAAmC,CAC9C,aAAc,CAAC,CACf,cAAgB,GAAG,GAAG,EACtB,YAAc,GAAG,GAAG,EACpB,iBAAmB,GAAG,GAAG,EACzB,gBAAkB,GAAG,GAAG,EACxB,yBAA2B,GAAG,GAAG,EACjC,QAAU,GAAG,GAAG,EAChB,WAAa,GAAG,GAAG,CACrB",
6
6
  "names": ["TransportMock"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{base64StringToBuffer as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=s("");expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=s("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{jest.resetAllMocks()}),it("should convert empty input to empty buffer",()=>{const t=l("");expect(t).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const t=l("invalid string");expect(t).toStrictEqual(null)}),it("should convert a base64 string to a buffer using browser's atob",()=>{const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))}),it("should convert a base64 string to a buffer using Buffer",()=>{jest.spyOn(global,"atob").mockImplementation(()=>{throw new Error("atob is not defined")});const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))})})});
1
+ import{base64StringToBuffer as l,isBase64String as s}from"./Base64String";describe("Base64String",()=>{describe("isBase64String function",()=>{it("should return true if the value is a valid base64 string",()=>{const t=s("Zmlyc3QgdG/zdGluZyBz+HI9");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, one padding",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI=");expect(t).toBeTruthy()}),it("should return true if the value is a valid base64 string, two paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdH==");expect(t).toBeTruthy()}),it("should return true for an empty string",()=>{const t=s("");expect(t).toBeTruthy()}),it("should return false for an invalid base64 string",()=>{const t=s("invalid base64 string");expect(t).toBeFalsy()}),it("should return false with 3 paddings",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzd===");expect(t).toBeFalsy()}),it("should return false on incomplete string (not multiple of 4)",()=>{const t=s("Zmlyc3QgdGVzdGluZyBzdHI");expect(t).toBeFalsy()})}),describe("base64StringToBuffer function",()=>{beforeEach(()=>{vi.resetAllMocks()}),it("should convert empty input to empty buffer",()=>{const t=l("");expect(t).toStrictEqual(new Uint8Array)}),it("invalid base64 string converted to null",()=>{const t=l("invalid string");expect(t).toStrictEqual(null)}),it("should convert a base64 string to a buffer using browser's atob",()=>{const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))}),it("should convert a base64 string to a buffer using Buffer",()=>{vi.spyOn(global,"atob").mockImplementation(()=>{throw new Error("atob is not defined")});const t=l("Zmlyc3QgdGVzdCBzdHJpbmc=");expect(t).toStrictEqual(Uint8Array.from([102,105,114,115,116,32,116,101,115,116,32,115,116,114,105,110,103]))})})});
2
2
  //# sourceMappingURL=Base64String.test.js.map