@ledgerhq/device-management-kit 0.5.0 → 0.6.0

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 (921) hide show
  1. package/README.md +27 -31
  2. package/lib/cjs/package.json +13 -14
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  9. package/lib/cjs/src/api/DmkConfig.js +1 -1
  10. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  11. package/lib/cjs/src/api/Error.js +1 -1
  12. package/lib/cjs/src/api/Error.js.map +3 -3
  13. package/lib/cjs/src/api/apdu/utils/ApduParser.test.js +1 -1
  14. package/lib/cjs/src/api/apdu/utils/ApduParser.test.js.map +2 -2
  15. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  16. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.js.map +2 -2
  17. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  18. package/lib/cjs/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  19. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js +1 -1
  20. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.js.map +2 -2
  21. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  22. package/lib/cjs/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  23. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  24. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  25. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  26. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  27. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +2 -2
  28. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +2 -0
  29. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +7 -0
  30. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +2 -2
  31. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  32. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  33. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  34. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +2 -2
  35. package/lib/cjs/src/api/device/DeviceModel.js +1 -1
  36. package/lib/cjs/src/api/device/DeviceModel.js.map +3 -3
  37. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  38. package/lib/cjs/src/api/device-action/__test-utils__/data.js +1 -1
  39. package/lib/cjs/src/api/device-action/__test-utils__/data.js.map +3 -3
  40. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  41. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  42. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  43. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  44. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  45. package/lib/cjs/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  46. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  47. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  48. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  49. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  50. package/lib/cjs/src/api/device-action/os/ListAppsWithMetadata/types.js.map +1 -1
  51. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  52. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  53. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  54. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  55. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js +1 -1
  56. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/types.js.map +1 -1
  57. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  58. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  59. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js +1 -1
  60. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  61. package/lib/cjs/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +2 -2
  62. package/lib/cjs/src/api/device-model/data/DeviceModelDataSource.js +2 -0
  63. package/lib/cjs/src/api/device-model/data/DeviceModelDataSource.js.map +7 -0
  64. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +2 -0
  65. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
  66. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
  67. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
  68. package/lib/cjs/src/api/device-model/model/BleDeviceInfos.js +2 -0
  69. package/lib/cjs/src/api/device-model/model/BleDeviceInfos.js.map +7 -0
  70. package/lib/cjs/src/api/device-model/model/DeviceModel.js +2 -0
  71. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +7 -0
  72. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +2 -0
  73. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +7 -0
  74. package/lib/cjs/src/api/device-model/model/DeviceModel.test.js +2 -0
  75. package/lib/cjs/src/api/device-model/model/DeviceModel.test.js.map +7 -0
  76. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  77. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  78. package/lib/cjs/src/{internal → api}/device-session/data/FramerConst.js.map +1 -1
  79. package/lib/cjs/src/api/device-session/service/ApduReceiverService.js +2 -0
  80. package/lib/cjs/src/{internal → api}/device-session/service/ApduReceiverService.js.map +2 -2
  81. package/lib/cjs/src/api/device-session/service/ApduSenderService.js +2 -0
  82. package/lib/cjs/src/api/device-session/service/ApduSenderService.js.map +7 -0
  83. package/lib/cjs/src/api/device-session/service/DefaultApduReceiverService.stub.js +2 -0
  84. package/lib/cjs/src/api/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
  85. package/lib/cjs/src/api/device-session/service/DefaultApduSenderService.stub.js +2 -0
  86. package/lib/cjs/src/api/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
  87. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +2 -0
  88. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +7 -0
  89. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +2 -0
  90. package/lib/cjs/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +7 -0
  91. package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.js.map +1 -1
  92. package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.test.js.map +1 -1
  93. package/lib/cjs/src/api/index.js +1 -1
  94. package/lib/cjs/src/api/index.js.map +3 -3
  95. package/lib/cjs/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js.map +1 -1
  96. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  97. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  98. package/lib/cjs/src/api/logger-subscriber/{__mocks__ → service/__mocks__}/ConsoleLogger.js.map +1 -1
  99. package/lib/cjs/src/api/transport/model/ConnectedDevice.js +1 -1
  100. package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +2 -2
  101. package/lib/cjs/src/{internal → api}/transport/model/DeviceConnection.js.map +1 -1
  102. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js +2 -0
  103. package/lib/cjs/src/api/transport/model/DeviceConnectionFactory.stub.js.map +7 -0
  104. package/lib/cjs/src/api/transport/model/Errors.js +2 -0
  105. package/lib/cjs/src/api/transport/model/Errors.js.map +7 -0
  106. package/lib/cjs/src/api/transport/model/Transport.js +1 -1
  107. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  108. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js +2 -0
  109. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js.map +7 -0
  110. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js +2 -0
  111. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.stub.js.map +7 -0
  112. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +2 -0
  113. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +7 -0
  114. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js +2 -0
  115. package/lib/cjs/src/api/transport/model/TransportDiscoveredDevice.js.map +7 -0
  116. package/lib/cjs/src/api/transport/model/TransportIdentifier.js +1 -1
  117. package/lib/cjs/src/api/transport/model/TransportIdentifier.js.map +3 -3
  118. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js +2 -0
  119. package/lib/cjs/src/api/transport/model/__mocks__/TransportMock.js.map +7 -0
  120. package/lib/cjs/src/api/types.js +1 -1
  121. package/lib/cjs/src/api/types.js.map +1 -1
  122. package/lib/cjs/src/di.js +1 -1
  123. package/lib/cjs/src/di.js.map +3 -3
  124. package/lib/cjs/src/internal/config/service/DefaultConfigService.js +1 -1
  125. package/lib/cjs/src/internal/config/service/DefaultConfigService.js.map +2 -2
  126. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js +1 -1
  127. package/lib/cjs/src/internal/device-model/di/deviceModelModule.js.map +2 -2
  128. package/lib/cjs/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  129. package/lib/cjs/src/internal/device-model/di/deviceModelModule.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/model/Errors.js.map +1 -1
  143. package/lib/cjs/src/internal/device-session/model/FrameHeader.js +1 -1
  144. package/lib/cjs/src/internal/device-session/model/FrameHeader.js.map +2 -2
  145. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  146. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.js.map +3 -3
  147. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  148. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +3 -3
  149. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  150. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +3 -3
  151. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  152. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.test.js.map +3 -3
  153. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +2 -2
  154. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  155. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
  156. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +2 -0
  157. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +7 -0
  158. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +2 -2
  159. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  160. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  161. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  162. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  163. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  164. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  165. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  166. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  167. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  168. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  169. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  170. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  171. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +1 -1
  172. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +2 -2
  173. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  174. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
  175. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +1 -1
  176. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +2 -2
  177. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  178. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +2 -2
  179. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  180. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +2 -2
  181. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  182. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  183. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  184. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  185. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  186. package/lib/cjs/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  187. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  188. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +3 -3
  189. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  190. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  191. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  192. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  193. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  194. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  195. package/lib/cjs/src/internal/logger-publisher/di/loggerModule.js.map +2 -2
  196. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +2 -2
  197. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js +2 -0
  198. package/lib/cjs/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +7 -0
  199. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  200. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  201. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  202. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  203. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  204. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  205. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  206. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  207. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  208. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  209. package/lib/cjs/src/internal/manager-api/model/{ManagerApiType.js → Application.js} +2 -2
  210. package/lib/cjs/src/internal/manager-api/model/Application.js.map +7 -0
  211. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  212. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  213. package/lib/cjs/src/internal/manager-api/model/Device.js +2 -0
  214. package/lib/cjs/src/internal/manager-api/model/Device.js.map +7 -0
  215. package/lib/cjs/src/internal/manager-api/model/Errors.js +1 -1
  216. package/lib/cjs/src/internal/manager-api/model/Errors.js.map +3 -3
  217. package/lib/cjs/src/internal/manager-api/model/Firmware.js +2 -0
  218. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +7 -0
  219. package/lib/cjs/src/internal/manager-api/model/Params.js +2 -0
  220. package/lib/cjs/src/internal/manager-api/model/Params.js.map +7 -0
  221. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  222. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  223. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  224. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  225. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  226. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  227. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  228. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +2 -2
  229. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  230. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  231. package/lib/cjs/src/internal/transport/di/transportDiTypes.js +1 -1
  232. package/lib/cjs/src/internal/transport/di/transportDiTypes.js.map +2 -2
  233. package/lib/cjs/src/internal/transport/di/transportModule.js +1 -1
  234. package/lib/cjs/src/internal/transport/di/transportModule.js.map +3 -3
  235. package/lib/cjs/src/internal/transport/di/transportModule.test.js +2 -0
  236. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +7 -0
  237. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +2 -0
  238. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +7 -0
  239. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js +2 -0
  240. package/lib/cjs/src/internal/transport/service/DefaultTransportService.test.js.map +7 -0
  241. package/lib/cjs/src/internal/transport/service/TransportService.js +2 -0
  242. package/lib/cjs/src/internal/transport/service/TransportService.js.map +7 -0
  243. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +2 -0
  244. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +7 -0
  245. package/lib/esm/package.json +13 -14
  246. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  247. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  248. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  249. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  250. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  251. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  252. package/lib/esm/src/api/Error.js +1 -1
  253. package/lib/esm/src/api/Error.js.map +3 -3
  254. package/lib/esm/src/api/apdu/utils/ApduParser.test.js +1 -1
  255. package/lib/esm/src/api/apdu/utils/ApduParser.test.js.map +2 -2
  256. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js +1 -1
  257. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.js.map +2 -2
  258. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js +1 -1
  259. package/lib/esm/src/api/apdu/utils/ByteArrayBuilder.test.js.map +2 -2
  260. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js +1 -1
  261. package/lib/esm/src/api/apdu/utils/ByteArrayParser.js.map +2 -2
  262. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js +1 -1
  263. package/lib/esm/src/api/apdu/utils/ByteArrayParser.test.js.map +2 -2
  264. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  265. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  266. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  267. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  268. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  269. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +2 -0
  270. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +7 -0
  271. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +2 -2
  272. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  273. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  274. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  275. package/lib/esm/src/api/command/utils/CommandUtils.js.map +2 -2
  276. package/lib/esm/src/api/device/DeviceModel.js +1 -1
  277. package/lib/esm/src/api/device/DeviceModel.js.map +3 -3
  278. package/lib/esm/src/api/device-action/__test-utils__/data.js +1 -1
  279. package/lib/esm/src/api/device-action/__test-utils__/data.js.map +2 -2
  280. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  281. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  282. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  283. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  284. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js +1 -1
  285. package/lib/esm/src/api/device-action/os/GoToDashboard/GoToDashboardDeviceAction.test.js.map +3 -3
  286. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js +1 -1
  287. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.js.map +2 -2
  288. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js +1 -1
  289. package/lib/esm/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.test.js.map +3 -3
  290. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  291. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +2 -2
  292. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  293. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  294. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  295. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  296. package/lib/esm/src/api/device-action/use-case/ExecuteDeviceActionUseCase.js.map +2 -2
  297. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +2 -0
  298. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +7 -0
  299. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +2 -0
  300. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +7 -0
  301. package/lib/esm/src/api/device-model/model/BleDeviceInfos.js +2 -0
  302. package/lib/esm/src/api/device-model/model/BleDeviceInfos.js.map +7 -0
  303. package/lib/esm/src/api/device-model/model/DeviceModel.js +2 -0
  304. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +7 -0
  305. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +2 -0
  306. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +7 -0
  307. package/lib/esm/src/api/device-model/model/DeviceModel.test.js +2 -0
  308. package/lib/esm/src/api/device-model/model/DeviceModel.test.js.map +7 -0
  309. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  310. package/lib/esm/src/{internal → api}/device-session/data/FramerConst.js.map +1 -1
  311. package/lib/esm/src/api/device-session/service/DefaultApduReceiverService.stub.js +2 -0
  312. package/lib/esm/src/api/device-session/service/DefaultApduReceiverService.stub.js.map +7 -0
  313. package/lib/esm/src/api/device-session/service/DefaultApduSenderService.stub.js +2 -0
  314. package/lib/esm/src/api/device-session/service/DefaultApduSenderService.stub.js.map +7 -0
  315. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js +2 -0
  316. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.js.map +7 -0
  317. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js +2 -0
  318. package/lib/esm/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.js.map +7 -0
  319. package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.js.map +1 -1
  320. package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.test.js.map +1 -1
  321. package/lib/esm/src/api/index.js +1 -1
  322. package/lib/esm/src/api/index.js.map +3 -3
  323. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  324. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  325. package/lib/esm/src/api/logger-subscriber/{__mocks__ → service/__mocks__}/ConsoleLogger.js.map +1 -1
  326. package/lib/esm/src/api/transport/model/ConnectedDevice.js +1 -1
  327. package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +2 -2
  328. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js +2 -0
  329. package/lib/esm/src/api/transport/model/DeviceConnectionFactory.stub.js.map +7 -0
  330. package/lib/esm/src/api/transport/model/Errors.js +2 -0
  331. package/lib/esm/src/api/transport/model/Errors.js.map +7 -0
  332. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js +2 -0
  333. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js.map +7 -0
  334. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js +2 -0
  335. package/lib/esm/src/api/transport/model/TransportConnectedDevice.stub.js.map +7 -0
  336. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +2 -0
  337. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +7 -0
  338. package/lib/esm/src/api/transport/model/TransportDiscoveredDevice.js +1 -0
  339. package/lib/esm/src/api/transport/model/TransportIdentifier.js +0 -1
  340. package/lib/esm/src/api/transport/model/TransportIdentifier.js.map +4 -4
  341. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js +2 -0
  342. package/lib/esm/src/api/transport/model/__mocks__/TransportMock.js.map +7 -0
  343. package/lib/esm/src/di.js +1 -1
  344. package/lib/esm/src/di.js.map +3 -3
  345. package/lib/esm/src/internal/config/service/DefaultConfigService.js +1 -1
  346. package/lib/esm/src/internal/config/service/DefaultConfigService.js.map +2 -2
  347. package/lib/esm/src/internal/device-model/di/deviceModelModule.js +1 -1
  348. package/lib/esm/src/internal/device-model/di/deviceModelModule.js.map +2 -2
  349. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js +1 -1
  350. package/lib/esm/src/internal/device-model/di/deviceModelModule.test.js.map +2 -2
  351. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  352. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  353. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  354. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  355. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  356. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  357. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  358. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  359. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  360. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +2 -2
  361. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  362. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  363. package/lib/esm/src/internal/device-session/model/Errors.js.map +1 -1
  364. package/lib/esm/src/internal/device-session/model/FrameHeader.js +1 -1
  365. package/lib/esm/src/internal/device-session/model/FrameHeader.js.map +2 -2
  366. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js +1 -1
  367. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.js.map +3 -3
  368. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js +1 -1
  369. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.test.js.map +3 -3
  370. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  371. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +3 -3
  372. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js +1 -1
  373. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.test.js.map +3 -3
  374. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +2 -2
  375. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  376. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +2 -2
  377. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +2 -0
  378. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +7 -0
  379. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.js.map +2 -2
  380. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  381. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  382. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  383. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  384. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  385. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  386. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  387. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  388. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  389. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  390. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  391. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  392. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js +1 -1
  393. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.js.map +2 -2
  394. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  395. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +2 -2
  396. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js +1 -1
  397. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.js.map +2 -2
  398. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  399. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +2 -2
  400. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  401. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +2 -2
  402. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  403. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  404. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js +1 -1
  405. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.js.map +3 -3
  406. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js +1 -1
  407. package/lib/esm/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.test.js.map +3 -3
  408. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  409. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +3 -3
  410. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  411. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +3 -3
  412. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  413. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.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 +3 -3
  416. package/lib/esm/src/internal/logger-publisher/di/loggerModule.js.map +2 -2
  417. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.js.map +2 -2
  418. package/lib/esm/src/internal/logger-publisher/service/{__mocks__/DefaultLoggerService.js → DefaultLoggerPublisherService.stub.js} +2 -2
  419. package/lib/esm/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.js.map +7 -0
  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/__mocks__/AxiosManagerApiDataSource.js +1 -1
  425. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  426. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  427. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  428. package/lib/esm/src/internal/manager-api/model/{ManagerApiType.js → Application.js} +1 -1
  429. package/lib/esm/src/internal/manager-api/model/Application.js.map +7 -0
  430. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  431. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  432. package/lib/esm/src/internal/manager-api/model/Device.js +1 -0
  433. package/lib/esm/src/internal/manager-api/model/Device.js.map +7 -0
  434. package/lib/esm/src/internal/manager-api/model/Errors.js +1 -1
  435. package/lib/esm/src/internal/manager-api/model/Errors.js.map +3 -3
  436. package/lib/esm/src/internal/manager-api/model/Firmware.js +1 -0
  437. package/lib/esm/src/internal/manager-api/model/Firmware.js.map +7 -0
  438. package/lib/esm/src/internal/manager-api/model/Params.js +1 -0
  439. package/lib/esm/src/internal/manager-api/model/Params.js.map +7 -0
  440. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  441. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  442. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  443. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  444. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +2 -2
  445. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  446. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  447. package/lib/esm/src/internal/transport/di/transportDiTypes.js +1 -1
  448. package/lib/esm/src/internal/transport/di/transportDiTypes.js.map +2 -2
  449. package/lib/esm/src/internal/transport/di/transportModule.js +1 -1
  450. package/lib/esm/src/internal/transport/di/transportModule.js.map +3 -3
  451. package/lib/esm/src/internal/transport/di/transportModule.test.js +2 -0
  452. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +7 -0
  453. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +2 -0
  454. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +7 -0
  455. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js +2 -0
  456. package/lib/esm/src/internal/transport/service/DefaultTransportService.test.js.map +7 -0
  457. package/lib/esm/src/internal/transport/service/TransportService.js +1 -0
  458. package/lib/esm/src/internal/transport/service/TransportService.js.map +7 -0
  459. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +2 -0
  460. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +7 -0
  461. package/lib/types/src/api/DeviceManagementKit.d.ts +9 -0
  462. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  463. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts +4 -7
  464. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  465. package/lib/types/src/api/DmkConfig.d.ts +1 -0
  466. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  467. package/lib/types/src/api/Error.d.ts +5 -0
  468. package/lib/types/src/api/Error.d.ts.map +1 -1
  469. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts +28 -0
  470. package/lib/types/src/api/apdu/utils/ByteArrayBuilder.d.ts.map +1 -1
  471. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts +24 -0
  472. package/lib/types/src/api/apdu/utils/ByteArrayParser.d.ts.map +1 -1
  473. package/lib/types/src/api/command/model/CommandResult.d.ts +1 -2
  474. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  475. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +1 -1
  476. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  477. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts +4 -0
  478. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -0
  479. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +1 -1
  480. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  481. package/lib/types/src/api/device/DeviceModel.d.ts +1 -0
  482. package/lib/types/src/api/device/DeviceModel.d.ts.map +1 -1
  483. package/lib/types/src/api/device-action/DeviceAction.d.ts +1 -1
  484. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  485. package/lib/types/src/api/device-action/__test-utils__/data.d.ts +1 -1
  486. package/lib/types/src/api/device-action/__test-utils__/data.d.ts.map +1 -1
  487. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts +1 -1
  488. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction.d.ts.map +1 -1
  489. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts +1 -1
  490. package/lib/types/src/api/device-action/os/ListAppsWithMetadata/types.d.ts.map +1 -1
  491. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  492. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts +1 -0
  493. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/types.d.ts.map +1 -1
  494. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  495. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  496. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  497. package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts +1 -1
  498. package/lib/types/src/api/device-action/use-case/ExecuteDeviceActionUseCase.d.ts.map +1 -1
  499. package/lib/types/src/api/device-model/data/DeviceModelDataSource.d.ts +16 -0
  500. package/lib/types/src/api/device-model/data/DeviceModelDataSource.d.ts.map +1 -0
  501. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts +21 -0
  502. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -0
  503. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +1 -0
  504. package/lib/types/src/api/device-model/model/BleDeviceInfos.d.ts +10 -0
  505. package/lib/types/src/api/device-model/model/BleDeviceInfos.d.ts.map +1 -0
  506. package/lib/types/src/{internal → api}/device-model/model/DeviceModel.d.ts +2 -2
  507. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -0
  508. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts +3 -0
  509. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -0
  510. package/lib/types/src/api/device-model/model/DeviceModel.test.d.ts.map +1 -0
  511. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +6 -1
  512. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  513. package/lib/types/src/api/device-session/data/FramerConst.d.ts.map +1 -0
  514. package/lib/types/src/api/device-session/service/ApduReceiverService.d.ts +11 -0
  515. package/lib/types/src/api/device-session/service/ApduReceiverService.d.ts.map +1 -0
  516. package/lib/types/src/api/device-session/service/ApduSenderService.d.ts +12 -0
  517. package/lib/types/src/api/device-session/service/ApduSenderService.d.ts.map +1 -0
  518. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts +5 -0
  519. package/lib/types/src/api/device-session/service/DefaultApduReceiverService.stub.d.ts.map +1 -0
  520. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts +5 -0
  521. package/lib/types/src/api/device-session/service/DefaultApduSenderService.stub.d.ts.map +1 -0
  522. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts +17 -0
  523. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.d.ts.map +1 -0
  524. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts +2 -0
  525. package/lib/types/src/api/device-session/use-case/ToggleDeviceSessionRefresher.test.d.ts.map +1 -0
  526. package/lib/types/src/api/device-session/utils/FramerUtils.d.ts.map +1 -0
  527. package/lib/types/src/api/device-session/utils/FramerUtils.test.d.ts.map +1 -0
  528. package/lib/types/src/api/index.d.ts +23 -23
  529. package/lib/types/src/api/index.d.ts.map +1 -1
  530. package/lib/types/src/{internal → api}/logger-publisher/service/LoggerPublisherService.d.ts +2 -2
  531. package/lib/types/src/api/logger-publisher/service/LoggerPublisherService.d.ts.map +1 -0
  532. package/lib/types/src/api/logger-subscriber/service/__mocks__/ConsoleLogger.d.ts.map +1 -0
  533. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +3 -3
  534. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
  535. package/lib/types/src/{internal → api}/transport/model/DeviceConnection.d.ts +3 -3
  536. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -0
  537. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts +5 -0
  538. package/lib/types/src/api/transport/model/DeviceConnectionFactory.stub.d.ts.map +1 -0
  539. package/lib/types/src/api/transport/model/Errors.d.ts +73 -0
  540. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -0
  541. package/lib/types/src/api/transport/model/Transport.d.ts +20 -7
  542. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  543. package/lib/types/src/{internal/transport/model/InternalConnectedDevice.d.ts → api/transport/model/TransportConnectedDevice.d.ts} +8 -8
  544. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts.map +1 -0
  545. package/lib/types/src/api/transport/model/TransportConnectedDevice.stub.d.ts +3 -0
  546. package/lib/types/src/api/transport/model/TransportConnectedDevice.stub.d.ts.map +1 -0
  547. package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts +2 -0
  548. package/lib/types/src/api/transport/model/TransportConnectedDevice.test.d.ts.map +1 -0
  549. package/lib/types/src/{internal/transport/model/InternalDiscoveredDevice.d.ts → api/transport/model/TransportDiscoveredDevice.d.ts} +6 -6
  550. package/lib/types/src/api/transport/model/TransportDiscoveredDevice.d.ts.map +1 -0
  551. package/lib/types/src/api/transport/model/TransportIdentifier.d.ts +0 -5
  552. package/lib/types/src/api/transport/model/TransportIdentifier.d.ts.map +1 -1
  553. package/lib/types/src/{internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts → api/transport/model/__mocks__/TransportMock.d.ts} +7 -7
  554. package/lib/types/src/api/transport/model/__mocks__/TransportMock.d.ts.map +1 -0
  555. package/lib/types/src/api/types.d.ts +21 -3
  556. package/lib/types/src/api/types.d.ts.map +1 -1
  557. package/lib/types/src/di.d.ts +3 -5
  558. package/lib/types/src/di.d.ts.map +1 -1
  559. package/lib/types/src/internal/config/service/DefaultConfigService.d.ts +1 -1
  560. package/lib/types/src/internal/config/service/DefaultConfigService.d.ts.map +1 -1
  561. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  562. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -0
  563. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts.map +1 -1
  564. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +7 -5
  565. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  566. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +1 -1
  567. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  568. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +9 -2
  569. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  570. package/lib/types/src/internal/device-session/model/Errors.d.ts +1 -1
  571. package/lib/types/src/internal/device-session/model/Errors.d.ts.map +1 -1
  572. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts +3 -6
  573. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.d.ts.map +1 -1
  574. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.d.ts +4 -9
  575. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.d.ts.map +1 -1
  576. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +1 -1
  577. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
  578. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts +2 -0
  579. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.test.d.ts.map +1 -0
  580. package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.d.ts +1 -1
  581. package/lib/types/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.d.ts.map +1 -1
  582. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +4 -4
  583. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  584. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts +4 -4
  585. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts.map +1 -1
  586. package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts +1 -1
  587. package/lib/types/src/internal/discovery/use-case/GetConnectedDeviceUseCase.d.ts.map +1 -1
  588. package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts +1 -1
  589. package/lib/types/src/internal/discovery/use-case/ListConnectedDevicesUseCase.d.ts.map +1 -1
  590. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +1 -1
  591. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -1
  592. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts +3 -3
  593. package/lib/types/src/internal/discovery/use-case/ListenToKnownDevicesUseCase.d.ts.map +1 -1
  594. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +3 -3
  595. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  596. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +3 -3
  597. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  598. package/lib/types/src/internal/logger-publisher/di/loggerModule.d.ts.map +1 -1
  599. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.d.ts +1 -1
  600. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.d.ts.map +1 -1
  601. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts +11 -0
  602. package/lib/types/src/internal/logger-publisher/service/DefaultLoggerPublisherService.stub.d.ts.map +1 -0
  603. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +20 -6
  604. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  605. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +75 -3
  606. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  607. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +8 -0
  608. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  609. package/lib/types/src/internal/manager-api/model/{ManagerApiType.d.ts → Application.d.ts} +2 -3
  610. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -0
  611. package/lib/types/src/internal/manager-api/model/Const.d.ts +1 -0
  612. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  613. package/lib/types/src/internal/manager-api/model/Device.d.ts +4 -0
  614. package/lib/types/src/internal/manager-api/model/Device.d.ts.map +1 -0
  615. package/lib/types/src/internal/manager-api/model/Errors.d.ts +6 -0
  616. package/lib/types/src/internal/manager-api/model/Errors.d.ts.map +1 -1
  617. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +5 -0
  618. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -0
  619. package/lib/types/src/internal/manager-api/model/Params.d.ts +86 -0
  620. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -0
  621. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +5 -1
  622. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  623. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +6 -1
  624. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  625. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +1 -1
  626. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  627. package/lib/types/src/internal/transport/di/transportDiTypes.d.ts +2 -1
  628. package/lib/types/src/internal/transport/di/transportDiTypes.d.ts.map +1 -1
  629. package/lib/types/src/internal/transport/di/transportModule.d.ts +3 -5
  630. package/lib/types/src/internal/transport/di/transportModule.d.ts.map +1 -1
  631. package/lib/types/src/internal/transport/di/transportModule.test.d.ts +2 -0
  632. package/lib/types/src/internal/transport/di/transportModule.test.d.ts.map +1 -0
  633. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +25 -0
  634. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -0
  635. package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts +2 -0
  636. package/lib/types/src/internal/transport/service/DefaultTransportService.test.d.ts.map +1 -0
  637. package/lib/types/src/internal/transport/service/TransportService.d.ts +9 -0
  638. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -0
  639. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +19 -0
  640. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -0
  641. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  642. package/package.json +15 -16
  643. package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js +0 -2
  644. package/lib/cjs/src/internal/device-model/data/DeviceModelDataSource.js.map +0 -7
  645. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js +0 -2
  646. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +0 -7
  647. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
  648. package/lib/cjs/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
  649. package/lib/cjs/src/internal/device-model/model/DeviceModel.js +0 -2
  650. package/lib/cjs/src/internal/device-model/model/DeviceModel.js.map +0 -7
  651. package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js +0 -2
  652. package/lib/cjs/src/internal/device-model/model/DeviceModel.stub.js.map +0 -7
  653. package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js +0 -2
  654. package/lib/cjs/src/internal/device-model/model/DeviceModel.test.js.map +0 -7
  655. package/lib/cjs/src/internal/device-session/service/ApduReceiverService.js +0 -2
  656. package/lib/cjs/src/internal/device-session/service/ApduSenderService.js +0 -2
  657. package/lib/cjs/src/internal/device-session/service/ApduSenderService.js.map +0 -7
  658. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js +0 -2
  659. package/lib/cjs/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +0 -7
  660. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js +0 -2
  661. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +0 -7
  662. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js +0 -2
  663. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +0 -7
  664. package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js +0 -2
  665. package/lib/cjs/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +0 -7
  666. package/lib/cjs/src/internal/manager-api/model/ManagerApiType.js.map +0 -7
  667. package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js +0 -2
  668. package/lib/cjs/src/internal/transport/ble/di/bleDiTypes.js.map +0 -7
  669. package/lib/cjs/src/internal/transport/ble/di/bleModule.js +0 -2
  670. package/lib/cjs/src/internal/transport/ble/di/bleModule.js.map +0 -7
  671. package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js +0 -2
  672. package/lib/cjs/src/internal/transport/ble/di/bleModule.test.js.map +0 -7
  673. package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js +0 -2
  674. package/lib/cjs/src/internal/transport/ble/model/BleDevice.stub.js.map +0 -7
  675. package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js +0 -2
  676. package/lib/cjs/src/internal/transport/ble/model/BleDeviceInfos.js.map +0 -7
  677. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +0 -2
  678. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +0 -7
  679. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +0 -2
  680. package/lib/cjs/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +0 -7
  681. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js +0 -2
  682. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.js.map +0 -7
  683. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js +0 -2
  684. package/lib/cjs/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +0 -7
  685. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js +0 -2
  686. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.js.map +0 -7
  687. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js +0 -2
  688. package/lib/cjs/src/internal/transport/ble/transport/WebBleTransport.test.js.map +0 -7
  689. package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +0 -2
  690. package/lib/cjs/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +0 -7
  691. package/lib/cjs/src/internal/transport/data/TransportDataSource.js +0 -2
  692. package/lib/cjs/src/internal/transport/data/TransportDataSource.js.map +0 -7
  693. package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js +0 -2
  694. package/lib/cjs/src/internal/transport/mockserver/MockserverTransport.js.map +0 -7
  695. package/lib/cjs/src/internal/transport/model/Errors.js +0 -2
  696. package/lib/cjs/src/internal/transport/model/Errors.js.map +0 -7
  697. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js +0 -2
  698. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.js.map +0 -7
  699. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js +0 -2
  700. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.stub.js.map +0 -7
  701. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js +0 -2
  702. package/lib/cjs/src/internal/transport/model/InternalConnectedDevice.test.js.map +0 -7
  703. package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js +0 -2
  704. package/lib/cjs/src/internal/transport/model/InternalDiscoveredDevice.js.map +0 -7
  705. package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js +0 -2
  706. package/lib/cjs/src/internal/transport/usb/data/UsbHidConfig.js.map +0 -7
  707. package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js +0 -2
  708. package/lib/cjs/src/internal/transport/usb/di/usbDiTypes.js.map +0 -7
  709. package/lib/cjs/src/internal/transport/usb/di/usbModule.js +0 -2
  710. package/lib/cjs/src/internal/transport/usb/di/usbModule.js.map +0 -7
  711. package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js +0 -2
  712. package/lib/cjs/src/internal/transport/usb/di/usbModule.test.js.map +0 -7
  713. package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js +0 -2
  714. package/lib/cjs/src/internal/transport/usb/model/HIDDevice.stub.js.map +0 -7
  715. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +0 -2
  716. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +0 -7
  717. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +0 -2
  718. package/lib/cjs/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +0 -7
  719. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +0 -2
  720. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +0 -7
  721. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +0 -2
  722. package/lib/cjs/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +0 -7
  723. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js +0 -2
  724. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +0 -7
  725. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +0 -2
  726. package/lib/cjs/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +0 -7
  727. package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +0 -2
  728. package/lib/cjs/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +0 -7
  729. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js +0 -2
  730. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.js.map +0 -7
  731. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js +0 -2
  732. package/lib/esm/src/internal/device-model/data/StaticDeviceModelDataSource.test.js.map +0 -7
  733. package/lib/esm/src/internal/device-model/model/DeviceModel.js +0 -2
  734. package/lib/esm/src/internal/device-model/model/DeviceModel.js.map +0 -7
  735. package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js +0 -2
  736. package/lib/esm/src/internal/device-model/model/DeviceModel.stub.js.map +0 -7
  737. package/lib/esm/src/internal/device-model/model/DeviceModel.test.js +0 -2
  738. package/lib/esm/src/internal/device-model/model/DeviceModel.test.js.map +0 -7
  739. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js +0 -2
  740. package/lib/esm/src/internal/device-session/service/DefaultApduReceiverService.stub.js.map +0 -7
  741. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js +0 -2
  742. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.stub.js.map +0 -7
  743. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js +0 -2
  744. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseState.test.js.map +0 -7
  745. package/lib/esm/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.js.map +0 -7
  746. package/lib/esm/src/internal/manager-api/model/ManagerApiType.js.map +0 -7
  747. package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js +0 -2
  748. package/lib/esm/src/internal/transport/ble/di/bleDiTypes.js.map +0 -7
  749. package/lib/esm/src/internal/transport/ble/di/bleModule.js +0 -2
  750. package/lib/esm/src/internal/transport/ble/di/bleModule.js.map +0 -7
  751. package/lib/esm/src/internal/transport/ble/di/bleModule.test.js +0 -2
  752. package/lib/esm/src/internal/transport/ble/di/bleModule.test.js.map +0 -7
  753. package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js +0 -2
  754. package/lib/esm/src/internal/transport/ble/model/BleDevice.stub.js.map +0 -7
  755. package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js +0 -2
  756. package/lib/esm/src/internal/transport/ble/model/BleDeviceInfos.js.map +0 -7
  757. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js +0 -2
  758. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.js.map +0 -7
  759. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js +0 -2
  760. package/lib/esm/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.js.map +0 -7
  761. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js +0 -2
  762. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.js.map +0 -7
  763. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js +0 -2
  764. package/lib/esm/src/internal/transport/ble/transport/BleDeviceConnection.test.js.map +0 -7
  765. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js +0 -2
  766. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.js.map +0 -7
  767. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js +0 -2
  768. package/lib/esm/src/internal/transport/ble/transport/WebBleTransport.test.js.map +0 -7
  769. package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js +0 -2
  770. package/lib/esm/src/internal/transport/ble/transport/__mocks__/WebBleTransport.js.map +0 -7
  771. package/lib/esm/src/internal/transport/data/TransportDataSource.js +0 -2
  772. package/lib/esm/src/internal/transport/data/TransportDataSource.js.map +0 -7
  773. package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js +0 -2
  774. package/lib/esm/src/internal/transport/mockserver/MockserverTransport.js.map +0 -7
  775. package/lib/esm/src/internal/transport/model/Errors.js +0 -2
  776. package/lib/esm/src/internal/transport/model/Errors.js.map +0 -7
  777. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js +0 -2
  778. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.js.map +0 -7
  779. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js +0 -2
  780. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.stub.js.map +0 -7
  781. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js +0 -2
  782. package/lib/esm/src/internal/transport/model/InternalConnectedDevice.test.js.map +0 -7
  783. package/lib/esm/src/internal/transport/model/InternalDiscoveredDevice.js +0 -1
  784. package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js +0 -2
  785. package/lib/esm/src/internal/transport/usb/data/UsbHidConfig.js.map +0 -7
  786. package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js +0 -2
  787. package/lib/esm/src/internal/transport/usb/di/usbDiTypes.js.map +0 -7
  788. package/lib/esm/src/internal/transport/usb/di/usbModule.js +0 -2
  789. package/lib/esm/src/internal/transport/usb/di/usbModule.js.map +0 -7
  790. package/lib/esm/src/internal/transport/usb/di/usbModule.test.js +0 -2
  791. package/lib/esm/src/internal/transport/usb/di/usbModule.test.js.map +0 -7
  792. package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js +0 -2
  793. package/lib/esm/src/internal/transport/usb/model/HIDDevice.stub.js.map +0 -7
  794. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js +0 -2
  795. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.js.map +0 -7
  796. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js +0 -2
  797. package/lib/esm/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.js.map +0 -7
  798. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js +0 -2
  799. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.js.map +0 -7
  800. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js +0 -2
  801. package/lib/esm/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.js.map +0 -7
  802. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js +0 -2
  803. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.js.map +0 -7
  804. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js +0 -2
  805. package/lib/esm/src/internal/transport/usb/transport/WebUsbHidTransport.test.js.map +0 -7
  806. package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js +0 -2
  807. package/lib/esm/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.js.map +0 -7
  808. package/lib/types/src/api/logger-subscriber/__mocks__/ConsoleLogger.d.ts.map +0 -1
  809. package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts +0 -16
  810. package/lib/types/src/internal/device-model/data/DeviceModelDataSource.d.ts.map +0 -1
  811. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts +0 -21
  812. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.d.ts.map +0 -1
  813. package/lib/types/src/internal/device-model/data/StaticDeviceModelDataSource.test.d.ts.map +0 -1
  814. package/lib/types/src/internal/device-model/model/DeviceModel.d.ts.map +0 -1
  815. package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts +0 -3
  816. package/lib/types/src/internal/device-model/model/DeviceModel.stub.d.ts.map +0 -1
  817. package/lib/types/src/internal/device-model/model/DeviceModel.test.d.ts.map +0 -1
  818. package/lib/types/src/internal/device-session/data/FramerConst.d.ts.map +0 -1
  819. package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts +0 -7
  820. package/lib/types/src/internal/device-session/service/ApduReceiverService.d.ts.map +0 -1
  821. package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts +0 -5
  822. package/lib/types/src/internal/device-session/service/ApduSenderService.d.ts.map +0 -1
  823. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts +0 -5
  824. package/lib/types/src/internal/device-session/service/DefaultApduReceiverService.stub.d.ts.map +0 -1
  825. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts +0 -5
  826. package/lib/types/src/internal/device-session/service/DefaultApduSenderService.stub.d.ts.map +0 -1
  827. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts +0 -2
  828. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseState.test.d.ts.map +0 -1
  829. package/lib/types/src/internal/device-session/utils/FramerUtils.d.ts.map +0 -1
  830. package/lib/types/src/internal/device-session/utils/FramerUtils.test.d.ts.map +0 -1
  831. package/lib/types/src/internal/logger-publisher/service/LoggerPublisherService.d.ts.map +0 -1
  832. package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts +0 -11
  833. package/lib/types/src/internal/logger-publisher/service/__mocks__/DefaultLoggerService.d.ts.map +0 -1
  834. package/lib/types/src/internal/manager-api/model/ManagerApiType.d.ts.map +0 -1
  835. package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts +0 -4
  836. package/lib/types/src/internal/transport/ble/di/bleDiTypes.d.ts.map +0 -1
  837. package/lib/types/src/internal/transport/ble/di/bleModule.d.ts +0 -3
  838. package/lib/types/src/internal/transport/ble/di/bleModule.d.ts.map +0 -1
  839. package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts +0 -2
  840. package/lib/types/src/internal/transport/ble/di/bleModule.test.d.ts.map +0 -1
  841. package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts +0 -3
  842. package/lib/types/src/internal/transport/ble/model/BleDevice.stub.d.ts.map +0 -1
  843. package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts +0 -10
  844. package/lib/types/src/internal/transport/ble/model/BleDeviceInfos.d.ts.map +0 -1
  845. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts +0 -13
  846. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.d.ts.map +0 -1
  847. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts +0 -3
  848. package/lib/types/src/internal/transport/ble/service/BleDeviceConnectionFactory.stub.d.ts.map +0 -1
  849. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts +0 -104
  850. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.d.ts.map +0 -1
  851. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts +0 -2
  852. package/lib/types/src/internal/transport/ble/transport/BleDeviceConnection.test.d.ts.map +0 -1
  853. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts +0 -97
  854. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.d.ts.map +0 -1
  855. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts +0 -2
  856. package/lib/types/src/internal/transport/ble/transport/WebBleTransport.test.d.ts.map +0 -1
  857. package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts +0 -14
  858. package/lib/types/src/internal/transport/ble/transport/__mocks__/WebBleTransport.d.ts.map +0 -1
  859. package/lib/types/src/internal/transport/data/TransportDataSource.d.ts +0 -8
  860. package/lib/types/src/internal/transport/data/TransportDataSource.d.ts.map +0 -1
  861. package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts +0 -33
  862. package/lib/types/src/internal/transport/mockserver/MockserverTransport.d.ts.map +0 -1
  863. package/lib/types/src/internal/transport/model/DeviceConnection.d.ts.map +0 -1
  864. package/lib/types/src/internal/transport/model/Errors.d.ts +0 -80
  865. package/lib/types/src/internal/transport/model/Errors.d.ts.map +0 -1
  866. package/lib/types/src/internal/transport/model/InternalConnectedDevice.d.ts.map +0 -1
  867. package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts +0 -3
  868. package/lib/types/src/internal/transport/model/InternalConnectedDevice.stub.d.ts.map +0 -1
  869. package/lib/types/src/internal/transport/model/InternalConnectedDevice.test.d.ts +0 -2
  870. package/lib/types/src/internal/transport/model/InternalConnectedDevice.test.d.ts.map +0 -1
  871. package/lib/types/src/internal/transport/model/InternalDiscoveredDevice.d.ts.map +0 -1
  872. package/lib/types/src/internal/transport/usb/data/UsbHidConfig.d.ts +0 -4
  873. package/lib/types/src/internal/transport/usb/data/UsbHidConfig.d.ts.map +0 -1
  874. package/lib/types/src/internal/transport/usb/di/usbDiTypes.d.ts +0 -4
  875. package/lib/types/src/internal/transport/usb/di/usbDiTypes.d.ts.map +0 -1
  876. package/lib/types/src/internal/transport/usb/di/usbModule.d.ts +0 -7
  877. package/lib/types/src/internal/transport/usb/di/usbModule.d.ts.map +0 -1
  878. package/lib/types/src/internal/transport/usb/di/usbModule.test.d.ts +0 -2
  879. package/lib/types/src/internal/transport/usb/di/usbModule.test.d.ts.map +0 -1
  880. package/lib/types/src/internal/transport/usb/model/HIDDevice.stub.d.ts +0 -2
  881. package/lib/types/src/internal/transport/usb/model/HIDDevice.stub.d.ts.map +0 -1
  882. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.d.ts +0 -20
  883. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.d.ts.map +0 -1
  884. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.d.ts +0 -3
  885. package/lib/types/src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.d.ts.map +0 -1
  886. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts +0 -54
  887. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.d.ts.map +0 -1
  888. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.d.ts +0 -2
  889. package/lib/types/src/internal/transport/usb/transport/UsbHidDeviceConnection.test.d.ts.map +0 -1
  890. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts +0 -97
  891. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.d.ts.map +0 -1
  892. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.test.d.ts +0 -2
  893. package/lib/types/src/internal/transport/usb/transport/WebUsbHidTransport.test.d.ts.map +0 -1
  894. package/lib/types/src/internal/transport/usb/transport/__mocks__/WebUsbHidTransport.d.ts.map +0 -1
  895. /package/lib/cjs/src/{internal → api}/device-session/data/FramerConst.js +0 -0
  896. /package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.js +0 -0
  897. /package/lib/cjs/src/{internal → api}/device-session/utils/FramerUtils.test.js +0 -0
  898. /package/lib/cjs/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js +0 -0
  899. /package/lib/cjs/src/api/logger-subscriber/{__mocks__ → service/__mocks__}/ConsoleLogger.js +0 -0
  900. /package/lib/cjs/src/{internal → api}/transport/model/DeviceConnection.js +0 -0
  901. /package/lib/esm/src/{internal → api}/device-model/data/DeviceModelDataSource.js +0 -0
  902. /package/lib/esm/src/{internal → api}/device-model/data/DeviceModelDataSource.js.map +0 -0
  903. /package/lib/esm/src/{internal → api}/device-session/data/FramerConst.js +0 -0
  904. /package/lib/esm/src/{internal → api}/device-session/service/ApduReceiverService.js +0 -0
  905. /package/lib/esm/src/{internal → api}/device-session/service/ApduReceiverService.js.map +0 -0
  906. /package/lib/esm/src/{internal → api}/device-session/service/ApduSenderService.js +0 -0
  907. /package/lib/esm/src/{internal → api}/device-session/service/ApduSenderService.js.map +0 -0
  908. /package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.js +0 -0
  909. /package/lib/esm/src/{internal → api}/device-session/utils/FramerUtils.test.js +0 -0
  910. /package/lib/esm/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js +0 -0
  911. /package/lib/esm/src/{internal → api}/logger-publisher/service/LoggerPublisherService.js.map +0 -0
  912. /package/lib/esm/src/api/logger-subscriber/{__mocks__ → service/__mocks__}/ConsoleLogger.js +0 -0
  913. /package/lib/esm/src/{internal → api}/transport/model/DeviceConnection.js +0 -0
  914. /package/lib/esm/src/{internal → api}/transport/model/DeviceConnection.js.map +0 -0
  915. /package/lib/esm/src/{internal/transport/model/InternalDiscoveredDevice.js.map → api/transport/model/TransportDiscoveredDevice.js.map} +0 -0
  916. /package/lib/types/src/{internal → api}/device-model/data/StaticDeviceModelDataSource.test.d.ts +0 -0
  917. /package/lib/types/src/{internal → api}/device-model/model/DeviceModel.test.d.ts +0 -0
  918. /package/lib/types/src/{internal → api}/device-session/data/FramerConst.d.ts +0 -0
  919. /package/lib/types/src/{internal → api}/device-session/utils/FramerUtils.d.ts +0 -0
  920. /package/lib/types/src/{internal → api}/device-session/utils/FramerUtils.test.d.ts +0 -0
  921. /package/lib/types/src/api/logger-subscriber/{__mocks__ → service/__mocks__}/ConsoleLogger.d.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/ble/transport/WebBleTransport.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, EitherAsync, Left, Maybe, Right } from \"purify-ts\";\nimport { from, Observable, switchMap, timer } from \"rxjs\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { DeviceId } from \"@api/device/DeviceModel\";\nimport { ConnectionType } from \"@api/discovery/ConnectionType\";\nimport { DmkError } from \"@api/Error\";\nimport { Transport } from \"@api/transport/model/Transport\";\nimport {\n BuiltinTransports,\n TransportIdentifier,\n} from \"@api/transport/model/TransportIdentifier\";\nimport type { DeviceModelDataSource } from \"@internal/device-model/data/DeviceModelDataSource\";\nimport { deviceModelTypes } from \"@internal/device-model/di/deviceModelTypes\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport type { LoggerPublisherService } from \"@internal/logger-publisher/service/LoggerPublisherService\";\nimport { bleDiTypes } from \"@internal/transport/ble/di/bleDiTypes\";\nimport { BleDeviceInfos } from \"@internal/transport/ble/model/BleDeviceInfos\";\nimport { BleDeviceConnectionFactory } from \"@internal/transport/ble/service/BleDeviceConnectionFactory\";\nimport { BleDeviceConnection } from \"@internal/transport/ble/transport/BleDeviceConnection\";\nimport { DisconnectHandler } from \"@internal/transport/model/DeviceConnection\";\nimport {\n BleDeviceGattServerError,\n BleTransportNotSupportedError,\n ConnectError,\n DeviceAlreadyConnectedError,\n DeviceNotRecognizedError,\n NoAccessibleDeviceError,\n OpeningConnectionError,\n type PromptDeviceAccessError,\n UnknownDeviceError,\n} from \"@internal/transport/model/Errors\";\nimport { InternalConnectedDevice } from \"@internal/transport/model/InternalConnectedDevice\";\nimport { InternalDiscoveredDevice } from \"@internal/transport/model/InternalDiscoveredDevice\";\nimport { RECONNECT_DEVICE_TIMEOUT } from \"@internal/transport/usb/data/UsbHidConfig\";\n\n// An attempt to manage the state of several devices with one transport. Not final.\ntype WebBleInternalDevice = {\n id: DeviceId;\n bleDevice: BluetoothDevice;\n bleDeviceInfos: BleDeviceInfos;\n bleGattService: BluetoothRemoteGATTService;\n discoveredDevice: InternalDiscoveredDevice;\n};\n\n@injectable()\nexport class WebBleTransport implements Transport {\n private readonly _connectedDevices: Array<BluetoothDevice>;\n private readonly _internalDevicesById: Map<DeviceId, WebBleInternalDevice>;\n private _deviceConnectionById: Map<DeviceId, BleDeviceConnection>;\n private _disconnectionHandlersById: Map<DeviceId, () => void>;\n private _logger: LoggerPublisherService;\n private readonly connectionType: ConnectionType = \"BLE\";\n private readonly identifier: TransportIdentifier = BuiltinTransports.BLE;\n\n constructor(\n @inject(deviceModelTypes.DeviceModelDataSource)\n private _deviceModelDataSource: DeviceModelDataSource,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n @inject(bleDiTypes.BleDeviceConnectionFactory)\n private _bleDeviceConnectionFactory: BleDeviceConnectionFactory,\n ) {\n this._connectedDevices = [];\n this._internalDevicesById = new Map();\n this._deviceConnectionById = new Map();\n this._disconnectionHandlersById = new Map();\n this._logger = loggerServiceFactory(\"WebBleTransport\");\n }\n\n /**\n * Get the Bluetooth API if supported or error\n * @returns `Either<BleTransportNotSupportedError, Bluetooth>`\n */\n private getBluetoothApi(): Either<BleTransportNotSupportedError, Bluetooth> {\n if (this.isSupported()) {\n return Right(navigator.bluetooth);\n }\n\n return Left(new BleTransportNotSupportedError(\"WebBle not supported\"));\n }\n\n isSupported(): boolean {\n try {\n const result = !!navigator?.bluetooth;\n return result;\n } catch {\n return false;\n }\n }\n\n getIdentifier(): TransportIdentifier {\n return this.identifier;\n }\n\n listenToKnownDevices(): Observable<InternalDiscoveredDevice[]> {\n return from([]);\n }\n\n /**\n * Get Bluetooth GATT Primary service that is used to get writeCharacteristic and notifyCharacteristic\n * @param bleDevice\n * @private\n */\n private async getBleGattService(\n bleDevice: BluetoothDevice,\n ): Promise<Either<BleDeviceGattServerError, BluetoothRemoteGATTService>> {\n if (!bleDevice.gatt) {\n return Left(new BleDeviceGattServerError(\"Device gatt not found\"));\n }\n try {\n const [bleGattService] = await bleDevice.gatt.getPrimaryServices();\n if (!bleGattService) {\n return Left(\n new BleDeviceGattServerError(\"bluetooth service not found\"),\n );\n }\n return Right(bleGattService);\n } catch (e) {\n return Left(new BleDeviceGattServerError(e));\n }\n }\n\n /**\n * BleDeviceInfos to map primary service uuid to device model & characteristics uuid\n * @param bleGattService\n * @private\n */\n private getBleDeviceInfos(\n bleGattService: BluetoothRemoteGATTService,\n ): Either<DeviceNotRecognizedError, BleDeviceInfos> {\n const serviceToBleInfos =\n this._deviceModelDataSource.getBluetoothServicesInfos();\n const bleDeviceInfos = serviceToBleInfos[bleGattService.uuid];\n\n if (!bleDeviceInfos) {\n this._logger.error(\n `Device not recognized: ${bleGattService.device.name}`,\n );\n return Left(\n new DeviceNotRecognizedError(\n `Device not recognized: ${bleGattService.device.name}`,\n ),\n );\n }\n return Right(bleDeviceInfos);\n }\n\n /**\n * Prompt device selection in navigator\n *\n * @private\n */\n private promptDeviceAccess(): EitherAsync<\n PromptDeviceAccessError,\n BluetoothDevice\n > {\n return EitherAsync(async ({ liftEither, throwE }) => {\n const bluetoothApi = await liftEither(this.getBluetoothApi());\n let bleDevice: BluetoothDevice;\n\n try {\n bleDevice = await bluetoothApi.requestDevice({\n filters: this._deviceModelDataSource\n .getBluetoothServices()\n .map((serviceUuid) => ({\n services: [serviceUuid],\n })),\n });\n } catch (error) {\n return throwE(new NoAccessibleDeviceError(error));\n }\n\n return bleDevice;\n });\n }\n\n /**\n * Generate a discovered device from BluetoothDevice, BleGATT primary service and BLE device infos\n * @param bleDeviceInfos\n * @private\n */\n private getDiscoveredDeviceFrom(\n bleDeviceInfos: BleDeviceInfos,\n ): InternalDiscoveredDevice {\n return {\n id: uuid(),\n deviceModel: bleDeviceInfos.deviceModel,\n transport: this.identifier,\n };\n }\n\n /**\n * Generate an InternalDevice from a unique id, a BluetoothDevice, BleGATT primary service and BLE device infos\n * @param discoveredDevice\n * @param bleDevice\n * @param bleDeviceInfos\n * @param bleGattService\n * @private\n */\n private setInternalDeviceFrom(\n discoveredDevice: InternalDiscoveredDevice,\n bleDevice: BluetoothDevice,\n bleDeviceInfos: BleDeviceInfos,\n bleGattService: BluetoothRemoteGATTService,\n ) {\n const internalDevice: WebBleInternalDevice = {\n id: discoveredDevice.id,\n bleDevice,\n bleGattService,\n bleDeviceInfos,\n discoveredDevice,\n };\n\n this._logger.debug(\n `Discovered device ${internalDevice.id} ${discoveredDevice.deviceModel.productName}`,\n );\n this._internalDevicesById.set(internalDevice.id, internalDevice);\n }\n\n /**\n * Main method to get a device from a button click handler\n * The GATT connection is done here in order to populate InternalDiscoveredDevice with deviceModel\n */\n startDiscovering(): Observable<InternalDiscoveredDevice> {\n this._logger.debug(\"startDiscovering\");\n\n return from(this.promptDeviceAccess()).pipe(\n switchMap(async (errorOrBleDevice) =>\n EitherAsync(async ({ liftEither, fromPromise }) => {\n const bleDevice = await liftEither(errorOrBleDevice);\n if (bleDevice.gatt) {\n try {\n await bleDevice.gatt.connect();\n } catch (error) {\n throw new OpeningConnectionError(error);\n }\n }\n try {\n const bleGattService = await fromPromise(\n this.getBleGattService(bleDevice),\n );\n const bleDeviceInfos = await liftEither(\n this.getBleDeviceInfos(bleGattService),\n );\n const discoveredDevice =\n this.getDiscoveredDeviceFrom(bleDeviceInfos);\n this.setInternalDeviceFrom(\n discoveredDevice,\n bleDevice,\n bleDeviceInfos,\n bleGattService,\n );\n return discoveredDevice;\n } catch (error) {\n await bleDevice.forget();\n throw error;\n }\n }).caseOf({\n Right: (discoveredDevice) => discoveredDevice,\n Left: (error) => {\n this._logger.error(\"Error while getting accessible device\", {\n data: { error },\n });\n throw error;\n },\n }),\n ),\n );\n }\n\n stopDiscovering(): void {\n this._logger.debug(\"stopDiscovering\");\n }\n\n /**\n * Connect to a BLE device and update the internal state of the associated device\n * Handle ondisconnect event on the device in order to try a reconnection\n */\n async connect({\n deviceId,\n onDisconnect,\n }: {\n deviceId: DeviceId;\n onDisconnect: DisconnectHandler;\n }): Promise<Either<ConnectError, InternalConnectedDevice>> {\n const internalDevice = this._internalDevicesById.get(deviceId);\n\n if (!internalDevice) {\n this._logger.error(`Unknown device ${deviceId}`, {\n data: { internalDevices: this._internalDevicesById },\n });\n this._logger.debug(\"Available devices\", {\n data: { devices: this._internalDevicesById },\n });\n return Left(new UnknownDeviceError(`Unknown device ${deviceId}`));\n }\n // if device already connected, remove device id from internal state and remove error\n if (this._connectedDevices.includes(internalDevice.bleDevice)) {\n this._internalDevicesById.delete(deviceId);\n return Left(new DeviceAlreadyConnectedError(\"Device already connected\"));\n }\n\n const {\n discoveredDevice: { deviceModel },\n } = internalDevice;\n\n try {\n const [writeCharacteristic, notifyCharacteristic] = await Promise.all([\n internalDevice.bleGattService.getCharacteristic(\n internalDevice.bleDeviceInfos.writeCmdUuid,\n ),\n internalDevice.bleGattService.getCharacteristic(\n internalDevice.bleDeviceInfos.notifyUuid,\n ),\n ]);\n const deviceConnection = this._bleDeviceConnectionFactory.create(\n writeCharacteristic,\n notifyCharacteristic,\n );\n await deviceConnection.setup();\n const connectedDevice = new InternalConnectedDevice({\n sendApdu: (apdu, triggersDisconnection) =>\n deviceConnection.sendApdu(apdu, triggersDisconnection),\n deviceModel,\n id: deviceId,\n type: this.connectionType,\n transport: this.identifier,\n });\n internalDevice.bleDevice.ongattserverdisconnected =\n this._getDeviceDisconnectedHandler(internalDevice, deviceConnection);\n this._deviceConnectionById.set(internalDevice.id, deviceConnection);\n this._disconnectionHandlersById.set(internalDevice.id, () => {\n this.disconnect({ connectedDevice }).then(() => onDisconnect(deviceId));\n });\n this._connectedDevices.push(internalDevice.bleDevice);\n return Right(connectedDevice);\n } catch (error) {\n await internalDevice.bleDevice.forget();\n this._internalDevicesById.delete(deviceId);\n this._logger.error(\"Error while getting characteristics\", {\n data: { error },\n });\n return Left(new OpeningConnectionError(error));\n }\n }\n\n /**\n * Get the device disconnected handler\n * @param internalDevice WebBleInternalDevice\n * @param deviceConnection BleDeviceConnection\n * @returns async () => void\n * @private\n */\n private _getDeviceDisconnectedHandler(\n internalDevice: WebBleInternalDevice,\n deviceConnection: BleDeviceConnection,\n ) {\n return async () => {\n // start a timer to disconnect the device if it does not reconnect\n const disconnectObserver = timer(RECONNECT_DEVICE_TIMEOUT).subscribe(\n () => {\n this._logger.debug(\"disconnection timer over\");\n // retrieve the disconnect handler and call it\n const disconnectHandler = Maybe.fromNullable(\n this._disconnectionHandlersById.get(internalDevice.id),\n );\n disconnectHandler.map((handler) => handler());\n },\n );\n // connect to the navigator device\n await internalDevice.bleDevice.gatt?.connect();\n // cancel disconnection timeout\n disconnectObserver.unsubscribe();\n // retrieve new ble characteristics\n const service = await this.getBleGattService(internalDevice.bleDevice);\n if (service.isRight()) {\n const [writeC, notifyC] = await Promise.all([\n service\n .extract()\n .getCharacteristic(internalDevice.bleDeviceInfos.writeCmdUuid),\n service\n .extract()\n .getCharacteristic(internalDevice.bleDeviceInfos.notifyUuid),\n ]);\n // reconnect device connection\n await deviceConnection.reconnect(writeC, notifyC);\n }\n };\n }\n\n /**\n * Disconnect from a BLE device and delete its handlers\n *\n * @param params { connectedDevice: InternalConnectedDevice }\n */\n async disconnect(params: {\n connectedDevice: InternalConnectedDevice;\n }): Promise<Either<DmkError, void>> {\n // retrieve internal device\n const maybeInternalDevice = Maybe.fromNullable(\n this._internalDevicesById.get(params.connectedDevice.id),\n );\n this._logger.debug(\"disconnect device\", {\n data: { connectedDevice: params.connectedDevice },\n });\n\n if (maybeInternalDevice.isNothing()) {\n this._logger.error(`Unknown device ${params.connectedDevice.id}`);\n return Left(\n new UnknownDeviceError(`Unknown device ${params.connectedDevice.id}`),\n );\n }\n maybeInternalDevice.map((device) => {\n const { bleDevice } = device;\n // retrieve device connection and disconnect it\n const maybeDeviceConnection = Maybe.fromNullable(\n this._deviceConnectionById.get(device.id),\n );\n maybeDeviceConnection.map((dConnection) => dConnection.disconnect());\n // disconnect device gatt server\n if (bleDevice.gatt?.connected) {\n bleDevice.gatt.disconnect();\n }\n // clean up objects\n this._internalDevicesById.delete(device.id);\n this._deviceConnectionById.delete(device.id);\n this._disconnectionHandlersById.delete(device.id);\n if (this._connectedDevices.includes(bleDevice)) {\n delete this._connectedDevices[\n this._connectedDevices.indexOf(bleDevice)\n ];\n }\n });\n\n return Right(void 0);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["WebBleTransport_exports", "__export", "WebBleTransport", "__toCommonJS", "import_inversify", "import_purify_ts", "import_rxjs", "import_uuid", "import_TransportIdentifier", "import_deviceModelTypes", "import_loggerTypes", "import_bleDiTypes", "import_Errors", "import_InternalConnectedDevice", "import_UsbHidConfig", "WebBleTransport", "_deviceModelDataSource", "loggerServiceFactory", "_bleDeviceConnectionFactory", "bleDevice", "bleGattService", "e", "bleDeviceInfos", "liftEither", "throwE", "bluetoothApi", "serviceUuid", "error", "uuid", "discoveredDevice", "internalDevice", "errorOrBleDevice", "fromPromise", "deviceId", "onDisconnect", "deviceModel", "writeCharacteristic", "notifyCharacteristic", "deviceConnection", "connectedDevice", "apdu", "triggersDisconnection", "disconnectObserver", "handler", "service", "writeC", "notifyC", "params", "maybeInternalDevice", "device", "dConnection", "__decorateClass", "__decorateParam"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var d=require("purify-ts"),p=require("../../../device-model/data/StaticDeviceModelDataSource"),h=require("../../../logger-publisher/service/DefaultLoggerPublisherService"),f=require("../../../transport/ble/model/BleDevice.stub"),m=require("../../../transport/ble/service/BleDeviceConnectionFactory.stub"),i=require("../../../transport/model/Errors"),v=require("../../../transport/usb/data/UsbHidConfig"),g=require("./WebBleTransport");jest.mock("@internal/logger-publisher/service/LoggerPublisherService");const b=new p.StaticDeviceModelDataSource,D=new h.DefaultLoggerPublisherService([],"web-ble"),r=(0,f.bleDeviceStubBuilder)();describe("WebBleTransport",()=>{let c;beforeEach(()=>{c=new g.WebBleTransport(b,()=>D,(0,m.bleDeviceConnectionFactoryStubBuilder)()),jest.useFakeTimers()}),afterEach(()=>{jest.restoreAllMocks()});const s=(n,e)=>{c.startDiscovering().subscribe({next:n,error:e})};describe("When Web bluetooth API is not supported",()=>{it("should not support the transport",()=>{expect(c.isSupported()).toBe(!1)}),it("should emit a startDiscovering error",n=>{s(()=>{n("Should not emit any value")},e=>{expect(e).toBeInstanceOf(i.BleTransportNotSupportedError),n()})})}),describe("When Web Bluetooth API is supported",()=>{const n=jest.fn();beforeAll(()=>{global.navigator={bluetooth:{requestDevice:n}}}),afterAll(()=>{jest.restoreAllMocks(),global.navigator=void 0}),it("should support the transport",()=>{expect(c.isSupported()).toBe(!0)}),describe("startDiscovering",()=>{it("should emit device if one new grant access",e=>{n.mockResolvedValueOnce(r),s(t=>{try{expect(t).toEqual(expect.objectContaining({deviceModel:expect.objectContaining({id:"nanoX",productName:"Ledger Nano X"})})),e()}catch(o){e(o)}},t=>{e(t)})}),it("should throw DeviceNotRecognizedError if the device is not recognized",e=>{n.mockResolvedValueOnce({...r,gatt:{...r.gatt,getPrimaryServices:jest.fn(()=>Promise.resolve([]))},productId:16962}),s(()=>{e("should not return a device")},t=>{expect(t).toBeInstanceOf(i.BleDeviceGattServerError),e()})}),it("should emit an error if the request device is in error",e=>{const t="request device error";n.mockImplementationOnce(()=>{throw new Error(t)}),s(()=>{e("should not return a device")},o=>{expect(o).toBeInstanceOf(i.NoAccessibleDeviceError),expect(o).toStrictEqual(new i.NoAccessibleDeviceError(new Error(t))),e()})}),it("should emit an error if the user did not grant us access to a device (clicking on cancel on the browser popup for ex)",e=>{n.mockResolvedValueOnce({forget:jest.fn()}),s(t=>{e(`Should not emit any value, but emitted ${JSON.stringify(t)}`)},t=>{try{expect(t).toBeInstanceOf(i.BleDeviceGattServerError),e()}catch(o){e(o)}})})}),describe("connect",()=>{it("should throw UnknownDeviceError if no internal device",async()=>{const e={deviceId:"fake",onDisconnect:jest.fn()},t=await c.connect(e);expect(t).toStrictEqual((0,d.Left)(new i.UnknownDeviceError("Unknown device fake")))}),it("should throw OpeningConnectionError if the device is already opened",async()=>{const e={deviceId:"fake",onDisconnect:jest.fn()},t=await c.connect(e);expect(t).toStrictEqual((0,d.Left)(new i.UnknownDeviceError("Unknown device fake")))}),it("should throw OpeningConnectionError if the device cannot be opened",e=>{const t="cannot be opened";n.mockResolvedValueOnce({...r,gatt:{connect:()=>{throw new Error(t)}}}),s(()=>{e()},o=>{expect(o).toBeInstanceOf(i.OpeningConnectionError),e()})}),it("should return the opened device",e=>{n.mockResolvedValueOnce({...r,gatt:{...r.gatt,connected:!0}}),s(t=>{c.connect({deviceId:t.id,onDisconnect:jest.fn()}).then(o=>{o.ifRight(a=>{expect(a).toEqual(expect.objectContaining({id:t.id})),e()}).ifLeft(()=>{e(o)})}).catch(o=>{e(o)})},t=>{e(t)})}),it("should return a device if available",e=>{n.mockResolvedValueOnce(r),s(t=>{c.connect({deviceId:t.id,onDisconnect:jest.fn()}).then(o=>{o.ifRight(a=>{expect(a).toEqual(expect.objectContaining({id:t.id})),e()}).ifLeft(()=>{e(o)})}).catch(o=>{e(o)})},t=>{e(t)})})}),describe("disconnect",()=>{it("should disconnect the device",e=>{n.mockResolvedValueOnce(r);const t=jest.fn();s(o=>{c.connect({deviceId:o.id,onDisconnect:t}).then(a=>{a.ifRight(l=>{c.disconnect({connectedDevice:l}).then(u=>{expect(u).toStrictEqual((0,d.Right)(void 0)),e()}).catch(u=>{e(u)})})})},o=>{e(o)})}),it("should call disconnect handler if device is hardware disconnected",e=>{const t=jest.fn(),o=jest.spyOn(c,"disconnect");n.mockResolvedValueOnce(r),s(a=>{c.connect({deviceId:a.id,onDisconnect:t}).then(()=>{r.ongattserverdisconnected(new Event("")),jest.advanceTimersByTime(v.RECONNECT_DEVICE_TIMEOUT),expect(o).toHaveBeenCalled(),e()})},a=>{e(a)})})}),describe("reconnect",()=>{it("should not call disconnection if reconnection happen",e=>{const t=jest.fn(),o=jest.spyOn(c,"disconnect");n.mockResolvedValueOnce(r),s(a=>{c.connect({deviceId:a.id,onDisconnect:t}).then(()=>{r.ongattserverdisconnected(new Event("")),jest.advanceTimersByTime(v.RECONNECT_DEVICE_TIMEOUT/3),expect(o).toHaveBeenCalledTimes(0),e()}).catch(l=>{e(l)})})})})})});
2
- //# sourceMappingURL=WebBleTransport.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/ble/transport/WebBleTransport.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type DeviceModel } from \"@api/device/DeviceModel\";\nimport { StaticDeviceModelDataSource } from \"@internal/device-model/data/StaticDeviceModelDataSource\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { bleDeviceStubBuilder } from \"@internal/transport/ble/model/BleDevice.stub\";\nimport { bleDeviceConnectionFactoryStubBuilder } from \"@internal/transport/ble/service/BleDeviceConnectionFactory.stub\";\nimport {\n BleDeviceGattServerError,\n BleTransportNotSupportedError,\n NoAccessibleDeviceError,\n OpeningConnectionError,\n UnknownDeviceError,\n} from \"@internal/transport/model/Errors\";\nimport { type InternalDiscoveredDevice } from \"@internal/transport/model/InternalDiscoveredDevice\";\nimport { RECONNECT_DEVICE_TIMEOUT } from \"@internal/transport/usb/data/UsbHidConfig\";\n\nimport { WebBleTransport } from \"./WebBleTransport\";\n\njest.mock(\"@internal/logger-publisher/service/LoggerPublisherService\");\n\n// Our StaticDeviceModelDataSource can directly be used in our unit tests\nconst bleDeviceModelDataSource = new StaticDeviceModelDataSource();\nconst logger = new DefaultLoggerPublisherService([], \"web-ble\");\n\nconst stubDevice: BluetoothDevice = bleDeviceStubBuilder();\n\ndescribe(\"WebBleTransport\", () => {\n let transport: WebBleTransport;\n\n beforeEach(() => {\n transport = new WebBleTransport(\n bleDeviceModelDataSource,\n () => logger,\n bleDeviceConnectionFactoryStubBuilder(),\n );\n jest.useFakeTimers();\n });\n\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n const discoverDevice = (\n onSuccess: (discoveredDevice: InternalDiscoveredDevice) => void,\n onError?: (error: unknown) => void,\n ) => {\n transport.startDiscovering().subscribe({\n next: onSuccess,\n error: onError,\n });\n };\n\n describe(\"When Web bluetooth API is not supported\", () => {\n it(\"should not support the transport\", () => {\n expect(transport.isSupported()).toBe(false);\n });\n\n it(\"should emit a startDiscovering error\", (done) => {\n discoverDevice(\n () => {\n done(\"Should not emit any value\");\n },\n (error) => {\n expect(error).toBeInstanceOf(BleTransportNotSupportedError);\n done();\n },\n );\n });\n });\n\n describe(\"When Web Bluetooth API is supported\", () => {\n const mockedRequestDevice = jest.fn();\n\n beforeAll(() => {\n global.navigator = {\n bluetooth: {\n requestDevice: mockedRequestDevice,\n },\n } as unknown as Navigator;\n });\n\n afterAll(() => {\n jest.restoreAllMocks();\n global.navigator = undefined as unknown as Navigator;\n });\n\n it(\"should support the transport\", () => {\n expect(transport.isSupported()).toBe(true);\n });\n\n describe(\"startDiscovering\", () => {\n it(\"should emit device if one new grant access\", (done) => {\n mockedRequestDevice.mockResolvedValueOnce(stubDevice);\n\n discoverDevice(\n (discoveredDevice) => {\n try {\n expect(discoveredDevice).toEqual(\n expect.objectContaining({\n deviceModel: expect.objectContaining({\n id: \"nanoX\",\n productName: \"Ledger Nano X\",\n }) as DeviceModel,\n }),\n );\n\n done();\n } catch (expectError) {\n done(expectError);\n }\n },\n (error) => {\n done(error);\n },\n );\n });\n\n it(\"should throw DeviceNotRecognizedError if the device is not recognized\", (done) => {\n mockedRequestDevice.mockResolvedValueOnce({\n ...stubDevice,\n gatt: {\n ...stubDevice.gatt,\n getPrimaryServices: jest.fn(() => Promise.resolve([])),\n },\n productId: 0x4242,\n });\n\n discoverDevice(\n () => {\n done(\"should not return a device\");\n },\n (error) => {\n expect(error).toBeInstanceOf(BleDeviceGattServerError);\n done();\n },\n );\n });\n\n it(\"should emit an error if the request device is in error\", (done) => {\n const message = \"request device error\";\n mockedRequestDevice.mockImplementationOnce(() => {\n throw new Error(message);\n });\n\n discoverDevice(\n () => {\n done(\"should not return a device\");\n },\n (error) => {\n expect(error).toBeInstanceOf(NoAccessibleDeviceError);\n expect(error).toStrictEqual(\n new NoAccessibleDeviceError(new Error(message)),\n );\n done();\n },\n );\n });\n\n it(\"should emit an error if the user did not grant us access to a device (clicking on cancel on the browser popup for ex)\", (done) => {\n mockedRequestDevice.mockResolvedValueOnce({ forget: jest.fn() });\n\n discoverDevice(\n (discoveredDevice) => {\n done(\n `Should not emit any value, but emitted ${JSON.stringify(\n discoveredDevice,\n )}`,\n );\n },\n (error) => {\n try {\n expect(error).toBeInstanceOf(BleDeviceGattServerError);\n done();\n } catch (expectError) {\n done(expectError);\n }\n },\n );\n });\n });\n\n describe(\"connect\", () => {\n it(\"should throw UnknownDeviceError if no internal device\", async () => {\n const connectParams = {\n deviceId: \"fake\",\n onDisconnect: jest.fn(),\n };\n\n const connect = await transport.connect(connectParams);\n\n expect(connect).toStrictEqual(\n Left(new UnknownDeviceError(\"Unknown device fake\")),\n );\n });\n\n it(\"should throw OpeningConnectionError if the device is already opened\", async () => {\n const device = {\n deviceId: \"fake\",\n onDisconnect: jest.fn(),\n };\n\n const connect = await transport.connect(device);\n\n expect(connect).toStrictEqual(\n Left(new UnknownDeviceError(\"Unknown device fake\")),\n );\n });\n\n it(\"should throw OpeningConnectionError if the device cannot be opened\", (done) => {\n const message = \"cannot be opened\";\n mockedRequestDevice.mockResolvedValueOnce({\n ...stubDevice,\n gatt: {\n connect: () => {\n throw new Error(message);\n },\n },\n });\n\n discoverDevice(\n () => {\n done();\n },\n (error) => {\n expect(error).toBeInstanceOf(OpeningConnectionError);\n done();\n },\n );\n });\n\n it(\"should return the opened device\", (done) => {\n mockedRequestDevice.mockResolvedValueOnce({\n ...stubDevice,\n gatt: {\n ...stubDevice.gatt,\n connected: true,\n },\n });\n\n discoverDevice(\n (discoveredDevice) => {\n transport\n .connect({\n deviceId: discoveredDevice.id,\n onDisconnect: jest.fn(),\n })\n .then((connectedDevice) => {\n connectedDevice\n .ifRight((device) => {\n expect(device).toEqual(\n expect.objectContaining({ id: discoveredDevice.id }),\n );\n done();\n })\n .ifLeft(() => {\n done(connectedDevice);\n });\n })\n .catch((error) => {\n done(error);\n });\n },\n (error) => {\n done(error);\n },\n );\n });\n\n it(\"should return a device if available\", (done) => {\n mockedRequestDevice.mockResolvedValueOnce(stubDevice);\n\n discoverDevice(\n (discoveredDevice) => {\n transport\n .connect({\n deviceId: discoveredDevice.id,\n onDisconnect: jest.fn(),\n })\n .then((connectedDevice) => {\n connectedDevice\n .ifRight((device) => {\n expect(device).toEqual(\n expect.objectContaining({ id: discoveredDevice.id }),\n );\n done();\n })\n .ifLeft(() => {\n done(connectedDevice);\n });\n })\n .catch((error) => {\n done(error);\n });\n },\n (error) => {\n done(error);\n },\n );\n });\n });\n\n describe(\"disconnect\", () => {\n it(\"should disconnect the device\", (done) => {\n mockedRequestDevice.mockResolvedValueOnce(stubDevice);\n\n const onDisconnect = jest.fn();\n\n discoverDevice(\n (discoveredDevice) => {\n transport\n .connect({\n deviceId: discoveredDevice.id,\n onDisconnect,\n })\n .then((connectedDevice) => {\n connectedDevice.ifRight((device) => {\n transport\n .disconnect({ connectedDevice: device })\n .then((value) => {\n expect(value).toStrictEqual(Right(void 0));\n done();\n })\n .catch((error) => {\n done(error);\n });\n });\n });\n },\n (error) => {\n done(error);\n },\n );\n });\n it(\"should call disconnect handler if device is hardware disconnected\", (done) => {\n const onDisconnect = jest.fn();\n const disconnectSpy = jest.spyOn(transport, \"disconnect\");\n mockedRequestDevice.mockResolvedValueOnce(stubDevice);\n\n discoverDevice(\n (discoveredDevice) => {\n transport\n .connect({\n deviceId: discoveredDevice.id,\n onDisconnect,\n })\n .then(() => {\n stubDevice.ongattserverdisconnected(new Event(\"\"));\n jest.advanceTimersByTime(RECONNECT_DEVICE_TIMEOUT);\n expect(disconnectSpy).toHaveBeenCalled();\n done();\n });\n },\n (error) => {\n done(error);\n },\n );\n });\n });\n\n describe(\"reconnect\", () => {\n it(\"should not call disconnection if reconnection happen\", (done) => {\n // given\n const onDisconnect = jest.fn();\n const disconnectSpy = jest.spyOn(transport, \"disconnect\");\n mockedRequestDevice.mockResolvedValueOnce(stubDevice);\n\n // when\n discoverDevice((discoveredDevice) => {\n transport\n .connect({\n deviceId: discoveredDevice.id,\n onDisconnect,\n })\n .then(() => {\n stubDevice.ongattserverdisconnected(new Event(\"\"));\n\n jest.advanceTimersByTime(RECONNECT_DEVICE_TIMEOUT / 3);\n\n // then\n expect(disconnectSpy).toHaveBeenCalledTimes(0);\n done();\n })\n .catch((error) => {\n done(error);\n });\n });\n });\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_purify_ts", "import_StaticDeviceModelDataSource", "import_DefaultLoggerPublisherService", "import_BleDevice", "import_BleDeviceConnectionFactory", "import_Errors", "import_UsbHidConfig", "import_WebBleTransport", "bleDeviceModelDataSource", "logger", "stubDevice", "transport", "discoverDevice", "onSuccess", "onError", "done", "error", "mockedRequestDevice", "discoveredDevice", "expectError", "message", "connectParams", "connect", "device", "connectedDevice", "onDisconnect", "value", "disconnectSpy"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},a=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of p(t))!c.call(e,n)&&n!==r&&s(e,n,{get:()=>t[n],enumerable:!(o=i(t,n))||o.enumerable});return e};var j=e=>a(s({},"__esModule",{value:!0}),e);var v={};f(v,{WebBleTransport:()=>d,usbHidTransportMockBuilder:()=>l});module.exports=j(v);class d{listenToKnownDevices(){throw new Error("Method not implemented.")}isSupported=jest.fn();getIdentifier=jest.fn();connect=jest.fn();startDiscovering=jest.fn();stopDiscovering=jest.fn();disconnect=jest.fn()}function l(e={}){return{isSupported:jest.fn(),getIdentifier:jest.fn(),startDiscovering:jest.fn(),stopDiscovering:jest.fn(),connect:jest.fn(),disconnect:jest.fn(),listenToKnownDevices:jest.fn(),...e}}0&&(module.exports={WebBleTransport,usbHidTransportMockBuilder});
2
- //# sourceMappingURL=WebBleTransport.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../../src/internal/transport/ble/transport/__mocks__/WebBleTransport.ts"],
4
- "sourcesContent": ["import { type Observable } from \"rxjs\";\n\nimport { type Transport } from \"@api/transport/model/Transport\";\nimport { type InternalDiscoveredDevice } from \"@internal/transport/model/InternalDiscoveredDevice\";\n\nexport class WebBleTransport implements Transport {\n listenToKnownDevices(): Observable<InternalDiscoveredDevice[]> {\n throw new Error(\"Method not implemented.\");\n }\n isSupported = jest.fn();\n getIdentifier = jest.fn();\n connect = jest.fn();\n startDiscovering = jest.fn();\n stopDiscovering = jest.fn();\n\n disconnect = jest.fn();\n}\n\nexport function usbHidTransportMockBuilder(\n props: Partial<Transport> = {},\n): Transport {\n return {\n isSupported: jest.fn(),\n getIdentifier: jest.fn(),\n startDiscovering: jest.fn(),\n stopDiscovering: jest.fn(),\n connect: jest.fn(),\n disconnect: jest.fn(),\n listenToKnownDevices: jest.fn(),\n ...props,\n };\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,+BAAAC,IAAA,eAAAC,EAAAJ,GAKO,MAAME,CAAqC,CAChD,sBAA+D,CAC7D,MAAM,IAAI,MAAM,yBAAyB,CAC3C,CACA,YAAc,KAAK,GAAG,EACtB,cAAgB,KAAK,GAAG,EACxB,QAAU,KAAK,GAAG,EAClB,iBAAmB,KAAK,GAAG,EAC3B,gBAAkB,KAAK,GAAG,EAE1B,WAAa,KAAK,GAAG,CACvB,CAEO,SAASC,EACdE,EAA4B,CAAC,EAClB,CACX,MAAO,CACL,YAAa,KAAK,GAAG,EACrB,cAAe,KAAK,GAAG,EACvB,iBAAkB,KAAK,GAAG,EAC1B,gBAAiB,KAAK,GAAG,EACzB,QAAS,KAAK,GAAG,EACjB,WAAY,KAAK,GAAG,EACpB,qBAAsB,KAAK,GAAG,EAC9B,GAAGA,CACL,CACF",
6
- "names": ["WebBleTransport_exports", "__export", "WebBleTransport", "usbHidTransportMockBuilder", "__toCommonJS", "props"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var B=(t,r)=>{for(var s in r)a(t,s,{get:r[s],enumerable:!0})},b=(t,r,s,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of c(r))!l.call(t,o)&&o!==s&&a(t,o,{get:()=>r[o],enumerable:!(n=T(r,o))||n.enumerable});return t};var u=t=>b(a({},"__esModule",{value:!0}),t);var E={};B(E,{TransportDataSource:()=>i});module.exports=u(E);var p=require("../../../api/transport/model/TransportIdentifier"),e=require("../../transport/ble/transport/WebBleTransport"),m=require("../../transport/mockserver/MockserverTransport"),f=require("../../transport/usb/transport/WebUsbHidTransport");class i{static transports={[p.BuiltinTransports.USB]:f.WebUsbHidTransport,[p.BuiltinTransports.MOCK_SERVER]:m.MockTransport,[p.BuiltinTransports.BLE]:e.WebBleTransport};static get(r){return i.transports[r]}}0&&(module.exports={TransportDataSource});
2
- //# sourceMappingURL=TransportDataSource.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/data/TransportDataSource.ts"],
4
- "sourcesContent": ["import { type interfaces } from \"inversify\";\n\nimport { type Transport } from \"@api/transport/model/Transport\";\nimport { BuiltinTransports } from \"@api/transport/model/TransportIdentifier\";\nimport { WebBleTransport } from \"@internal/transport/ble/transport/WebBleTransport\";\nimport { MockTransport } from \"@internal/transport/mockserver/MockserverTransport\";\nimport { WebUsbHidTransport } from \"@internal/transport/usb/transport/WebUsbHidTransport\";\n\nexport class TransportDataSource {\n private static transports: {\n [transport in BuiltinTransports]: interfaces.Newable<Transport>;\n } = {\n [BuiltinTransports.USB]: WebUsbHidTransport,\n [BuiltinTransports.MOCK_SERVER]: MockTransport,\n [BuiltinTransports.BLE]: WebBleTransport,\n };\n\n static get(transport: BuiltinTransports): interfaces.Newable<Transport> {\n return TransportDataSource.transports[transport];\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAAkC,oDAClCC,EAAgC,6DAChCC,EAA8B,8DAC9BC,EAAmC,gEAE5B,MAAML,CAAoB,CAC/B,OAAe,WAEX,CACF,CAAC,oBAAkB,GAAG,EAAG,qBACzB,CAAC,oBAAkB,WAAW,EAAG,gBACjC,CAAC,oBAAkB,GAAG,EAAG,iBAC3B,EAEA,OAAO,IAAIM,EAA6D,CACtE,OAAON,EAAoB,WAAWM,CAAS,CACjD,CACF",
6
- "names": ["TransportDataSource_exports", "__export", "TransportDataSource", "__toCommonJS", "import_TransportIdentifier", "import_WebBleTransport", "import_MockserverTransport", "import_WebUsbHidTransport", "transport"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var y=(o,e)=>{for(var r in e)p(o,r,{get:e[r],enumerable:!0})},k=(o,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of I(e))!C.call(o,n)&&n!==r&&p(o,n,{get:()=>e[n],enumerable:!(t=u(e,n))||t.enumerable});return o};var E=o=>k(p({},"__esModule",{value:!0}),o),v=(o,e,r,t)=>{for(var n=t>1?void 0:t?u(e,r):e,i=o.length-1,l;i>=0;i--)(l=o[i])&&(n=(t?l(e,r,n):l(n))||n);return t&&n&&p(e,r,n),n},g=(o,e)=>(r,t)=>e(r,t,o);var S={};y(S,{MockTransport:()=>d});module.exports=E(S);var D=require("@ledgerhq/device-transport-kit-mock-client"),m=require("inversify"),s=require("purify-ts"),a=require("rxjs"),f=require("../../../api/transport/model/TransportIdentifier"),h=require("../../logger-publisher/di/loggerTypes"),b=require("../../transport/di/transportDiTypes"),c=require("../../transport/model/Errors");let d=class{logger;mockClient;identifier=f.BuiltinTransports.MOCK_SERVER;constructor(e,r){this.logger=e("MockTransport"),this.mockClient=new D.MockClient(r.mockUrl)}isSupported(){return!0}getIdentifier(){return this.identifier}listenToKnownDevices(){return(0,a.from)([])}startDiscovering(){return this.logger.debug("startDiscovering"),(0,a.from)(this.mockClient.scan().then(e=>e.map(r=>({id:r.id,deviceModel:{id:r.device_type,productName:r.name,usbProductId:16,legacyUsbProductId:1,bootloaderUsbProductId:16,getBlockSize(){return 32},usbOnly:!0,memorySize:320*1024,masks:[823132160]},transport:this.identifier})))).pipe((0,a.mergeMap)(e=>e))}stopDiscovering(){this.logger.debug("stopDiscovering")}async connect(e){this.logger.debug("connect");const r=e.deviceId;try{const t=await this.mockClient.connect(r),n={sendApdu:i=>this.sendApdu(r,e.deviceId,e.onDisconnect,i),deviceModel:{id:t.device.device_type,productName:t.device.name,usbProductId:16,legacyUsbProductId:1,bootloaderUsbProductId:16,getBlockSize(){return 32},usbOnly:!0,memorySize:320*1024,masks:[823132160]},id:e.deviceId,type:t.device.connectivity_type,transport:this.identifier};return(0,s.Right)(n)}catch(t){return(0,s.Left)(new c.OpeningConnectionError(t))}}async disconnect(e){this.logger.debug("disconnect");const r=e.connectedDevice.id;try{return await this.mockClient.disconnect(r)?(0,s.Right)(void 0):(0,s.Left)(new c.DisconnectError(new Error(`Failed to disconnect ${r}`)))}catch(t){return(0,s.Left)(new c.DisconnectError(t))}}async sendApdu(e,r,t,n){this.logger.debug("send");try{const i=await this.mockClient.send(e,n);return(0,s.Right)({statusCode:this.mockClient.fromHexString(i.response.substring(i.response.length-4,i.response.length)),data:this.mockClient.fromHexString(i.response.substring(0,i.response.length-4))})}catch(i){return t(r),(0,s.Left)(new c.NoAccessibleDeviceError(i))}}};d=v([(0,m.injectable)(),g(0,(0,m.inject)(h.loggerTypes.LoggerPublisherServiceFactory)),g(1,(0,m.inject)(b.transportDiTypes.DmkConfig))],d);0&&(module.exports={MockTransport});
2
- //# sourceMappingURL=MockserverTransport.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/mockserver/MockserverTransport.ts"],
4
- "sourcesContent": ["/* istanbul ignore file */\n// pragma to ignore this file from coverage\nimport {\n CommandResponse,\n Device,\n MockClient,\n Session,\n} from \"@ledgerhq/device-transport-kit-mock-client\";\nimport { inject, injectable } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\nimport { from, mergeMap, Observable } from \"rxjs\";\n\nimport { DeviceId } from \"@api/device/DeviceModel\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\nimport type { DmkConfig } from \"@api/DmkConfig\";\nimport { DmkError } from \"@api/Error\";\nimport { Transport } from \"@api/transport/model/Transport\";\nimport {\n BuiltinTransports,\n TransportIdentifier,\n} from \"@api/transport/model/TransportIdentifier\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { LoggerPublisherService } from \"@internal/logger-publisher/service/LoggerPublisherService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { DisconnectHandler } from \"@internal/transport/model/DeviceConnection\";\nimport {\n ConnectError,\n DisconnectError,\n NoAccessibleDeviceError,\n OpeningConnectionError,\n} from \"@internal/transport/model/Errors\";\nimport { InternalConnectedDevice } from \"@internal/transport/model/InternalConnectedDevice\";\nimport { InternalDiscoveredDevice } from \"@internal/transport/model/InternalDiscoveredDevice\";\n\n@injectable()\nexport class MockTransport implements Transport {\n private logger: LoggerPublisherService;\n private mockClient: MockClient;\n private readonly identifier: TransportIdentifier =\n BuiltinTransports.MOCK_SERVER;\n\n constructor(\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n @inject(transportDiTypes.DmkConfig) config: DmkConfig,\n ) {\n this.logger = loggerServiceFactory(\"MockTransport\");\n this.mockClient = new MockClient(config.mockUrl);\n }\n\n isSupported(): boolean {\n return true;\n }\n\n getIdentifier(): TransportIdentifier {\n return this.identifier;\n }\n\n listenToKnownDevices(): Observable<InternalDiscoveredDevice[]> {\n return from([]);\n }\n\n startDiscovering(): Observable<InternalDiscoveredDevice> {\n this.logger.debug(\"startDiscovering\");\n return from(\n this.mockClient.scan().then((devices: Device[]) => {\n return devices.map((device: Device) => {\n return {\n id: device.id,\n deviceModel: {\n id: device.device_type,\n productName: device.name,\n usbProductId: 0x10,\n legacyUsbProductId: 0x0001,\n bootloaderUsbProductId: 0x10,\n getBlockSize() {\n return 32;\n },\n usbOnly: true,\n memorySize: 320 * 1024,\n masks: [0x31100000],\n },\n transport: this.identifier,\n } as InternalDiscoveredDevice;\n });\n }),\n ).pipe(mergeMap((device) => device));\n }\n\n stopDiscovering(): void {\n //DO NOTHING HERE\n this.logger.debug(\"stopDiscovering\");\n }\n\n async connect(params: {\n deviceId: DeviceId;\n onDisconnect: DisconnectHandler;\n }): Promise<Either<ConnectError, InternalConnectedDevice>> {\n this.logger.debug(\"connect\");\n const sessionId: string = params.deviceId;\n try {\n const session: Session = await this.mockClient.connect(sessionId);\n const connectedDevice = {\n sendApdu: (apdu) => {\n return this.sendApdu(\n sessionId,\n params.deviceId,\n params.onDisconnect,\n apdu,\n );\n },\n deviceModel: {\n id: session.device.device_type,\n productName: session.device.name,\n usbProductId: 0x10,\n legacyUsbProductId: 0x0001,\n bootloaderUsbProductId: 0x10,\n getBlockSize() {\n return 32;\n },\n usbOnly: true,\n memorySize: 320 * 1024,\n masks: [0x31100000],\n },\n id: params.deviceId,\n type: session.device.connectivity_type,\n transport: this.identifier,\n } as InternalConnectedDevice;\n return Right(connectedDevice);\n } catch (error) {\n return Left(new OpeningConnectionError(error as Error));\n }\n }\n\n async disconnect(params: {\n connectedDevice: InternalConnectedDevice;\n }): Promise<Either<DmkError, void>> {\n this.logger.debug(\"disconnect\");\n const sessionId: string = params.connectedDevice.id;\n try {\n const success: boolean = await this.mockClient.disconnect(sessionId);\n if (!success) {\n return Left(\n new DisconnectError(new Error(`Failed to disconnect ${sessionId}`)),\n );\n }\n return Right(void 0);\n } catch (error) {\n return Left(new DisconnectError(error as Error));\n }\n }\n\n async sendApdu(\n sessionId: string,\n deviceId: DeviceId,\n onDisconnect: DisconnectHandler,\n apdu: Uint8Array,\n ): Promise<Either<DmkError, ApduResponse>> {\n this.logger.debug(\"send\");\n try {\n const response: CommandResponse = await this.mockClient.send(\n sessionId,\n apdu,\n );\n return Right({\n statusCode: this.mockClient.fromHexString(\n response.response.substring(\n response.response.length - 4,\n response.response.length,\n ),\n ),\n data: this.mockClient.fromHexString(\n response.response.substring(0, response.response.length - 4),\n ),\n } as ApduResponse);\n } catch (error) {\n onDisconnect(deviceId);\n return Left(new NoAccessibleDeviceError(error as Error));\n }\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["MockserverTransport_exports", "__export", "MockTransport", "__toCommonJS", "import_device_transport_kit_mock_client", "import_inversify", "import_purify_ts", "import_rxjs", "import_TransportIdentifier", "import_loggerTypes", "import_transportDiTypes", "import_Errors", "MockTransport", "loggerServiceFactory", "config", "devices", "device", "params", "sessionId", "session", "connectedDevice", "apdu", "error", "deviceId", "onDisconnect", "response", "__decorateClass", "__decorateParam"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var p=(o,e)=>{for(var r in e)s(o,r,{get:e[r],enumerable:!0})},l=(o,e,r,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of a(e))!i.call(o,t)&&t!==r&&s(o,t,{get:()=>e[t],enumerable:!(c=d(e,t))||c.enumerable});return o};var u=o=>l(s({},"__esModule",{value:!0}),o);var T={};p(T,{BleDeviceGattServerError:()=>A,BleTransportNotSupportedError:()=>k,DeviceAlreadyConnectedError:()=>C,DeviceNotInitializedError:()=>m,DeviceNotRecognizedError:()=>E,DisconnectError:()=>N,HidSendReportError:()=>_,NoAccessibleDeviceError:()=>y,OpeningConnectionError:()=>v,ReconnectionFailedError:()=>S,SendApduConcurrencyError:()=>w,TransportNotSupportedError:()=>g,UnknownDeviceError:()=>x,UsbHidTransportNotSupportedError:()=>D});module.exports=u(T);class n{_tag="GeneralDmkError";originalError;constructor(e){e instanceof Error?this.originalError=e:e!==void 0&&(this.originalError=new Error(String(e)))}}class E extends n{constructor(r){super(r);this.err=r}_tag="DeviceNotRecognizedError"}class y extends n{constructor(r){super(r);this.err=r}_tag="NoAccessibleDeviceError"}class v extends n{constructor(r){super(r);this.err=r}_tag="ConnectionOpeningError"}class x extends n{constructor(r){super(r);this.err=r}_tag="UnknownDeviceError"}class g extends n{constructor(r){super(r);this.err=r}_tag="TransportNotSupportedError"}class k extends n{constructor(r){super(r);this.err=r}_tag="BleTransportNotSupportedError"}class D extends n{constructor(r){super(r);this.err=r}_tag="UsbHidTransportNotSupportedError"}class w extends n{constructor(r){super(r);this.err=r}_tag="SendApduConcurrencyError"}class N extends n{constructor(r){super(r);this.err=r}_tag="DisconnectError"}class S extends n{constructor(r){super(r);this.err=r}_tag="ReconnectionFailedError"}class _ extends n{constructor(r){super(r);this.err=r}_tag="HidSendReportError"}class m extends n{constructor(r){super(r);this.err=r}_tag="DeviceNotInitializedError"}class A extends n{constructor(r){super(r);this.err=r}_tag="BleDeviceGattServerError"}class C extends n{constructor(r){super(r);this.err=r}_tag="DeviceAlreadyDiscoveredError"}0&&(module.exports={BleDeviceGattServerError,BleTransportNotSupportedError,DeviceAlreadyConnectedError,DeviceNotInitializedError,DeviceNotRecognizedError,DisconnectError,HidSendReportError,NoAccessibleDeviceError,OpeningConnectionError,ReconnectionFailedError,SendApduConcurrencyError,TransportNotSupportedError,UnknownDeviceError,UsbHidTransportNotSupportedError});
2
- //# sourceMappingURL=Errors.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/model/Errors.ts"],
4
- "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport type PromptDeviceAccessError =\n | UsbHidTransportNotSupportedError\n | BleTransportNotSupportedError\n | NoAccessibleDeviceError;\n\nexport type ConnectError =\n | UnknownDeviceError\n | OpeningConnectionError\n | DeviceAlreadyConnectedError;\n\nclass 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 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 BleTransportNotSupportedError extends GeneralDmkError {\n override readonly _tag = \"BleTransportNotSupportedError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class UsbHidTransportNotSupportedError extends GeneralDmkError {\n override readonly _tag = \"UsbHidTransportNotSupportedError\";\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 HidSendReportError extends GeneralDmkError {\n override readonly _tag = \"HidSendReportError\";\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 BleDeviceGattServerError extends GeneralDmkError {\n override readonly _tag = \"BleDeviceGattServerError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n\nexport class DeviceAlreadyConnectedError extends GeneralDmkError {\n override readonly _tag = \"DeviceAlreadyDiscoveredError\";\n constructor(readonly err?: unknown) {\n super(err);\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8BAAAE,EAAA,kCAAAC,EAAA,gCAAAC,EAAA,8BAAAC,EAAA,6BAAAC,EAAA,oBAAAC,EAAA,uBAAAC,EAAA,4BAAAC,EAAA,2BAAAC,EAAA,4BAAAC,EAAA,6BAAAC,EAAA,+BAAAC,EAAA,uBAAAC,EAAA,qCAAAC,IAAA,eAAAC,EAAAhB,GAYA,MAAMiB,CAAoC,CACxC,KAAO,kBACP,cACA,YAAYC,EAAe,CACrBA,aAAe,MACjB,KAAK,cAAgBA,EACZA,IAAQ,SACjB,KAAK,cAAgB,IAAI,MAAM,OAAOA,CAAG,CAAC,EAE9C,CACF,CAEO,MAAMZ,UAAiCW,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMT,UAAgCQ,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMR,UAA+BO,CAAgB,CAE1D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,wBAI3B,CAEO,MAAMJ,UAA2BG,CAAgB,CAEtD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,oBAI3B,CAEO,MAAML,UAAmCI,CAAgB,CAE9D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,4BAI3B,CAEO,MAAMf,UAAsCc,CAAgB,CAEjE,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,+BAI3B,CAEO,MAAMH,UAAyCE,CAAgB,CAEpE,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,kCAI3B,CAEO,MAAMN,UAAiCK,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMX,UAAwBU,CAAgB,CAEnD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,iBAI3B,CAEO,MAAMP,UAAgCM,CAAgB,CAE3D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,yBAI3B,CAEO,MAAMV,UAA2BS,CAAgB,CAEtD,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,oBAI3B,CAEO,MAAMb,UAAkCY,CAAgB,CAE7D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,2BAI3B,CAEO,MAAMhB,UAAiCe,CAAgB,CAE5D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,0BAI3B,CAEO,MAAMd,UAAoCa,CAAgB,CAE/D,YAAqBC,EAAe,CAClC,MAAMA,CAAG,EADU,SAAAA,CAErB,CAHkB,KAAO,8BAI3B",
6
- "names": ["Errors_exports", "__export", "BleDeviceGattServerError", "BleTransportNotSupportedError", "DeviceAlreadyConnectedError", "DeviceNotInitializedError", "DeviceNotRecognizedError", "DisconnectError", "HidSendReportError", "NoAccessibleDeviceError", "OpeningConnectionError", "ReconnectionFailedError", "SendApduConcurrencyError", "TransportNotSupportedError", "UnknownDeviceError", "UsbHidTransportNotSupportedError", "__toCommonJS", "GeneralDmkError", "err"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var i=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var s=(n,e)=>{for(var o in e)i(n,o,{get:e[o],enumerable:!0})},y=(n,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of c(e))!l.call(n,t)&&t!==o&&i(n,t,{get:()=>e[t],enumerable:!(r=d(e,t))||r.enumerable});return n};var a=n=>y(i({},"__esModule",{value:!0}),n);var v={};s(v,{InternalConnectedDevice:()=>u});module.exports=a(v);class u{id;deviceModel;sendApdu;type;transport;constructor({id:e,deviceModel:o,type:r,transport:t,sendApdu:p}){this.id=e,this.deviceModel=o,this.sendApdu=p,this.type=r,this.transport=t}}0&&(module.exports={InternalConnectedDevice});
2
- //# sourceMappingURL=InternalConnectedDevice.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/model/InternalConnectedDevice.ts"],
4
- "sourcesContent": ["import { type DeviceId } from \"@api/device/DeviceModel\";\nimport { type ConnectionType } from \"@api/discovery/ConnectionType\";\nimport { type TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { type InternalDeviceModel } from \"@internal/device-model/model/DeviceModel\";\nimport { type SendApduFnType } from \"@internal/transport/model/DeviceConnection\";\n\n/**\n * The internal connected device.\n */\nexport type ConnectedDeviceConstructorArgs = {\n id: DeviceId;\n deviceModel: InternalDeviceModel;\n type: ConnectionType;\n transport: TransportIdentifier;\n sendApdu: SendApduFnType;\n};\n\nexport class InternalConnectedDevice {\n public readonly id: DeviceId;\n public readonly deviceModel: InternalDeviceModel;\n public readonly sendApdu: SendApduFnType;\n public readonly type: ConnectionType;\n public readonly transport: TransportIdentifier;\n\n constructor({\n id,\n deviceModel,\n type,\n transport,\n sendApdu,\n }: ConnectedDeviceConstructorArgs) {\n this.id = id;\n this.deviceModel = deviceModel;\n this.sendApdu = sendApdu;\n this.type = type;\n this.transport = transport;\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GAiBO,MAAME,CAAwB,CACnB,GACA,YACA,SACA,KACA,UAEhB,YAAY,CACV,GAAAE,EACA,YAAAC,EACA,KAAAC,EACA,UAAAC,EACA,SAAAC,CACF,EAAmC,CACjC,KAAK,GAAKJ,EACV,KAAK,YAAcC,EACnB,KAAK,SAAWG,EAChB,KAAK,KAAOF,EACZ,KAAK,UAAYC,CACnB,CACF",
6
- "names": ["InternalConnectedDevice_exports", "__export", "InternalConnectedDevice", "__toCommonJS", "id", "deviceModel", "type", "transport", "sendApdu"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var n in e)o(t,n,{get:e[n],enumerable:!0})},a=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of l(e))!m.call(t,r)&&r!==n&&o(t,r,{get:()=>e[r],enumerable:!(i=p(e,r))||i.enumerable});return t};var f=t=>a(o({},"__esModule",{value:!0}),t);var D={};v(D,{connectedDeviceStubBuilder:()=>C});module.exports=f(D);var c=require("purify-ts"),d=require("../../../api/device-session/ApduResponse.stub"),s=require("../../device-model/model/DeviceModel.stub"),u=require("../../transport/model/InternalConnectedDevice");function C(t={}){const e=(0,s.deviceModelStubBuilder)();return new u.InternalConnectedDevice({deviceModel:e,id:"42",type:"MOCK",transport:"USB",sendApdu:jest.fn(async()=>Promise.resolve((0,c.Right)((0,d.defaultApduResponseStubBuilder)()))),...t})}0&&(module.exports={connectedDeviceStubBuilder});
2
- //# sourceMappingURL=InternalConnectedDevice.stub.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/model/InternalConnectedDevice.stub.ts"],
4
- "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\nimport { deviceModelStubBuilder } from \"@internal/device-model/model/DeviceModel.stub\";\nimport {\n type ConnectedDeviceConstructorArgs,\n InternalConnectedDevice,\n} from \"@internal/transport/model/InternalConnectedDevice\";\n\nexport function connectedDeviceStubBuilder(\n props: Partial<ConnectedDeviceConstructorArgs> = {},\n): InternalConnectedDevice {\n const deviceModel = deviceModelStubBuilder();\n return new InternalConnectedDevice({\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": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsB,qBAEtBC,EAA+C,iDAC/CC,EAAuC,yDACvCC,EAGO,6DAEA,SAASL,EACdM,EAAiD,CAAC,EACzB,CACzB,MAAMC,KAAc,0BAAuB,EAC3C,OAAO,IAAI,0BAAwB,CACjC,YAAAA,EACA,GAAI,KACJ,KAAM,OACN,UAAW,MACX,SAAU,KAAK,GAAG,SAChB,QAAQ,WAAQ,YAAM,kCAA+B,CAAC,CAAC,CACzD,EACA,GAAGD,CACL,CAAC,CACH",
6
- "names": ["InternalConnectedDevice_stub_exports", "__export", "connectedDeviceStubBuilder", "__toCommonJS", "import_purify_ts", "import_ApduResponse", "import_DeviceModel", "import_InternalConnectedDevice", "props", "deviceModel"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var t=require("purify-ts"),r=require("../../../api/device-session/ApduResponse.stub"),o=require("../../device-model/model/DeviceModel.stub"),c=require("../../transport/model/InternalConnectedDevice"),n=require("../../transport/model/InternalConnectedDevice.stub");describe("InternalConnectedDevice",()=>{let e;beforeEach(()=>{e=(0,n.connectedDeviceStubBuilder)()}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(c.InternalConnectedDevice)}),it("should return the correct id",()=>{expect(e.id).toEqual("42")}),it("should return the correct device model",()=>{expect(JSON.stringify(e.deviceModel)).toEqual(JSON.stringify((0,o.deviceModelStubBuilder)()))}),it("should return the correct type",()=>{expect(e.type).toEqual("MOCK")}),it("should return the correct send apdu response",()=>{expect(e.sendApdu(new Uint8Array)).resolves.toMatchObject((0,t.Right)((0,r.defaultApduResponseStubBuilder)()))})});
2
- //# sourceMappingURL=InternalConnectedDevice.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/model/InternalConnectedDevice.test.ts"],
4
- "sourcesContent": ["import { Right } from \"purify-ts\";\n\nimport { defaultApduResponseStubBuilder } from \"@api/device-session/ApduResponse.stub\";\nimport { deviceModelStubBuilder } from \"@internal/device-model/model/DeviceModel.stub\";\nimport { InternalConnectedDevice } from \"@internal/transport/model/InternalConnectedDevice\";\nimport { connectedDeviceStubBuilder } from \"@internal/transport/model/InternalConnectedDevice.stub\";\n\ndescribe(\"InternalConnectedDevice\", () => {\n let connectedDevice: InternalConnectedDevice;\n\n beforeEach(() => {\n connectedDevice = connectedDeviceStubBuilder();\n });\n\n it(\"should create an instance\", () => {\n expect(connectedDevice).toBeDefined();\n expect(connectedDevice).toBeInstanceOf(InternalConnectedDevice);\n });\n\n it(\"should return the correct id\", () => {\n expect(connectedDevice.id).toEqual(\"42\");\n });\n\n it(\"should return the correct device model\", () => {\n expect(JSON.stringify(connectedDevice.deviceModel)).toEqual(\n JSON.stringify(deviceModelStubBuilder()),\n );\n });\n\n it(\"should return the correct type\", () => {\n expect(connectedDevice.type).toEqual(\"MOCK\");\n });\n\n it(\"should return the correct send apdu response\", () => {\n expect(connectedDevice.sendApdu(new Uint8Array())).resolves.toMatchObject(\n Right(defaultApduResponseStubBuilder()),\n );\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAsB,qBAEtBC,EAA+C,iDAC/CC,EAAuC,yDACvCC,EAAwC,6DACxCA,EAA2C,kEAE3C,SAAS,0BAA2B,IAAM,CACxC,IAAIC,EAEJ,WAAW,IAAM,CACfA,KAAkB,8BAA2B,CAC/C,CAAC,EAED,GAAG,4BAA6B,IAAM,CACpC,OAAOA,CAAe,EAAE,YAAY,EACpC,OAAOA,CAAe,EAAE,eAAe,yBAAuB,CAChE,CAAC,EAED,GAAG,+BAAgC,IAAM,CACvC,OAAOA,EAAgB,EAAE,EAAE,QAAQ,IAAI,CACzC,CAAC,EAED,GAAG,yCAA0C,IAAM,CACjD,OAAO,KAAK,UAAUA,EAAgB,WAAW,CAAC,EAAE,QAClD,KAAK,aAAU,0BAAuB,CAAC,CACzC,CACF,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,OAAOA,EAAgB,IAAI,EAAE,QAAQ,MAAM,CAC7C,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,OAAOA,EAAgB,SAAS,IAAI,UAAY,CAAC,EAAE,SAAS,iBAC1D,YAAM,kCAA+B,CAAC,CACxC,CACF,CAAC,CACH,CAAC",
6
- "names": ["import_purify_ts", "import_ApduResponse", "import_DeviceModel", "import_InternalConnectedDevice", "connectedDevice"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var v=(r,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of d(e))!c.call(r,t)&&t!==n&&o(r,t,{get:()=>e[t],enumerable:!(i=p(e,t))||i.enumerable});return r};var I=r=>v(o({},"__esModule",{value:!0}),r);var a={};module.exports=I(a);
2
- //# sourceMappingURL=InternalDiscoveredDevice.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../src/internal/transport/model/InternalDiscoveredDevice.ts"],
4
- "sourcesContent": ["import { type DeviceId } from \"@api/device/DeviceModel\";\nimport { type TransportIdentifier } from \"@api/transport/model/TransportIdentifier\";\nimport { type InternalDeviceModel } from \"@internal/device-model/model/DeviceModel\";\n\n/**\n * A discovered / scanned (not yet connected to) device.\n */\nexport type InternalDiscoveredDevice = {\n // type: \"web-hid\", // \"node-hid\" in the future -> no need as we will only have 1 USB transport implementation running\n\n /**\n * Unique identifier for the device.\n * NB: This identifier is generated at runtime and is not persisted.\n * It cannot be used to identify a device across sessions.\n * There is in fact no way to identify a device across sessions, which is a\n * privacy feature of Ledger devices.\n */\n id: DeviceId;\n deviceModel: InternalDeviceModel;\n transport: TransportIdentifier;\n};\n"],
5
- "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
- "names": ["InternalDiscoveredDevice_exports", "__toCommonJS"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var c=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var e=(o,E)=>{for(var _ in E)c(o,_,{get:E[_],enumerable:!0})},n=(o,E,_,x)=>{if(E&&typeof E=="object"||typeof E=="function")for(let t of I(E))!R.call(o,t)&&t!==_&&c(o,t,{get:()=>E[t],enumerable:!(x=D(E,t))||x.enumerable});return o};var p=o=>n(c({},"__esModule",{value:!0}),o);var N={};e(N,{FRAME_SIZE:()=>s,LEDGER_VENDOR_ID:()=>r,RECONNECT_DEVICE_TIMEOUT:()=>C});module.exports=p(N);const r=11415,s=64,C=6e3;0&&(module.exports={FRAME_SIZE,LEDGER_VENDOR_ID,RECONNECT_DEVICE_TIMEOUT});
2
- //# sourceMappingURL=UsbHidConfig.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/data/UsbHidConfig.ts"],
4
- "sourcesContent": ["// [SHOULD] Move it to device-model module\nexport const LEDGER_VENDOR_ID = 0x2c97;\nexport const FRAME_SIZE = 64;\nexport const RECONNECT_DEVICE_TIMEOUT = 6000; // in some cases, when opening/closing an app, it takes up to 6s between the HID \"disconnect\" and \"connect\" events\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,qBAAAC,EAAA,6BAAAC,IAAA,eAAAC,EAAAL,GACO,MAAMG,EAAmB,MACnBD,EAAa,GACbE,EAA2B",
6
- "names": ["UsbHidConfig_exports", "__export", "FRAME_SIZE", "LEDGER_VENDOR_ID", "RECONNECT_DEVICE_TIMEOUT", "__toCommonJS"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var n=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var y=(e,o)=>{for(var i in o)n(e,i,{get:o[i],enumerable:!0})},D=(e,o,i,t)=>{if(o&&typeof o=="object"||typeof o=="function")for(let c of b(o))!r.call(e,c)&&c!==i&&n(e,c,{get:()=>o[c],enumerable:!(t=s(o,c))||t.enumerable});return e};var a=e=>D(n({},"__esModule",{value:!0}),e);var p={};y(p,{usbDiTypes:()=>d});module.exports=a(p);const d={UsbHidDeviceConnectionFactory:Symbol.for("UsbHidDeviceConnectionFactory")};0&&(module.exports={usbDiTypes});
2
- //# sourceMappingURL=usbDiTypes.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/di/usbDiTypes.ts"],
4
- "sourcesContent": ["export const usbDiTypes = {\n UsbHidDeviceConnectionFactory: Symbol.for(\"UsbHidDeviceConnectionFactory\"),\n};\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,IAAA,eAAAC,EAAAH,GAAO,MAAME,EAAa,CACxB,8BAA+B,OAAO,IAAI,+BAA+B,CAC3E",
6
- "names": ["usbDiTypes_exports", "__export", "usbDiTypes", "__toCommonJS"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var n=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var u=(r,o)=>{for(var e in o)n(r,e,{get:o[e],enumerable:!0})},y=(r,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of p(o))!d.call(r,t)&&t!==e&&n(r,t,{get:()=>o[t],enumerable:!(i=b(o,t))||i.enumerable});return r};var m=r=>y(n({},"__esModule",{value:!0}),r);var l={};u(l,{usbModuleFactory:()=>f});module.exports=m(l);var s=require("inversify"),a=require("../../../transport/usb/service/UsbHidDeviceConnectionFactory"),c=require("./usbDiTypes");const f=({stub:r=!1}={})=>new s.ContainerModule((o,e,i,t)=>{o(c.usbDiTypes.UsbHidDeviceConnectionFactory).to(a.UsbHidDeviceConnectionFactory)});0&&(module.exports={usbModuleFactory});
2
- //# sourceMappingURL=usbModule.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/di/usbModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { UsbHidDeviceConnectionFactory } from \"@internal/transport/usb/service/UsbHidDeviceConnectionFactory\";\n\nimport { usbDiTypes } from \"./usbDiTypes\";\n\ntype FactoryProps = {\n stub: boolean;\n};\n\nexport const usbModuleFactory = ({\n stub = false,\n}: Partial<FactoryProps> = {}) =>\n new ContainerModule((bind, _unbind, _isBound, _rebind) => {\n // UsbHidDeviceConnectionFactory\n bind(usbDiTypes.UsbHidDeviceConnectionFactory).to(\n UsbHidDeviceConnectionFactory,\n );\n\n if (stub) {\n // Add stubs here\n }\n });\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,sBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,qBAEhCC,EAA8C,yEAE9CC,EAA2B,wBAMpB,MAAMJ,EAAmB,CAAC,CAC/B,KAAAK,EAAO,EACT,EAA2B,CAAC,IAC1B,IAAI,kBAAgB,CAACC,EAAMC,EAASC,EAAUC,IAAY,CAExDH,EAAK,aAAW,6BAA6B,EAAE,GAC7C,+BACF,CAKF,CAAC",
6
- "names": ["usbModule_exports", "__export", "usbModuleFactory", "__toCommonJS", "import_inversify", "import_UsbHidDeviceConnectionFactory", "import_usbDiTypes", "stub", "bind", "_unbind", "_isBound", "_rebind"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var r=require("inversify"),t=require("../../../device-model/di/deviceModelModule"),d=require("../../../device-session/di/deviceSessionModule"),l=require("../../../logger-publisher/di/loggerModule"),u=require("./usbModule");describe("usbModuleFactory",()=>{let e,o;beforeEach(()=>{o=(0,u.usbModuleFactory)({stub:!1}),e=new r.Container,e.load((0,l.loggerModuleFactory)()),e.load(o,(0,t.deviceModelModuleFactory)({stub:!1}),(0,d.deviceSessionModuleFactory)())}),it("should return the usb module",()=>{expect(o).toBeDefined()})});
2
- //# sourceMappingURL=usbModule.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/di/usbModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { deviceModelModuleFactory } from \"@internal/device-model/di/deviceModelModule\";\nimport { deviceSessionModuleFactory } from \"@internal/device-session/di/deviceSessionModule\";\nimport { loggerModuleFactory } from \"@internal/logger-publisher/di/loggerModule\";\n\nimport { usbModuleFactory } from \"./usbModule\";\n\ndescribe(\"usbModuleFactory\", () => {\n let container: Container;\n let mod: ReturnType<typeof usbModuleFactory>;\n beforeEach(() => {\n mod = usbModuleFactory({ stub: false });\n container = new Container();\n container.load(loggerModuleFactory());\n container.load(\n mod,\n deviceModelModuleFactory({ stub: false }),\n deviceSessionModuleFactory(),\n );\n });\n\n it(\"should return the usb module\", () => {\n expect(mod).toBeDefined();\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAA0B,qBAE1BC,EAAyC,uDACzCC,EAA2C,2DAC3CC,EAAoC,sDAEpCC,EAAiC,uBAEjC,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EACAC,EACJ,WAAW,IAAM,CACfA,KAAM,oBAAiB,CAAE,KAAM,EAAM,CAAC,EACtCD,EAAY,IAAI,YAChBA,EAAU,QAAK,uBAAoB,CAAC,EACpCA,EAAU,KACRC,KACA,4BAAyB,CAAE,KAAM,EAAM,CAAC,KACxC,8BAA2B,CAC7B,CACF,CAAC,EAED,GAAG,+BAAgC,IAAM,CACvC,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,CACH,CAAC",
6
- "names": ["import_inversify", "import_deviceModelModule", "import_deviceSessionModule", "import_loggerModule", "import_usbModule", "container", "mod"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var l=(e,t)=>{for(var o in t)s(e,o,{get:t[o],enumerable:!0})},v=(e,t,o,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of i(t))!f.call(e,n)&&n!==o&&s(e,n,{get:()=>t[n],enumerable:!(d=c(t,n))||d.enumerable});return e};var a=e=>v(s({},"__esModule",{value:!0}),e);var p={};l(p,{hidDeviceStubBuilder:()=>u});module.exports=a(p);const r=jest.fn().mockResolvedValue(void 0),u=(e={})=>({opened:!1,productId:16401,vendorId:11415,productName:"Ledger Nano X",collections:[],open:jest.fn().mockResolvedValue(void 0),oninputreport:r,close:jest.fn().mockResolvedValue(void 0),sendReport:jest.fn().mockResolvedValue(r()),sendFeatureReport:jest.fn(),forget:jest.fn(),receiveFeatureReport:jest.fn(),addEventListener:jest.fn(),removeEventListener:jest.fn(),dispatchEvent:jest.fn(),...e});0&&(module.exports={hidDeviceStubBuilder});
2
- //# sourceMappingURL=HIDDevice.stub.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/model/HIDDevice.stub.ts"],
4
- "sourcesContent": ["const oninputreport = jest.fn().mockResolvedValue(void 0);\n\nexport const hidDeviceStubBuilder = (\n props: Partial<HIDDevice> = {},\n): HIDDevice => ({\n opened: false,\n productId: 0x4011,\n vendorId: 0x2c97,\n productName: \"Ledger Nano X\",\n collections: [],\n open: jest.fn().mockResolvedValue(undefined),\n oninputreport,\n close: jest.fn().mockResolvedValue(undefined),\n sendReport: jest.fn().mockResolvedValue(oninputreport()),\n sendFeatureReport: jest.fn(),\n forget: jest.fn(),\n receiveFeatureReport: jest.fn(),\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n ...props,\n});\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,IAAA,eAAAC,EAAAH,GAAA,MAAMI,EAAgB,KAAK,GAAG,EAAE,kBAAkB,MAAM,EAE3CF,EAAuB,CAClCG,EAA4B,CAAC,KACd,CACf,OAAQ,GACR,UAAW,MACX,SAAU,MACV,YAAa,gBACb,YAAa,CAAC,EACd,KAAM,KAAK,GAAG,EAAE,kBAAkB,MAAS,EAC3C,cAAAD,EACA,MAAO,KAAK,GAAG,EAAE,kBAAkB,MAAS,EAC5C,WAAY,KAAK,GAAG,EAAE,kBAAkBA,EAAc,CAAC,EACvD,kBAAmB,KAAK,GAAG,EAC3B,OAAQ,KAAK,GAAG,EAChB,qBAAsB,KAAK,GAAG,EAC9B,iBAAkB,KAAK,GAAG,EAC1B,oBAAqB,KAAK,GAAG,EAC7B,cAAe,KAAK,GAAG,EACvB,GAAGC,CACL",
6
- "names": ["HIDDevice_stub_exports", "__export", "hidDeviceStubBuilder", "__toCommonJS", "oninputreport", "props"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var n=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var R=(o,e)=>{for(var r in e)n(o,r,{get:e[r],enumerable:!0})},F=(o,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of h(e))!C.call(o,t)&&t!==r&&n(o,t,{get:()=>e[t],enumerable:!(i=v(e,t))||i.enumerable});return o};var D=o=>F(n({},"__esModule",{value:!0}),o),f=(o,e,r,i)=>{for(var t=i>1?void 0:i?v(e,r):e,m=o.length-1,p;m>=0;m--)(p=o[m])&&(t=(i?p(e,r,t):p(t))||t);return i&&t&&n(e,r,t),t},a=(o,e)=>(r,i)=>e(r,i,o);var I={};R(I,{UsbHidDeviceConnectionFactory:()=>c});module.exports=D(I);var d=require("inversify"),s=require("purify-ts"),S=require("../../../device-session/data/FramerConst"),u=require("../../../device-session/di/deviceSessionTypes"),g=require("../../../device-session/utils/FramerUtils"),l=require("../../../logger-publisher/di/loggerTypes"),A=require("../../../transport/usb/data/UsbHidConfig"),y=require("../../../transport/usb/transport/UsbHidDeviceConnection");let c=class{constructor(e,r,i){this.apduSenderFactory=e;this.apduReceiverFactory=r;this.loggerFactory=i}randomChannel=Math.floor(Math.random()*65535);create(e,r,i=s.Maybe.of(g.FramerUtils.numberToByteArray(this.randomChannel,S.CHANNEL_LENGTH))){return new y.UsbHidDeviceConnection({device:e,deviceId:r.deviceId,apduSender:this.apduSenderFactory({frameSize:A.FRAME_SIZE,channel:i,padding:!0}),apduReceiver:this.apduReceiverFactory({channel:i}),onConnectionTerminated:r.onConnectionTerminated},this.loggerFactory)}};c=f([(0,d.injectable)(),a(0,(0,d.inject)(u.deviceSessionTypes.ApduSenderServiceFactory)),a(1,(0,d.inject)(u.deviceSessionTypes.ApduReceiverServiceFactory)),a(2,(0,d.inject)(l.loggerTypes.LoggerPublisherServiceFactory))],c);0&&(module.exports={UsbHidDeviceConnectionFactory});
2
- //# sourceMappingURL=UsbHidDeviceConnectionFactory.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Maybe } from \"purify-ts\";\n\nimport { DeviceId } from \"@api/types\";\nimport { CHANNEL_LENGTH } from \"@internal/device-session/data/FramerConst\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { ApduReceiverService } from \"@internal/device-session/service/ApduReceiverService\";\nimport { ApduSenderService } from \"@internal/device-session/service/ApduSenderService\";\nimport { DefaultApduReceiverConstructorArgs } from \"@internal/device-session/service/DefaultApduReceiverService\";\nimport { DefaultApduSenderServiceConstructorArgs } from \"@internal/device-session/service/DefaultApduSenderService\";\nimport { FramerUtils } from \"@internal/device-session/utils/FramerUtils\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { LoggerPublisherService } from \"@internal/logger-publisher/service/LoggerPublisherService\";\nimport { FRAME_SIZE } from \"@internal/transport/usb/data/UsbHidConfig\";\nimport { UsbHidDeviceConnection } from \"@internal/transport/usb/transport/UsbHidDeviceConnection\";\n\n@injectable()\nexport class UsbHidDeviceConnectionFactory {\n randomChannel = Math.floor(Math.random() * 0xffff);\n\n constructor(\n @inject(deviceSessionTypes.ApduSenderServiceFactory)\n private readonly apduSenderFactory: (\n args: DefaultApduSenderServiceConstructorArgs,\n ) => ApduSenderService,\n @inject(deviceSessionTypes.ApduReceiverServiceFactory)\n private readonly apduReceiverFactory: (\n args: DefaultApduReceiverConstructorArgs,\n ) => ApduReceiverService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n private readonly loggerFactory: (name: string) => LoggerPublisherService,\n ) {}\n\n public create(\n device: HIDDevice,\n params: { onConnectionTerminated: () => void; deviceId: DeviceId },\n channel = Maybe.of(\n FramerUtils.numberToByteArray(this.randomChannel, CHANNEL_LENGTH),\n ),\n ): UsbHidDeviceConnection {\n return new UsbHidDeviceConnection(\n {\n device,\n deviceId: params.deviceId,\n apduSender: this.apduSenderFactory({\n frameSize: FRAME_SIZE,\n channel,\n padding: true,\n }),\n apduReceiver: this.apduReceiverFactory({ channel }),\n onConnectionTerminated: params.onConnectionTerminated,\n },\n this.loggerFactory,\n );\n }\n}\n"],
5
- "mappings": "okBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAmC,qBACnCC,EAAsB,qBAGtBC,EAA+B,qDAC/BC,EAAmC,0DAKnCC,EAA4B,sDAC5BC,EAA4B,qDAE5BC,EAA2B,qDAC3BC,EAAuC,oEAGhC,IAAMC,EAAN,KAAoC,CAGzC,YAEmBC,EAIAC,EAIAC,EACjB,CATiB,uBAAAF,EAIA,yBAAAC,EAIA,mBAAAC,CAChB,CAbH,cAAgB,KAAK,MAAM,KAAK,OAAO,EAAI,KAAM,EAe1C,OACLC,EACAC,EACAC,EAAU,QAAM,GACd,cAAY,kBAAkB,KAAK,cAAe,gBAAc,CAClE,EACwB,CACxB,OAAO,IAAI,yBACT,CACE,OAAAF,EACA,SAAUC,EAAO,SACjB,WAAY,KAAK,kBAAkB,CACjC,UAAW,aACX,QAAAC,EACA,QAAS,EACX,CAAC,EACD,aAAc,KAAK,oBAAoB,CAAE,QAAAA,CAAQ,CAAC,EAClD,uBAAwBD,EAAO,sBACjC,EACA,KAAK,aACP,CACF,CACF,EAtCaL,EAANO,EAAA,IADN,cAAW,EAKPC,EAAA,eAAO,qBAAmB,wBAAwB,GAIlDA,EAAA,eAAO,qBAAmB,0BAA0B,GAIpDA,EAAA,eAAO,cAAY,6BAA6B,IAZxCR",
6
- "names": ["UsbHidDeviceConnectionFactory_exports", "__export", "UsbHidDeviceConnectionFactory", "__toCommonJS", "import_inversify", "import_purify_ts", "import_FramerConst", "import_deviceSessionTypes", "import_FramerUtils", "import_loggerTypes", "import_UsbHidConfig", "import_UsbHidDeviceConnection", "UsbHidDeviceConnectionFactory", "apduSenderFactory", "apduReceiverFactory", "loggerFactory", "device", "params", "channel", "__decorateClass", "__decorateParam"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var t=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var S=Object.prototype.hasOwnProperty;var a=(r,e)=>{for(var i in e)t(r,i,{get:e[i],enumerable:!0})},b=(r,e,i,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of p(e))!S.call(r,o)&&o!==i&&t(r,o,{get:()=>e[o],enumerable:!(u=f(e,o))||u.enumerable});return r};var v=r=>b(t({},"__esModule",{value:!0}),r);var g={};a(g,{usbHidDeviceConnectionFactoryStubBuilder:()=>s});module.exports=v(g);var n=require("../../../device-session/service/DefaultApduReceiverService.stub"),d=require("../../../device-session/service/DefaultApduSenderService.stub"),l=require("../../../logger-publisher/service/__mocks__/DefaultLoggerService"),m=require("../../../transport/usb/service/UsbHidDeviceConnectionFactory");const c=()=>new l.DefaultLoggerPublisherService,s=()=>new m.UsbHidDeviceConnectionFactory(()=>(0,d.defaultApduSenderServiceStubBuilder)({},c),()=>(0,n.defaultApduReceiverServiceStubBuilder)({},c),c);0&&(module.exports={usbHidDeviceConnectionFactoryStubBuilder});
2
- //# sourceMappingURL=UsbHidDeviceConnectionFactory.stub.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/service/UsbHidDeviceConnectionFactory.stub.ts"],
4
- "sourcesContent": ["import { defaultApduReceiverServiceStubBuilder } from \"@internal/device-session/service/DefaultApduReceiverService.stub\";\nimport { defaultApduSenderServiceStubBuilder } from \"@internal/device-session/service/DefaultApduSenderService.stub\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/__mocks__/DefaultLoggerService\";\nimport { UsbHidDeviceConnectionFactory } from \"@internal/transport/usb/service/UsbHidDeviceConnectionFactory\";\n\nconst loggerFactory = () => new DefaultLoggerPublisherService();\n\nexport const usbHidDeviceConnectionFactoryStubBuilder = () =>\n new UsbHidDeviceConnectionFactory(\n () => defaultApduSenderServiceStubBuilder({}, loggerFactory),\n () => defaultApduReceiverServiceStubBuilder({}, loggerFactory),\n loggerFactory,\n );\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,8CAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAsD,4EACtDC,EAAoD,0EACpDC,EAA8C,6EAC9CC,EAA8C,yEAE9C,MAAMC,EAAgB,IAAM,IAAI,gCAEnBN,EAA2C,IACtD,IAAI,gCACF,OAAM,uCAAoC,CAAC,EAAGM,CAAa,EAC3D,OAAM,yCAAsC,CAAC,EAAGA,CAAa,EAC7DA,CACF",
6
- "names": ["UsbHidDeviceConnectionFactory_stub_exports", "__export", "usbHidDeviceConnectionFactoryStubBuilder", "__toCommonJS", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_DefaultLoggerService", "import_UsbHidDeviceConnectionFactory", "loggerFactory"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var a=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var A=Object.prototype.hasOwnProperty;var w=(c,e)=>{for(var i in e)a(c,i,{get:e[i],enumerable:!0})},C=(c,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of D(e))!A.call(c,t)&&t!==i&&a(c,t,{get:()=>e[t],enumerable:!(n=v(e,t))||n.enumerable});return c};var E=c=>C(a({},"__esModule",{value:!0}),c),g=(c,e,i,n)=>{for(var t=n>1?void 0:n?v(e,i):e,r=c.length-1,o;r>=0;r--)(o=c[r])&&(t=(n?o(e,i,t):o(t))||t);return n&&t&&a(e,i,t),t},h=(c,e)=>(i,n)=>e(i,n,c);var I={};w(I,{UsbHidDeviceConnection:()=>d});module.exports=E(I);var l=require("inversify"),s=require("purify-ts"),u=require("rxjs"),f=require("../../../../api/command/utils/CommandUtils"),_=require("../../../logger-publisher/di/loggerTypes"),p=require("../../../transport/model/Errors"),b=require("../../../transport/model/Errors"),R=require("../../../transport/usb/data/UsbHidConfig");let d=class{_device;_deviceId;_apduSender;_apduReceiver;_sendApduSubject=new u.Subject;_logger;_onConnectionTerminated;reconnectionSubject=new u.Subject;waitingForReconnection=!1;lostConnectionTimeout=null;terminated=!1;constructor({device:e,deviceId:i,apduSender:n,apduReceiver:t,onConnectionTerminated:r},o){this._apduSender=n,this._apduReceiver=t,this._onConnectionTerminated=r,this._logger=o("UsbHidDeviceConnection"),this._device=e,this._device.oninputreport=m=>this.receiveHidInputReport(m),this._deviceId=i,this._logger.info("\u{1F50C} Connected to device")}get device(){return this._device}get deviceId(){return this._deviceId}async sendApdu(e,i){this._sendApduSubject=new u.Subject,this._logger.debug("Sending APDU",{data:{apdu:e},tag:"apdu-sender"});const n=new Promise(r=>{this._sendApduSubject.subscribe({next:async o=>{i&&f.CommandUtils.isSuccessResponse(o)?(await this.waitForReconnection()).caseOf({Left:S=>r((0,s.Left)(S)),Right:()=>r((0,s.Right)(o))}):r((0,s.Right)(o))},error:o=>{r((0,s.Left)(o))}})});if(this.waitingForReconnection||!this.device.opened){const r=await this.waitForReconnection();if(r.isLeft())return r}const t=this._apduSender.getFrames(e);for(const r of t){this._logger.debug("Sending Frame",{data:{frame:r.getRawData()}});try{await this._device.sendReport(0,r.getRawData())}catch(o){return this._logger.error("Error sending frame",{data:{error:o}}),Promise.resolve((0,s.Left)(new b.HidSendReportError(o)))}}return n}receiveHidInputReport(e){const i=new Uint8Array(e.data.buffer);this._logger.debug("Received Frame",{data:{frame:i},tag:"apdu-receiver"}),this._apduReceiver.handleFrame(i).caseOf({Right:t=>{t.map(r=>{this._logger.debug("Received APDU Response",{data:{response:r}}),this._sendApduSubject.next(r),this._sendApduSubject.complete()})},Left:t=>{this._sendApduSubject.error(t)}})}waitForReconnection(){return this.terminated?Promise.resolve((0,s.Left)(new p.ReconnectionFailedError)):new Promise(e=>{const i=this.reconnectionSubject.subscribe({next:n=>{e(n==="success"?(0,s.Right)(void 0):(0,s.Left)(n)),i.unsubscribe()}})})}lostConnection(){this._logger.info("\u23F1\uFE0F Lost connection, starting timer"),this.waitingForReconnection=!0,this.lostConnectionTimeout=setTimeout(()=>{this._logger.info("\u274C Disconnection timeout, terminating connection"),this.disconnect()},R.RECONNECT_DEVICE_TIMEOUT)}async reconnectHidDevice(e){this._device=e,this._device.oninputreport=i=>this.receiveHidInputReport(i),this.lostConnectionTimeout&&(this._logger.info("\u23F1\uFE0F\u{1F50C} Device reconnected"),clearTimeout(this.lostConnectionTimeout)),await e.open(),this.waitingForReconnection=!1,this.reconnectionSubject.next("success")}disconnect(){this._logger.info("\u{1F51A} Disconnect"),this.lostConnectionTimeout&&clearTimeout(this.lostConnectionTimeout),this.terminated=!0,this._onConnectionTerminated(),this.reconnectionSubject.next(new p.ReconnectionFailedError)}};d=g([h(1,(0,l.inject)(_.loggerTypes.LoggerPublisherServiceFactory))],d);0&&(module.exports={UsbHidDeviceConnection});
2
- //# sourceMappingURL=UsbHidDeviceConnection.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/transport/UsbHidDeviceConnection.ts"],
4
- "sourcesContent": ["import { inject } from \"inversify\";\nimport { Either, Left, Right } from \"purify-ts\";\nimport { Subject } from \"rxjs\";\n\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { DmkError } from \"@api/Error\";\nimport { DeviceId } from \"@api/types\";\nimport { ApduReceiverService } from \"@internal/device-session/service/ApduReceiverService\";\nimport { ApduSenderService } from \"@internal/device-session/service/ApduSenderService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport type { LoggerPublisherService } from \"@internal/logger-publisher/service/LoggerPublisherService\";\nimport { DeviceConnection } from \"@internal/transport/model/DeviceConnection\";\nimport { ReconnectionFailedError } from \"@internal/transport/model/Errors\";\nimport { HidSendReportError } from \"@internal/transport/model/Errors\";\nimport { RECONNECT_DEVICE_TIMEOUT } from \"@internal/transport/usb/data/UsbHidConfig\";\n\ntype UsbHidDeviceConnectionConstructorArgs = {\n device: HIDDevice;\n deviceId: DeviceId;\n apduSender: ApduSenderService;\n apduReceiver: ApduReceiverService;\n onConnectionTerminated: () => void;\n};\n\n/**\n * Class to manage the connection with a USB HID device.\n * It sends APDU commands to the device and receives the responses.\n * It handles temporary disconnections and reconnections.\n */\nexport class UsbHidDeviceConnection implements DeviceConnection {\n private _device: HIDDevice;\n private _deviceId: DeviceId;\n private readonly _apduSender: ApduSenderService;\n private readonly _apduReceiver: ApduReceiverService;\n private _sendApduSubject: Subject<ApduResponse> = new Subject();\n private readonly _logger: LoggerPublisherService;\n\n /** Callback to notify the connection termination */\n private _onConnectionTerminated: () => void;\n /** Subject to notify the reconnection status */\n private reconnectionSubject: Subject<\"success\" | DmkError> = new Subject();\n /** Flag to indicate if the connection is waiting for a reconnection */\n private waitingForReconnection = false;\n /** Timeout to wait for the device to reconnect */\n private lostConnectionTimeout: NodeJS.Timeout | null = null;\n /** Flag to indicate if the connection is terminated */\n private terminated = false;\n\n constructor(\n {\n device,\n deviceId,\n apduSender,\n apduReceiver,\n onConnectionTerminated,\n }: UsbHidDeviceConnectionConstructorArgs,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._apduSender = apduSender;\n this._apduReceiver = apduReceiver;\n this._onConnectionTerminated = onConnectionTerminated;\n this._logger = loggerServiceFactory(\"UsbHidDeviceConnection\");\n this._device = device;\n this._device.oninputreport = (event) => this.receiveHidInputReport(event);\n this._deviceId = deviceId;\n this._logger.info(\"\uD83D\uDD0C Connected to device\");\n }\n\n public get device() {\n return this._device;\n }\n\n public get deviceId() {\n return this._deviceId;\n }\n\n async sendApdu(\n apdu: Uint8Array,\n triggersDisconnection?: boolean,\n ): Promise<Either<DmkError, ApduResponse>> {\n this._sendApduSubject = new Subject();\n\n this._logger.debug(\"Sending APDU\", {\n data: { apdu },\n tag: \"apdu-sender\",\n });\n\n const resultPromise = new Promise<Either<DmkError, ApduResponse>>(\n (resolve) => {\n this._sendApduSubject.subscribe({\n next: async (r) => {\n if (triggersDisconnection && CommandUtils.isSuccessResponse(r)) {\n // Anticipate the disconnection and wait for the reconnection before resolving\n const reconnectionRes = await this.waitForReconnection();\n reconnectionRes.caseOf({\n Left: (err) => resolve(Left(err)),\n Right: () => resolve(Right(r)),\n });\n } else {\n resolve(Right(r));\n }\n },\n error: (err) => {\n resolve(Left(err));\n },\n });\n },\n );\n\n if (this.waitingForReconnection || !this.device.opened) {\n const reconnectionRes = await this.waitForReconnection();\n if (reconnectionRes.isLeft()) {\n return reconnectionRes;\n }\n }\n\n const frames = this._apduSender.getFrames(apdu);\n for (const frame of frames) {\n this._logger.debug(\"Sending Frame\", {\n data: { frame: frame.getRawData() },\n });\n try {\n await this._device.sendReport(0, frame.getRawData());\n } catch (error) {\n this._logger.error(\"Error sending frame\", { data: { error } });\n return Promise.resolve(Left(new HidSendReportError(error)));\n }\n }\n\n return resultPromise;\n }\n\n private receiveHidInputReport(event: HIDInputReportEvent) {\n const data = new Uint8Array(event.data.buffer);\n this._logger.debug(\"Received Frame\", {\n data: { frame: data },\n tag: \"apdu-receiver\",\n });\n const response = this._apduReceiver.handleFrame(data);\n response.caseOf({\n Right: (maybeApduResponse) => {\n maybeApduResponse.map((apduResponse) => {\n this._logger.debug(\"Received APDU Response\", {\n data: { response: apduResponse },\n });\n this._sendApduSubject.next(apduResponse);\n this._sendApduSubject.complete();\n });\n },\n Left: (err) => {\n this._sendApduSubject.error(err);\n },\n });\n }\n\n private waitForReconnection(): Promise<Either<DmkError, void>> {\n if (this.terminated)\n return Promise.resolve(Left(new ReconnectionFailedError()));\n return new Promise<Either<DmkError, void>>((resolve) => {\n const sub = this.reconnectionSubject.subscribe({\n next: (res) => {\n if (res === \"success\") {\n resolve(Right(undefined));\n } else {\n resolve(Left(res));\n }\n sub.unsubscribe();\n },\n });\n });\n }\n\n /**\n * Method called when the HIDDevice gets disconnected.\n * It starts a timeout to wait for the device to reconnect.\n * */\n public lostConnection() {\n this._logger.info(\"\u23F1\uFE0F Lost connection, starting timer\");\n this.waitingForReconnection = true;\n this.lostConnectionTimeout = setTimeout(() => {\n this._logger.info(\"\u274C Disconnection timeout, terminating connection\");\n this.disconnect();\n }, RECONNECT_DEVICE_TIMEOUT);\n }\n\n /** Reconnect the device after a disconnection */\n public async reconnectHidDevice(device: HIDDevice) {\n this._device = device;\n this._device.oninputreport = (event) => this.receiveHidInputReport(event);\n\n if (this.lostConnectionTimeout) {\n this._logger.info(\"\u23F1\uFE0F\uD83D\uDD0C Device reconnected\");\n clearTimeout(this.lostConnectionTimeout);\n }\n await device.open();\n this.waitingForReconnection = false;\n this.reconnectionSubject.next(\"success\");\n }\n\n public disconnect() {\n this._logger.info(\"\uD83D\uDD1A Disconnect\");\n if (this.lostConnectionTimeout) clearTimeout(this.lostConnectionTimeout);\n this.terminated = true;\n this._onConnectionTerminated();\n this.reconnectionSubject.next(new ReconnectionFailedError());\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["UsbHidDeviceConnection_exports", "__export", "UsbHidDeviceConnection", "__toCommonJS", "import_inversify", "import_purify_ts", "import_rxjs", "import_CommandUtils", "import_loggerTypes", "import_Errors", "import_UsbHidConfig", "UsbHidDeviceConnection", "device", "deviceId", "apduSender", "apduReceiver", "onConnectionTerminated", "loggerServiceFactory", "event", "apdu", "triggersDisconnection", "resultPromise", "resolve", "r", "err", "reconnectionRes", "frames", "frame", "error", "data", "maybeApduResponse", "apduResponse", "sub", "res", "__decorateClass", "__decorateParam"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var c=require("purify-ts"),v=require("../../../device-session/service/DefaultApduReceiverService.stub"),A=require("../../../device-session/service/DefaultApduSenderService.stub"),y=require("../../../logger-publisher/service/DefaultLoggerPublisherService"),w=require("../../../transport/model/Errors"),m=require("../../../transport/usb/data/UsbHidConfig"),h=require("../../../transport/usb/model/HIDDevice.stub"),s=require("../../../transport/usb/transport/UsbHidDeviceConnection");jest.useFakeTimers();const U=new Uint8Array([170,170,5,0,0,0,2,85,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),u=new Uint8Array([170,170,5,0,0,0,2,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),d=()=>new Promise(jest.requireActual("timers").setImmediate);jest.useFakeTimers();describe("UsbHidDeviceConnection",()=>{let e,o,i;const a=()=>{},x="test-device-id",r=t=>new y.DefaultLoggerPublisherService([],t);beforeEach(()=>{e=(0,h.hidDeviceStubBuilder)({opened:!0}),o=(0,A.defaultApduSenderServiceStubBuilder)(void 0,r),i=(0,v.defaultApduReceiverServiceStubBuilder)(void 0,r)}),it("should get device",()=>{const n=new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r).device;expect(n).toStrictEqual(e)}),it("should send APDU through hid report",()=>{new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r).sendApdu(new Uint8Array(0)),expect(e.sendReport).toHaveBeenCalled()}),it("should receive APDU through hid report",async()=>{e.sendReport=jest.fn(()=>Promise.resolve(e.oninputreport({type:"inputreport",data:new DataView(Uint8Array.from(u).buffer)})));const n=await new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r).sendApdu(Uint8Array.from([]));expect(n).toEqual((0,c.Right)({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])}))}),describe("anticipating loss of connection after sending an APDU",()=>{test("sendApdu(whatever, true) should wait for reconnection before resolving if the response is a success",async()=>{e.sendReport=jest.fn(()=>Promise.resolve(e.oninputreport({type:"inputreport",data:new DataView(Uint8Array.from(u).buffer)})));const t=new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r);let n=!1;const p=t.sendApdu(Uint8Array.from([]),!0).then(l=>(n=!0,l));t.lostConnection(),await d(),expect(n).toBe(!1),t.reconnectHidDevice(e),await d(),expect(n).toBe(!0);const f=await p;expect(f).toEqual((0,c.Right)({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])}))}),test("sendApdu(whatever, true) should not wait for reconnection if the response is not a success",async()=>{e.sendReport=jest.fn(()=>Promise.resolve(e.oninputreport({type:"inputreport",data:new DataView(Uint8Array.from(U).buffer)})));const n=await new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r).sendApdu(Uint8Array.from([]),!0);expect(n).toEqual((0,c.Right)({statusCode:new Uint8Array([85,21]),data:new Uint8Array([])}))}),test("sendApdu(whatever, true) should return an error if the device gets disconnected while waiting for reconnection",async()=>{e.sendReport=jest.fn(()=>Promise.resolve(e.oninputreport({type:"inputreport",data:new DataView(Uint8Array.from(u).buffer)})));const t=new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r),n=t.sendApdu(Uint8Array.from([]),!0);t.lostConnection(),jest.advanceTimersByTime(m.RECONNECT_DEVICE_TIMEOUT),await d();const p=await n;expect(p).toEqual((0,c.Left)(new w.ReconnectionFailedError))})}),describe("connection lost before sending an APDU",()=>{test("sendApdu(whatever, false) should return an error if the device connection has been lost and times out",async()=>{e.sendReport=jest.fn(()=>Promise.resolve(e.oninputreport({type:"inputreport",data:new DataView(Uint8Array.from(u).buffer)})));const t=new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r);t.lostConnection(),jest.advanceTimersByTime(m.RECONNECT_DEVICE_TIMEOUT),await d();const n=await t.sendApdu(Uint8Array.from([]),!1);await d(),expect(n).toEqual((0,c.Left)(new w.ReconnectionFailedError))}),test("sendApdu(whatever, false) should wait for reconnection to resolve",async()=>{e.sendReport=jest.fn(()=>Promise.resolve(e.oninputreport({type:"inputreport",data:new DataView(Uint8Array.from(u).buffer)})));const t=new s.UsbHidDeviceConnection({device:e,apduSender:o,apduReceiver:i,onConnectionTerminated:a,deviceId:x},r);t.lostConnection();let n=!1;const p=t.sendApdu(Uint8Array.from([]),!1).then(l=>(n=!0,l));await d(),expect(n).toBe(!1),t.reconnectHidDevice(e),await d(),expect(n).toBe(!0);const f=await p;expect(f).toEqual((0,c.Right)({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])}))})})});
2
- //# sourceMappingURL=UsbHidDeviceConnection.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../src/internal/transport/usb/transport/UsbHidDeviceConnection.test.ts"],
4
- "sourcesContent": ["import { Left, Right } from \"purify-ts\";\n\nimport { type DeviceId } from \"@api/types\";\nimport { type ApduReceiverService } from \"@internal/device-session/service/ApduReceiverService\";\nimport { type ApduSenderService } from \"@internal/device-session/service/ApduSenderService\";\nimport { defaultApduReceiverServiceStubBuilder } from \"@internal/device-session/service/DefaultApduReceiverService.stub\";\nimport { defaultApduSenderServiceStubBuilder } from \"@internal/device-session/service/DefaultApduSenderService.stub\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { ReconnectionFailedError } from \"@internal/transport/model/Errors\";\nimport { RECONNECT_DEVICE_TIMEOUT } from \"@internal/transport/usb/data/UsbHidConfig\";\nimport { hidDeviceStubBuilder } from \"@internal/transport/usb/model/HIDDevice.stub\";\nimport { UsbHidDeviceConnection } from \"@internal/transport/usb/transport/UsbHidDeviceConnection\";\n\njest.useFakeTimers();\n\nconst RESPONSE_LOCKED_DEVICE = new Uint8Array([\n 0xaa, 0xaa, 0x05, 0x00, 0x00, 0x00, 0x02, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\nconst RESPONSE_SUCCESS = new Uint8Array([\n 0xaa, 0xaa, 0x05, 0x00, 0x00, 0x00, 0x02, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n]);\n\n/**\n * Flushes all pending promises\n */\nconst flushPromises = () =>\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n new Promise(jest.requireActual(\"timers\").setImmediate);\n\njest.useFakeTimers();\n\ndescribe(\"UsbHidDeviceConnection\", () => {\n let device: HIDDevice;\n let apduSender: ApduSenderService;\n let apduReceiver: ApduReceiverService;\n const onConnectionTerminated = () => {};\n const deviceId: DeviceId = \"test-device-id\";\n const logger = (tag: string) => new DefaultLoggerPublisherService([], tag);\n\n beforeEach(() => {\n device = hidDeviceStubBuilder({ opened: true });\n apduSender = defaultApduSenderServiceStubBuilder(undefined, logger);\n apduReceiver = defaultApduReceiverServiceStubBuilder(undefined, logger);\n });\n\n it(\"should get device\", () => {\n // given\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n // when\n const cDevice = connection.device;\n // then\n expect(cDevice).toStrictEqual(device);\n });\n\n it(\"should send APDU through hid report\", () => {\n // given\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n // when\n connection.sendApdu(new Uint8Array(0));\n // then\n expect(device.sendReport).toHaveBeenCalled();\n });\n\n it(\"should receive APDU through hid report\", async () => {\n // given\n device.sendReport = jest.fn(() =>\n Promise.resolve(\n device.oninputreport!({\n type: \"inputreport\",\n data: new DataView(Uint8Array.from(RESPONSE_SUCCESS).buffer),\n } as HIDInputReportEvent),\n ),\n );\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n // when\n const response = await connection.sendApdu(Uint8Array.from([]));\n // then\n expect(response).toEqual(\n Right({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n }),\n );\n });\n\n describe(\"anticipating loss of connection after sending an APDU\", () => {\n test(\"sendApdu(whatever, true) should wait for reconnection before resolving if the response is a success\", async () => {\n // given\n device.sendReport = jest.fn(() =>\n Promise.resolve(\n device.oninputreport!({\n type: \"inputreport\",\n data: new DataView(Uint8Array.from(RESPONSE_SUCCESS).buffer),\n } as HIDInputReportEvent),\n ),\n );\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n\n let hasResolved = false;\n const responsePromise = connection\n .sendApdu(Uint8Array.from([]), true)\n .then((response) => {\n hasResolved = true;\n return response;\n });\n\n connection.lostConnection();\n\n // before reconnecting\n await flushPromises();\n expect(hasResolved).toBe(false);\n\n // when reconnecting\n connection.reconnectHidDevice(device);\n await flushPromises();\n expect(hasResolved).toBe(true);\n\n const response = await responsePromise;\n\n expect(response).toEqual(\n Right({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n }),\n );\n });\n\n test(\"sendApdu(whatever, true) should not wait for reconnection if the response is not a success\", async () => {\n // given\n device.sendReport = jest.fn(() =>\n Promise.resolve(\n device.oninputreport!({\n type: \"inputreport\",\n data: new DataView(Uint8Array.from(RESPONSE_LOCKED_DEVICE).buffer),\n } as HIDInputReportEvent),\n ),\n );\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n\n // when\n const response = await connection.sendApdu(Uint8Array.from([]), true);\n\n // then\n expect(response).toEqual(\n Right({\n statusCode: new Uint8Array([0x55, 0x15]),\n data: new Uint8Array([]),\n }),\n );\n });\n\n test(\"sendApdu(whatever, true) should return an error if the device gets disconnected while waiting for reconnection\", async () => {\n // given\n device.sendReport = jest.fn(() =>\n Promise.resolve(\n device.oninputreport!({\n type: \"inputreport\",\n data: new DataView(Uint8Array.from(RESPONSE_SUCCESS).buffer),\n } as HIDInputReportEvent),\n ),\n );\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n\n const responsePromise = connection.sendApdu(Uint8Array.from([]), true);\n\n // when disconnecting\n connection.lostConnection();\n jest.advanceTimersByTime(RECONNECT_DEVICE_TIMEOUT);\n await flushPromises();\n\n // then\n const response = await responsePromise;\n expect(response).toEqual(Left(new ReconnectionFailedError()));\n });\n });\n\n describe(\"connection lost before sending an APDU\", () => {\n test(\"sendApdu(whatever, false) should return an error if the device connection has been lost and times out\", async () => {\n // given\n device.sendReport = jest.fn(() =>\n Promise.resolve(\n device.oninputreport!({\n type: \"inputreport\",\n data: new DataView(Uint8Array.from(RESPONSE_SUCCESS).buffer),\n } as HIDInputReportEvent),\n ),\n );\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n\n // when losing connection\n connection.lostConnection();\n jest.advanceTimersByTime(RECONNECT_DEVICE_TIMEOUT);\n await flushPromises();\n\n // then\n const response = await connection.sendApdu(Uint8Array.from([]), false);\n await flushPromises();\n expect(response).toEqual(Left(new ReconnectionFailedError()));\n });\n\n test(\"sendApdu(whatever, false) should wait for reconnection to resolve\", async () => {\n // given\n device.sendReport = jest.fn(() =>\n Promise.resolve(\n device.oninputreport!({\n type: \"inputreport\",\n data: new DataView(Uint8Array.from(RESPONSE_SUCCESS).buffer),\n } as HIDInputReportEvent),\n ),\n );\n const connection = new UsbHidDeviceConnection(\n { device, apduSender, apduReceiver, onConnectionTerminated, deviceId },\n logger,\n );\n\n // when losing connection\n connection.lostConnection();\n\n let hasResolved = false;\n const responsePromise = connection\n .sendApdu(Uint8Array.from([]), false)\n .then((response) => {\n hasResolved = true;\n return response;\n });\n\n // before reconnecting\n await flushPromises();\n expect(hasResolved).toBe(false);\n\n // when reconnecting\n connection.reconnectHidDevice(device);\n await flushPromises();\n expect(hasResolved).toBe(true);\n\n const response = await responsePromise;\n\n expect(response).toEqual(\n Right({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n }),\n );\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["import_purify_ts", "import_DefaultApduReceiverService", "import_DefaultApduSenderService", "import_DefaultLoggerPublisherService", "import_Errors", "import_UsbHidConfig", "import_HIDDevice", "import_UsbHidDeviceConnection", "RESPONSE_LOCKED_DEVICE", "RESPONSE_SUCCESS", "flushPromises", "device", "apduSender", "apduReceiver", "onConnectionTerminated", "deviceId", "logger", "tag", "cDevice", "response", "connection", "hasResolved", "responsePromise"]
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";var S=Object.create;var l=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,T=Object.prototype.hasOwnProperty;var M=(r,e)=>{for(var i in e)l(r,i,{get:e[i],enumerable:!0})},b=(r,e,i,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of P(e))!T.call(r,n)&&n!==i&&l(r,n,{get:()=>e[n],enumerable:!(t=f(e,n))||t.enumerable});return r};var U=(r,e,i)=>(i=r!=null?S(A(r)):{},b(e||!r||!r.__esModule?l(i,"default",{value:r,enumerable:!0}):i,r)),L=r=>b(l({},"__esModule",{value:!0}),r),E=(r,e,i,t)=>{for(var n=t>1?void 0:t?f(e,i):e,o=r.length-1,a;o>=0;o--)(a=r[o])&&(n=(t?a(e,i,n):a(n))||n);return t&&n&&l(e,i,n),n},u=(r,e)=>(i,t)=>e(i,t,r);var B={};M(B,{WebUsbHidTransport:()=>p});module.exports=L(B);var g=U(require("@sentry/minimal")),D=require("inversify"),c=require("purify-ts"),v=require("rxjs"),I=require("uuid"),y=require("../../../../api/transport/model/TransportIdentifier"),_=require("../../../device-model/di/deviceModelTypes"),C=require("../../../logger-publisher/di/loggerTypes"),s=require("../../../transport/model/Errors"),H=require("../../../transport/model/InternalConnectedDevice"),m=require("../../../transport/usb/data/UsbHidConfig"),w=require("../../../transport/usb/di/usbDiTypes");let p=class{constructor(e,i,t){this.deviceModelDataSource=e;this._logger=i("WebUsbHidTransport"),this._usbHidDeviceConnectionFactory=t,this.startListeningToConnectionEvents()}_internalDiscoveredDevices=new v.BehaviorSubject([]);_deviceConnectionsByHidDevice=new Map;_deviceConnectionsPendingReconnection=new Set;_connectionListenersAbortController=new AbortController;_logger;_usbHidDeviceConnectionFactory;connectionType="USB";identifier=y.BuiltinTransports.USB;get hidApi(){return this.isSupported()?(0,c.Right)(navigator.hid):(0,c.Left)(new s.UsbHidTransportNotSupportedError("WebHID not supported"))}isSupported(){try{const e=!!navigator?.hid;return this._logger.debug(`isSupported: ${e}`),e}catch(e){return this._logger.error("isSupported: error",{data:{error:e}}),!1}}getIdentifier(){return this.identifier}async getDevices(){return c.EitherAsync.liftEither(this.hidApi).map(async e=>{try{return(await e.getDevices()).filter(t=>t.vendorId===m.LEDGER_VENDOR_ID)}catch(i){const t=new s.NoAccessibleDeviceError(i);throw this._logger.error("getDevices: error getting devices",{data:{error:i}}),g.captureException(t),t}}).run()}mapHIDDeviceToInternalDiscoveredDevice(e){const i=this._internalDiscoveredDevices.getValue().find(o=>o.hidDevice===e);if(i)return i;const t=this._deviceConnectionsByHidDevice.get(e);return this.getDeviceModel(e).caseOf({Just:o=>{const a=t?.deviceId??(0,I.v4)(),d={id:a,deviceModel:o,hidDevice:e,transport:this.identifier};return this._logger.debug(`Discovered device ${a} ${d.deviceModel.productName}`),d},Nothing:()=>{throw this._logger.warn(`Device not recognized: hidDevice.productId: 0x${e.productId.toString(16)}`),new s.DeviceNotRecognizedError(`Device not recognized: hidDevice.productId: 0x${e.productId.toString(16)}`)}})}listenToKnownDevices(){return this.updateInternalDiscoveredDevices(),this._internalDiscoveredDevices.pipe((0,v.map)(e=>e.map(({hidDevice:i,...t})=>t)))}async updateInternalDiscoveredDevices(){(await this.getDevices()).caseOf({Left:i=>{this._logger.error("Error while getting accessible device",{data:{error:i}}),g.captureException(i)},Right:i=>{this._internalDiscoveredDevices.next(i.map(t=>this.mapHIDDeviceToInternalDiscoveredDevice(t)))}})}async promptDeviceAccess(){return c.EitherAsync.liftEither(this.hidApi).map(async e=>{let i=[];try{i=await e.requestDevice({filters:[{vendorId:m.LEDGER_VENDOR_ID}]}),await this.updateInternalDiscoveredDevices()}catch(n){const o=new s.NoAccessibleDeviceError(n);throw this._logger.error("promptDeviceAccess: error requesting device",{data:{error:n}}),g.captureException(o),o}if(this._logger.debug(`promptDeviceAccess: hidDevices len ${i.length}`),i.length===0)throw this._logger.warn("No device was selected"),new s.NoAccessibleDeviceError("No selected device");const t=[];for(const n of i)t.push(n),this._logger.debug("promptDeviceAccess: selected device",{data:{hidDevice:n}});return t}).run()}startDiscovering(){return this._logger.debug("startDiscovering"),(0,v.from)(this.promptDeviceAccess()).pipe((0,v.switchMap)(e=>e.caseOf({Left:i=>{throw this._logger.error("Error while getting accessible device",{data:{error:i}}),g.captureException(i),i},Right:i=>{this._logger.info(`Got access to ${i.length} HID devices`);const t=i.map(n=>this.mapHIDDeviceToInternalDiscoveredDevice(n));return(0,v.from)(t)}})))}stopDiscovering(){}startListeningToConnectionEvents(){this._logger.debug("startListeningToConnectionEvents"),this.hidApi.map(e=>{e.addEventListener("connect",i=>this.handleDeviceConnectionEvent(i),{signal:this._connectionListenersAbortController.signal}),e.addEventListener("disconnect",i=>{this.handleDeviceDisconnectionEvent(i)},{signal:this._connectionListenersAbortController.signal})})}stopListeningToConnectionEvents(){this._logger.debug("stopListeningToConnectionEvents"),this._connectionListenersAbortController.abort()}async connect({deviceId:e,onDisconnect:i}){this._logger.debug("connect",{data:{deviceId:e}});const t=this._internalDiscoveredDevices.getValue().find(d=>d.id===e);if(!t)return this._logger.error(`Unknown device ${e}`),(0,c.Left)(new s.UnknownDeviceError(`Unknown device ${e}`));try{if(this._deviceConnectionsByHidDevice.get(t.hidDevice))throw new Error("Device already opened");await t.hidDevice.open()}catch(d){if(d instanceof DOMException&&d.name==="InvalidStateError")this._logger.debug(`Device ${e} is already opened`);else{const h=new s.OpeningConnectionError(d);return this._logger.debug(`Error while opening device: ${e}`,{data:{error:d}}),g.captureException(h),(0,c.Left)(h)}}const{deviceModel:n}=t,o=this._usbHidDeviceConnectionFactory.create(t.hidDevice,{onConnectionTerminated:()=>{i(e),this._deviceConnectionsPendingReconnection.delete(o),this._deviceConnectionsByHidDevice.delete(t.hidDevice),o.device.close()},deviceId:e});this._deviceConnectionsByHidDevice.set(t.hidDevice,o);const a=new H.InternalConnectedDevice({sendApdu:(d,h)=>o.sendApdu(d,h),deviceModel:n,id:e,type:this.connectionType,transport:this.identifier});return(0,c.Right)(a)}getDeviceModel(e){const{productId:i}=e,t=this.deviceModelDataSource.getAllDeviceModels().find(n=>n.usbProductId===i>>8||n.bootloaderUsbProductId===i);return t?c.Maybe.of(t):c.Maybe.zero()}getHidUsbProductId(e){return this.getDeviceModel(e).caseOf({Just:i=>i.usbProductId,Nothing:()=>e.productId>>8})}async disconnect(e){this._logger.debug("disconnect",{data:{connectedDevice:e}});const i=Array.from(this._deviceConnectionsByHidDevice.values()).find(t=>t.deviceId===e.connectedDevice.id);return i?(i.disconnect(),Promise.resolve((0,c.Right)(void 0))):(this._logger.error("No matching device connection found",{data:{connectedDevice:e}}),Promise.resolve((0,c.Left)(new s.UnknownDeviceError(`Unknown device ${e.connectedDevice.id}`))))}isHIDConnectionEvent(e){return"device"in e&&typeof e.device=="object"&&e.device!==null&&"productId"in e.device&&typeof e.device.productId=="number"}async handleDeviceDisconnectionEvent(e){if(!this.isHIDConnectionEvent(e)){this._logger.error("Invalid event",{data:{event:e}});return}this._logger.info("[handleDeviceDisconnectionEvent] Device disconnected",{data:{event:e}}),this.updateInternalDiscoveredDevices();try{await e.device.close()}catch(t){this._logger.error("Error while closing device ",{data:{event:e,error:t}})}const i=this._deviceConnectionsByHidDevice.get(e.device);i&&(i.lostConnection(),this._deviceConnectionsPendingReconnection.add(i),this._deviceConnectionsByHidDevice.delete(e.device))}handleDeviceReconnection(e,i){this._deviceConnectionsPendingReconnection.delete(e),this._deviceConnectionsByHidDevice.set(i,e);try{e.reconnectHidDevice(i)}catch(t){this._logger.error("Error while reconnecting to device",{data:{event,error:t}}),e.disconnect()}}handleDeviceConnectionEvent(e){if(!this.isHIDConnectionEvent(e)){this._logger.error("Invalid event",{data:{event:e}});return}this._logger.info("[handleDeviceConnectionEvent] Device connected",{data:{event:e}});const i=Array.from(this._deviceConnectionsPendingReconnection).find(t=>this.getHidUsbProductId(t.device)===this.getHidUsbProductId(e.device));i&&this.handleDeviceReconnection(i,e.device),this.updateInternalDiscoveredDevices()}destroy(){this.stopListeningToConnectionEvents(),this._deviceConnectionsByHidDevice.forEach(e=>{e.disconnect()}),this._deviceConnectionsPendingReconnection.clear()}};p=E([(0,D.injectable)(),u(0,(0,D.inject)(_.deviceModelTypes.DeviceModelDataSource)),u(1,(0,D.inject)(C.loggerTypes.LoggerPublisherServiceFactory)),u(2,(0,D.inject)(w.usbDiTypes.UsbHidDeviceConnectionFactory))],p);0&&(module.exports={WebUsbHidTransport});
2
- //# sourceMappingURL=WebUsbHidTransport.js.map