@ledgerhq/device-management-kit 0.0.0-wrong-error-when-in-experimental-provider-20251021162636 → 0.0.0-z-intent-queue-7-20251204111630

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 (445) hide show
  1. package/lib/cjs/package.json +45 -40
  2. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  3. package/lib/cjs/src/api/DeviceManagementKit.js.map +2 -2
  4. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +2 -2
  6. package/lib/cjs/src/api/command/Command.js +1 -1
  7. package/lib/cjs/src/api/command/Command.js.map +1 -1
  8. package/lib/cjs/src/api/command/Errors.js +1 -1
  9. package/lib/cjs/src/api/command/Errors.js.map +3 -3
  10. package/lib/cjs/src/api/command/model/CommandResult.js +1 -1
  11. package/lib/cjs/src/api/command/model/CommandResult.js.map +1 -1
  12. package/lib/cjs/src/api/command/os/CloseAppCommand.js +1 -1
  13. package/lib/cjs/src/api/command/os/CloseAppCommand.js.map +2 -2
  14. package/lib/cjs/src/api/command/os/CloseAppCommand.test.js +1 -1
  15. package/lib/cjs/src/api/command/os/CloseAppCommand.test.js.map +2 -2
  16. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js +1 -1
  17. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.js.map +2 -2
  18. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js +1 -1
  19. package/lib/cjs/src/api/command/os/GetAppAndVersionCommand.test.js.map +2 -2
  20. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js +1 -1
  21. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.js.map +2 -2
  22. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
  23. package/lib/cjs/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
  24. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js +1 -1
  25. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js.map +2 -2
  26. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js +1 -1
  27. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js.map +2 -2
  28. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  29. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  30. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  31. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +2 -2
  32. package/lib/cjs/src/api/command/os/ListAppsCommand.js +1 -1
  33. package/lib/cjs/src/api/command/os/ListAppsCommand.js.map +2 -2
  34. package/lib/cjs/src/api/command/os/ListAppsCommand.test.js +1 -1
  35. package/lib/cjs/src/api/command/os/ListAppsCommand.test.js.map +2 -2
  36. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js +1 -1
  37. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +2 -2
  38. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +1 -1
  39. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +2 -2
  40. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js +1 -1
  41. package/lib/cjs/src/api/command/os/LoadCertificateCommand.js.map +2 -2
  42. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js +1 -1
  43. package/lib/cjs/src/api/command/os/LoadCertificateCommand.test.js.map +3 -3
  44. package/lib/cjs/src/api/command/os/OpenAppCommand.js +1 -1
  45. package/lib/cjs/src/api/command/os/OpenAppCommand.js.map +2 -2
  46. package/lib/cjs/src/api/command/os/OpenAppCommand.test.js +1 -1
  47. package/lib/cjs/src/api/command/os/OpenAppCommand.test.js.map +2 -2
  48. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  49. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  50. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  51. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  52. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  53. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  54. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  55. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  56. package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
  57. package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
  58. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
  59. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +2 -2
  60. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +1 -1
  61. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +1 -1
  62. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +1 -1
  63. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +2 -2
  64. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -1
  65. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +1 -1
  66. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +1 -1
  67. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +2 -2
  68. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -1
  69. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +1 -1
  70. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  71. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  72. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js +1 -1
  73. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +2 -2
  74. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +1 -1
  75. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +2 -2
  76. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
  77. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +2 -2
  78. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
  79. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +2 -2
  80. package/lib/cjs/src/api/index.js +1 -1
  81. package/lib/cjs/src/api/index.js.map +2 -2
  82. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js +1 -1
  83. package/lib/cjs/src/api/logger-subscriber/service/ConsoleLogger.js.map +3 -3
  84. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  85. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +2 -2
  86. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  87. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  88. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/types.js.map +1 -1
  89. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  90. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +2 -2
  91. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +1 -1
  92. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  93. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  94. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
  95. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  96. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
  97. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +2 -2
  98. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +1 -1
  99. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
  100. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
  101. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
  102. package/lib/cjs/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
  103. package/lib/cjs/src/api/secure-channel/task/types.js +1 -1
  104. package/lib/cjs/src/api/secure-channel/task/types.js.map +2 -2
  105. package/lib/cjs/src/api/secure-channel/utils.js +1 -1
  106. package/lib/cjs/src/api/secure-channel/utils.js.map +3 -3
  107. package/lib/cjs/src/api/secure-channel/utils.test.js +1 -1
  108. package/lib/cjs/src/api/secure-channel/utils.test.js.map +3 -3
  109. package/lib/cjs/src/api/transport/model/ConnectedDevice.js +1 -1
  110. package/lib/cjs/src/api/transport/model/ConnectedDevice.js.map +3 -3
  111. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  112. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  113. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js +1 -1
  114. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.js.map +3 -3
  115. package/lib/cjs/src/internal/crypto/CryptoService.js +2 -0
  116. package/lib/cjs/src/internal/crypto/CryptoService.js.map +7 -0
  117. package/lib/cjs/src/internal/crypto/NobleCryptoService.js +2 -0
  118. package/lib/cjs/src/internal/crypto/NobleCryptoService.js.map +7 -0
  119. package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js +2 -0
  120. package/lib/cjs/src/internal/crypto/NobleCryptoService.test.js.map +7 -0
  121. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js +1 -1
  122. package/lib/cjs/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  123. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  124. package/lib/cjs/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  125. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  126. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  127. package/lib/cjs/src/internal/device-session/model/DeviceSession.test.js +2 -0
  128. package/lib/cjs/src/internal/device-session/model/DeviceSession.test.js.map +7 -0
  129. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js +1 -1
  130. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +2 -2
  131. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  132. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  133. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  134. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  135. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  136. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
  137. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  138. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +2 -2
  139. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js +1 -1
  140. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.js.map +3 -3
  141. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  142. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  143. package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js +1 -1
  144. package/lib/cjs/src/internal/device-session/service/DeviceSessionService.js.map +1 -1
  145. package/lib/cjs/src/internal/device-session/service/IntentQueueService.js +2 -0
  146. package/lib/cjs/src/internal/device-session/service/IntentQueueService.js.map +7 -0
  147. package/lib/cjs/src/internal/device-session/service/IntentQueueService.test.js +2 -0
  148. package/lib/cjs/src/internal/device-session/service/IntentQueueService.test.js.map +7 -0
  149. package/lib/cjs/src/internal/device-session/use-case/UnsafeBypassIntentQueueUseCase.js +2 -0
  150. package/lib/cjs/src/internal/device-session/use-case/UnsafeBypassIntentQueueUseCase.js.map +7 -0
  151. package/lib/cjs/src/internal/discovery/di/discoveryModule.js +1 -1
  152. package/lib/cjs/src/internal/discovery/di/discoveryModule.js.map +3 -3
  153. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js +1 -1
  154. package/lib/cjs/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  155. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js +1 -1
  156. package/lib/cjs/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  157. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  158. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  159. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  160. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  161. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  162. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  163. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.js +2 -0
  164. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.js.map +7 -0
  165. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js +2 -0
  166. package/lib/cjs/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +7 -0
  167. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  168. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  169. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  170. package/lib/esm/package.json +45 -40
  171. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  172. package/lib/esm/src/api/DeviceManagementKit.js.map +2 -2
  173. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  174. package/lib/esm/src/api/DeviceManagementKit.test.js.map +2 -2
  175. package/lib/esm/src/api/command/Errors.js +1 -1
  176. package/lib/esm/src/api/command/Errors.js.map +3 -3
  177. package/lib/esm/src/api/command/model/CommandResult.js +1 -1
  178. package/lib/esm/src/api/command/model/CommandResult.js.map +1 -1
  179. package/lib/esm/src/api/command/os/CloseAppCommand.js +1 -1
  180. package/lib/esm/src/api/command/os/CloseAppCommand.js.map +2 -2
  181. package/lib/esm/src/api/command/os/CloseAppCommand.test.js +1 -1
  182. package/lib/esm/src/api/command/os/CloseAppCommand.test.js.map +2 -2
  183. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js +1 -1
  184. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.js.map +2 -2
  185. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js +1 -1
  186. package/lib/esm/src/api/command/os/GetAppAndVersionCommand.test.js.map +2 -2
  187. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js +1 -1
  188. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.js.map +2 -2
  189. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js +1 -1
  190. package/lib/esm/src/api/command/os/GetBatteryStatusCommand.test.js.map +3 -3
  191. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js +1 -1
  192. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js.map +2 -2
  193. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js +1 -1
  194. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js.map +2 -2
  195. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  196. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +2 -2
  197. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  198. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +2 -2
  199. package/lib/esm/src/api/command/os/ListAppsCommand.js +1 -1
  200. package/lib/esm/src/api/command/os/ListAppsCommand.js.map +2 -2
  201. package/lib/esm/src/api/command/os/ListAppsCommand.test.js +1 -1
  202. package/lib/esm/src/api/command/os/ListAppsCommand.test.js.map +2 -2
  203. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js +1 -1
  204. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +2 -2
  205. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +1 -1
  206. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +2 -2
  207. package/lib/esm/src/api/command/os/LoadCertificateCommand.js +1 -1
  208. package/lib/esm/src/api/command/os/LoadCertificateCommand.js.map +2 -2
  209. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js +1 -1
  210. package/lib/esm/src/api/command/os/LoadCertificateCommand.test.js.map +3 -3
  211. package/lib/esm/src/api/command/os/OpenAppCommand.js +1 -1
  212. package/lib/esm/src/api/command/os/OpenAppCommand.js.map +2 -2
  213. package/lib/esm/src/api/command/os/OpenAppCommand.test.js +1 -1
  214. package/lib/esm/src/api/command/os/OpenAppCommand.test.js.map +2 -2
  215. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  216. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +2 -2
  217. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  218. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  219. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  220. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  221. package/lib/esm/src/api/device-action/os/Errors.js +1 -1
  222. package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
  223. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +1 -1
  224. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +2 -2
  225. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +1 -1
  226. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +2 -2
  227. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +1 -1
  228. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +2 -2
  229. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  230. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  231. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js +1 -1
  232. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +3 -3
  233. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +1 -1
  234. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +3 -3
  235. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +1 -1
  236. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +3 -3
  237. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +1 -1
  238. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +3 -3
  239. package/lib/esm/src/api/index.js +1 -1
  240. package/lib/esm/src/api/index.js.map +3 -3
  241. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js +1 -1
  242. package/lib/esm/src/api/logger-subscriber/service/ConsoleLogger.js.map +3 -3
  243. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  244. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  245. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  246. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  247. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +1 -1
  248. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +2 -2
  249. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  250. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  251. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  252. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +1 -1
  253. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +2 -2
  254. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js +1 -1
  255. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.js.map +3 -3
  256. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js +1 -1
  257. package/lib/esm/src/api/secure-channel/task/ConnectToSecureChannelTask.test.js.map +3 -3
  258. package/lib/esm/src/api/secure-channel/task/types.js +1 -1
  259. package/lib/esm/src/api/secure-channel/task/types.js.map +2 -2
  260. package/lib/esm/src/api/secure-channel/utils.js +1 -1
  261. package/lib/esm/src/api/secure-channel/utils.js.map +3 -3
  262. package/lib/esm/src/api/secure-channel/utils.test.js +1 -1
  263. package/lib/esm/src/api/secure-channel/utils.test.js.map +3 -3
  264. package/lib/esm/src/api/transport/model/ConnectedDevice.js +1 -1
  265. package/lib/esm/src/api/transport/model/ConnectedDevice.js.map +3 -3
  266. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  267. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  268. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js +1 -1
  269. package/lib/esm/src/api/transport/model/TransportConnectedDevice.js.map +3 -3
  270. package/lib/esm/src/internal/crypto/CryptoService.js +1 -0
  271. package/lib/esm/src/internal/crypto/CryptoService.js.map +7 -0
  272. package/lib/esm/src/internal/crypto/NobleCryptoService.js +2 -0
  273. package/lib/esm/src/internal/crypto/NobleCryptoService.js.map +7 -0
  274. package/lib/esm/src/internal/crypto/NobleCryptoService.test.js +2 -0
  275. package/lib/esm/src/internal/crypto/NobleCryptoService.test.js.map +7 -0
  276. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js +1 -1
  277. package/lib/esm/src/internal/device-session/di/deviceSessionModule.js.map +3 -3
  278. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js +1 -1
  279. package/lib/esm/src/internal/device-session/di/deviceSessionTypes.js.map +2 -2
  280. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  281. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  282. package/lib/esm/src/internal/device-session/model/DeviceSession.test.js +2 -0
  283. package/lib/esm/src/internal/device-session/model/DeviceSession.test.js.map +7 -0
  284. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js +1 -1
  285. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +2 -2
  286. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  287. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  288. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  289. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +2 -2
  290. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +1 -1
  291. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +3 -3
  292. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +1 -1
  293. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +2 -2
  294. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js +1 -1
  295. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.js.map +3 -3
  296. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  297. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  298. package/lib/esm/src/internal/device-session/service/IntentQueueService.js +2 -0
  299. package/lib/esm/src/internal/device-session/service/IntentQueueService.js.map +7 -0
  300. package/lib/esm/src/internal/device-session/service/IntentQueueService.test.js +2 -0
  301. package/lib/esm/src/internal/device-session/service/IntentQueueService.test.js.map +7 -0
  302. package/lib/esm/src/internal/device-session/use-case/UnsafeBypassIntentQueueUseCase.js +2 -0
  303. package/lib/esm/src/internal/device-session/use-case/UnsafeBypassIntentQueueUseCase.js.map +7 -0
  304. package/lib/esm/src/internal/discovery/di/discoveryModule.js +1 -1
  305. package/lib/esm/src/internal/discovery/di/discoveryModule.js.map +3 -3
  306. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js +1 -1
  307. package/lib/esm/src/internal/discovery/di/discoveryModule.test.js.map +3 -3
  308. package/lib/esm/src/internal/discovery/di/discoveryTypes.js +1 -1
  309. package/lib/esm/src/internal/discovery/di/discoveryTypes.js.map +2 -2
  310. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  311. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  312. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js +1 -1
  313. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.test.js.map +3 -3
  314. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js +1 -1
  315. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.js.map +3 -3
  316. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.js +2 -0
  317. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.js.map +7 -0
  318. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js +2 -0
  319. package/lib/esm/src/internal/discovery/use-case/ReconnectUseCase.test.js.map +7 -0
  320. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  321. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  322. package/lib/types/src/api/DeviceManagementKit.d.ts +22 -0
  323. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  324. package/lib/types/src/api/command/Command.d.ts +4 -0
  325. package/lib/types/src/api/command/Command.d.ts.map +1 -1
  326. package/lib/types/src/api/command/Errors.d.ts +2 -2
  327. package/lib/types/src/api/command/Errors.d.ts.map +1 -1
  328. package/lib/types/src/api/command/model/CommandResult.d.ts +3 -3
  329. package/lib/types/src/api/command/model/CommandResult.d.ts.map +1 -1
  330. package/lib/types/src/api/command/os/CloseAppCommand.d.ts +1 -0
  331. package/lib/types/src/api/command/os/CloseAppCommand.d.ts.map +1 -1
  332. package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts +1 -0
  333. package/lib/types/src/api/command/os/GetAppAndVersionCommand.d.ts.map +1 -1
  334. package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts +1 -0
  335. package/lib/types/src/api/command/os/GetBatteryStatusCommand.d.ts.map +1 -1
  336. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts +1 -0
  337. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts.map +1 -1
  338. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +1 -0
  339. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  340. package/lib/types/src/api/command/os/ListAppsCommand.d.ts +1 -0
  341. package/lib/types/src/api/command/os/ListAppsCommand.d.ts.map +1 -1
  342. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +1 -0
  343. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -1
  344. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts +1 -0
  345. package/lib/types/src/api/command/os/LoadCertificateCommand.d.ts.map +1 -1
  346. package/lib/types/src/api/command/os/OpenAppCommand.d.ts +1 -0
  347. package/lib/types/src/api/command/os/OpenAppCommand.d.ts.map +1 -1
  348. package/lib/types/src/api/device-action/DeviceAction.d.ts +0 -1
  349. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  350. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  351. package/lib/types/src/api/device-action/os/Errors.d.ts +5 -0
  352. package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
  353. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -1
  354. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +1 -0
  355. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -1
  356. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -1
  357. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +3 -2
  358. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -1
  359. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -1
  360. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +1 -0
  361. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -1
  362. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts +2 -2
  363. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts.map +1 -1
  364. package/lib/types/src/api/index.d.ts +1 -1
  365. package/lib/types/src/api/index.d.ts.map +1 -1
  366. package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts +1 -0
  367. package/lib/types/src/api/logger-subscriber/service/ConsoleLogger.d.ts.map +1 -1
  368. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
  369. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts +1 -0
  370. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/types.d.ts.map +1 -1
  371. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -1
  372. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +1 -0
  373. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -1
  374. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -1
  375. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +1 -0
  376. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -1
  377. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -1
  378. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +1 -0
  379. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -1
  380. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts +4 -0
  381. package/lib/types/src/api/secure-channel/task/ConnectToSecureChannelTask.d.ts.map +1 -1
  382. package/lib/types/src/api/secure-channel/task/types.d.ts +7 -0
  383. package/lib/types/src/api/secure-channel/task/types.d.ts.map +1 -1
  384. package/lib/types/src/api/secure-channel/utils.d.ts +18 -1
  385. package/lib/types/src/api/secure-channel/utils.d.ts.map +1 -1
  386. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts +3 -2
  387. package/lib/types/src/api/transport/model/ConnectedDevice.d.ts.map +1 -1
  388. package/lib/types/src/api/transport/model/Errors.d.ts +5 -0
  389. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  390. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts +3 -1
  391. package/lib/types/src/api/transport/model/TransportConnectedDevice.d.ts.map +1 -1
  392. package/lib/types/src/internal/crypto/CryptoService.d.ts +12 -0
  393. package/lib/types/src/internal/crypto/CryptoService.d.ts.map +1 -0
  394. package/lib/types/src/internal/crypto/NobleCryptoService.d.ts +8 -0
  395. package/lib/types/src/internal/crypto/NobleCryptoService.d.ts.map +1 -0
  396. package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts +2 -0
  397. package/lib/types/src/internal/crypto/NobleCryptoService.test.d.ts.map +1 -0
  398. package/lib/types/src/internal/device-session/di/deviceSessionModule.d.ts.map +1 -1
  399. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts +1 -0
  400. package/lib/types/src/internal/device-session/di/deviceSessionTypes.d.ts.map +1 -1
  401. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +12 -2
  402. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  403. package/lib/types/src/internal/device-session/model/DeviceSession.test.d.ts +2 -0
  404. package/lib/types/src/internal/device-session/model/DeviceSession.test.d.ts.map +1 -0
  405. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts +3 -1
  406. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts.map +1 -1
  407. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +0 -1
  408. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  409. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts +1 -0
  410. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -1
  411. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts +7 -5
  412. package/lib/types/src/internal/device-session/service/DefaultDeviceSessionService.d.ts.map +1 -1
  413. package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts +28 -1
  414. package/lib/types/src/internal/device-session/service/DeviceSessionService.d.ts.map +1 -1
  415. package/lib/types/src/internal/device-session/service/IntentQueueService.d.ts +101 -0
  416. package/lib/types/src/internal/device-session/service/IntentQueueService.d.ts.map +1 -0
  417. package/lib/types/src/internal/device-session/service/IntentQueueService.test.d.ts +2 -0
  418. package/lib/types/src/internal/device-session/service/IntentQueueService.test.d.ts.map +1 -0
  419. package/lib/types/src/internal/device-session/use-case/UnsafeBypassIntentQueueUseCase.d.ts +19 -0
  420. package/lib/types/src/internal/device-session/use-case/UnsafeBypassIntentQueueUseCase.d.ts.map +1 -0
  421. package/lib/types/src/internal/discovery/di/discoveryModule.d.ts.map +1 -1
  422. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts +1 -0
  423. package/lib/types/src/internal/discovery/di/discoveryTypes.d.ts.map +1 -1
  424. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +3 -2
  425. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  426. package/lib/types/src/internal/discovery/use-case/DisconnectUseCase.d.ts.map +1 -1
  427. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.d.ts +32 -0
  428. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.d.ts.map +1 -0
  429. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts +2 -0
  430. package/lib/types/src/internal/discovery/use-case/ReconnectUseCase.test.d.ts.map +1 -0
  431. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +1 -1
  432. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  433. package/package.json +33 -28
  434. package/lib/cjs/src/internal/device-session/service/MutexService.js +0 -2
  435. package/lib/cjs/src/internal/device-session/service/MutexService.js.map +0 -7
  436. package/lib/cjs/src/internal/device-session/service/MutexService.test.js +0 -2
  437. package/lib/cjs/src/internal/device-session/service/MutexService.test.js.map +0 -7
  438. package/lib/esm/src/internal/device-session/service/MutexService.js +0 -2
  439. package/lib/esm/src/internal/device-session/service/MutexService.js.map +0 -7
  440. package/lib/esm/src/internal/device-session/service/MutexService.test.js +0 -2
  441. package/lib/esm/src/internal/device-session/service/MutexService.test.js.map +0 -7
  442. package/lib/types/src/internal/device-session/service/MutexService.d.ts +0 -6
  443. package/lib/types/src/internal/device-session/service/MutexService.d.ts.map +0 -1
  444. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts +0 -2
  445. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts.map +0 -1
@@ -1,63 +1,68 @@
1
1
  {
2
- "name": "@ledgerhq/device-management-kit",
3
- "version": "0.9.1",
4
- "private": false,
5
- "license": "Apache-2.0",
2
+ "dependencies": {
3
+ "@noble/hashes": "^1.8.0",
4
+ "@sentry/minimal": "catalog:",
5
+ "axios": "catalog:",
6
+ "inversify": "catalog:",
7
+ "isomorphic-ws": "catalog:",
8
+ "purify-ts": "catalog:",
9
+ "reflect-metadata": "catalog:",
10
+ "semver": "catalog:",
11
+ "url": "catalog:",
12
+ "uuid": "catalog:",
13
+ "ws": "catalog:",
14
+ "xstate": "catalog:"
15
+ },
16
+ "devDependencies": {
17
+ "@ledgerhq/eslint-config-dsdk": "workspace:^",
18
+ "@ledgerhq/ldmk-tool": "workspace:^",
19
+ "@ledgerhq/prettier-config-dsdk": "workspace:^",
20
+ "@ledgerhq/tsconfig-dsdk": "workspace:^",
21
+ "@ledgerhq/vitest-config-dmk": "workspace:^",
22
+ "@statelyai/inspect": "catalog:",
23
+ "@types/semver": "catalog:",
24
+ "@types/uuid": "catalog:",
25
+ "@types/ws": "catalog:",
26
+ "rxjs": "catalog:",
27
+ "ts-node": "catalog:"
28
+ },
6
29
  "exports": {
7
30
  ".": {
8
- "types": "./lib/types/index.d.ts",
9
31
  "import": "./lib/esm/index.js",
10
- "require": "./lib/cjs/index.js"
32
+ "require": "./lib/cjs/index.js",
33
+ "types": "./lib/types/index.d.ts"
11
34
  }
12
35
  },
13
36
  "files": [
14
37
  "./lib",
15
38
  "package.json"
16
39
  ],
40
+ "license": "Apache-2.0",
41
+ "name": "@ledgerhq/device-management-kit",
42
+ "peerDependencies": {
43
+ "rxjs": "catalog:"
44
+ },
45
+ "private": false,
46
+ "repository": {
47
+ "type": "git",
48
+ "url": "https://github.com/LedgerHQ/device-sdk-ts.git"
49
+ },
17
50
  "scripts": {
18
- "prebuild": "rimraf lib",
19
51
  "build": "pnpm ldmk-tool build --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
20
52
  "dev": "concurrently \"pnpm watch:builds\" \"pnpm watch:types\"",
21
- "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
22
- "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\"",
23
53
  "lint": "eslint",
24
54
  "lint:fix": "pnpm lint --fix",
55
+ "module:create": "pnpm hygen core-module with-prompt",
25
56
  "postpack": "find . -name '*.tgz' -exec cp {} ../../dist/ \\; ",
57
+ "prebuild": "rimraf lib",
26
58
  "prettier": "prettier . --check",
27
59
  "prettier:fix": "prettier . --write",
28
60
  "test": "vitest run",
29
- "test:watch": "vitest",
30
61
  "test:coverage": "vitest run --coverage",
62
+ "test:watch": "vitest",
31
63
  "typecheck": "tsc --noEmit",
32
- "module:create": "pnpm hygen core-module with-prompt"
33
- },
34
- "dependencies": {
35
- "@sentry/minimal": "catalog:",
36
- "axios": "catalog:",
37
- "inversify": "catalog:",
38
- "isomorphic-ws": "catalog:",
39
- "purify-ts": "catalog:",
40
- "reflect-metadata": "catalog:",
41
- "semver": "catalog:",
42
- "url": "catalog:",
43
- "uuid": "catalog:",
44
- "ws": "catalog:",
45
- "xstate": "catalog:"
46
- },
47
- "peerDependencies": {
48
- "rxjs": "catalog:"
64
+ "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
65
+ "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
49
66
  },
50
- "devDependencies": {
51
- "@ledgerhq/ldmk-tool": "workspace:*",
52
- "@ledgerhq/eslint-config-dsdk": "workspace:*",
53
- "@ledgerhq/prettier-config-dsdk": "workspace:*",
54
- "@ledgerhq/tsconfig-dsdk": "workspace:*",
55
- "@ledgerhq/vitest-config-dmk": "workspace:*",
56
- "@statelyai/inspect": "catalog:",
57
- "@types/semver": "catalog:",
58
- "@types/uuid": "catalog:",
59
- "@types/ws": "catalog:",
60
- "rxjs": "catalog:",
61
- "ts-node": "catalog:"
62
- }
67
+ "version": "0.0.0-z-intent-queue-7-20251204111630"
63
68
  }
@@ -1,2 +1,2 @@
1
- "use strict";var c=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var S=(t,e)=>{for(var i in e)c(t,i,{get:e[i],enumerable:!0})},y=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of U(e))!g.call(t,r)&&r!==i&&c(t,r,{get:()=>e[r],enumerable:!(o=u(e,r))||o.enumerable});return t};var A=t=>y(c({},"__esModule",{value:!0}),t);var f={};S(f,{DeviceManagementKit:()=>l});module.exports=A(f);var p=require("./command/di/commandTypes"),m=require("../internal/config/di/configTypes"),n=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),a=require("../internal/manager-api/di/managerApiTypes"),C=require("../internal/send/di/sendTypes"),v=require("../internal/transport/di/transportDiTypes"),d=require("../../src/di"),D=require("./device-action/di/deviceActionTypes");class l{container;constructor({stub:e,transports:i,loggers:o,config:r}={}){this.container=(0,d.makeContainer)({stub:e,transports:i,loggers:o,config:r})}getVersion(){return this.container.get(m.configTypes.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.discoveryTypes.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.discoveryTypes.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.discoveryTypes.ListenToAvailableDevicesUseCase).execute(e)}connect(e){return this.container.get(s.discoveryTypes.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.discoveryTypes.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(C.sendTypes.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(p.commandTypes.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(D.deviceActionTypes.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.discoveryTypes.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(n.deviceSessionTypes.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(n.deviceSessionTypes.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.discoveryTypes.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.discoveryTypes.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(n.deviceSessionTypes.DisableDeviceSessionRefresherUseCase).execute(e)}setProvider(e){return this.container.get(a.managerApiTypes.SetProviderUseCase).execute(e)}getProvider(){return this.container.get(a.managerApiTypes.ManagerApiDataSource).getProvider()}isEnvironmentSupported(){return this.container.get(v.transportDiTypes.TransportService).getAllTransports().some(e=>e.isSupported())}}0&&(module.exports={DeviceManagementKit});
1
+ "use strict";var a=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var y=(t,e)=>{for(var n in e)a(t,n,{get:e[n],enumerable:!0})},S=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of U(e))!g.call(t,r)&&r!==n&&a(t,r,{get:()=>e[r],enumerable:!(o=D(e,r))||o.enumerable});return t};var A=t=>S(a({},"__esModule",{value:!0}),t);var l={};y(l,{DeviceManagementKit:()=>f});module.exports=A(l);var p=require("./command/di/commandTypes"),m=require("../internal/config/di/configTypes"),i=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),c=require("../internal/manager-api/di/managerApiTypes"),C=require("../internal/send/di/sendTypes"),v=require("../internal/transport/di/transportDiTypes"),u=require("../../src/di"),d=require("./device-action/di/deviceActionTypes");class f{container;constructor({stub:e,transports:n,loggers:o,config:r}={}){this.container=(0,u.makeContainer)({stub:e,transports:n,loggers:o,config:r})}getVersion(){return this.container.get(m.configTypes.GetDmkVersionUseCase).getDmkVersion()}startDiscovering(e){return this.container.get(s.discoveryTypes.StartDiscoveringUseCase).execute(e)}stopDiscovering(){return this.container.get(s.discoveryTypes.StopDiscoveringUseCase).execute()}listenToAvailableDevices(e){return this.container.get(s.discoveryTypes.ListenToAvailableDevicesUseCase).execute(e)}async reconnect(e){return this.container.get(s.discoveryTypes.ReconnectUseCase).execute(e)}connect(e){return this.container.get(s.discoveryTypes.ConnectUseCase).execute(e)}disconnect(e){return this.container.get(s.discoveryTypes.DisconnectUseCase).execute(e)}sendApdu(e){return this.container.get(C.sendTypes.SendApduUseCase).execute(e)}sendCommand(e){return this.container.get(p.commandTypes.SendCommandUseCase).execute(e)}executeDeviceAction(e){return this.container.get(d.deviceActionTypes.ExecuteDeviceActionUseCase).execute(e)}getConnectedDevice(e){return this.container.get(s.discoveryTypes.GetConnectedDeviceUseCase).execute(e)}getDeviceSessionState(e){return this.container.get(i.deviceSessionTypes.GetDeviceSessionStateUseCase).execute(e)}close(){return this.container.get(i.deviceSessionTypes.CloseSessionsUseCase).execute()}listConnectedDevices(){return this.container.get(s.discoveryTypes.ListConnectedDevicesUseCase).execute()}listenToConnectedDevice(){return this.container.get(s.discoveryTypes.ListenToConnectedDeviceUseCase).execute()}disableDeviceSessionRefresher(e){return this.container.get(i.deviceSessionTypes.DisableDeviceSessionRefresherUseCase).execute(e)}_unsafeBypassIntentQueue(e){return this.container.get(i.deviceSessionTypes.UnsafeBypassIntentQueueUseCase).execute(e)}setProvider(e){return this.container.get(c.managerApiTypes.SetProviderUseCase).execute(e)}getProvider(){return this.container.get(c.managerApiTypes.ManagerApiDataSource).getProvider()}isEnvironmentSupported(){return this.container.get(v.transportDiTypes.TransportService).getAllTransports().some(e=>e.isSupported())}}0&&(module.exports={DeviceManagementKit});
2
2
  //# sourceMappingURL=DeviceManagementKit.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.ts"],
4
- "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n\n /**\n * Returns the current provider value from the manager API data source.\n */\n getProvider(): number {\n return this.container\n .get<ManagerApiDataSource>(managerApiTypes.ManagerApiDataSource)\n .getProvider();\n }\n\n /**\n * Check if the current environment is supported by any transport.\n */\n isEnvironmentSupported(): boolean {\n return this.container\n .get<TransportService>(transportDiTypes.TransportService)\n .getAllTransports()\n .some((transport) => transport.isSupported());\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAA6B,wCAsB7BC,EAA4B,2CAE5BC,EAAmC,0DAGnCC,EAA+B,iDAa/BC,EAAgC,oDAEhCC,EAA0B,uCAE1BC,EAAiC,mDAEjCC,EAAuD,wBAMvDC,EAAkC,gDAS3B,MAAMV,CAAoB,CACtB,UAET,YAAY,CACV,KAAAW,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,aAAY,iBAAc,CAC7B,KAAAH,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0B,cAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEC,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6B,iBAAe,uBAAuB,EACnE,QAAQA,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4B,iBAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEA,EACgC,CAChC,OAAO,KAAK,UACT,IACC,iBAAe,+BACjB,EACC,QAAQA,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoB,iBAAe,cAAc,EACjD,QAAQA,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuB,iBAAe,iBAAiB,EACvD,QAAQA,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqB,YAAU,eAAe,EAC9C,QAAQA,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwB,eAAa,kBAAkB,EACvD,QAAQA,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACC,oBAAkB,0BACpB,EACC,QAAQA,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+B,iBAAe,yBAAyB,EACvE,QAAQA,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACC,qBAAmB,4BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0B,qBAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BA,EAGf,CACb,OAAO,KAAK,UACT,IACC,qBAAmB,oCACrB,EACC,QAAQA,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwB,kBAAgB,kBAAkB,EAC1D,QAAQA,CAAQ,CACrB,CAKA,aAAsB,CACpB,OAAO,KAAK,UACT,IAA0B,kBAAgB,oBAAoB,EAC9D,YAAY,CACjB,CAKA,wBAAkC,CAChC,OAAO,KAAK,UACT,IAAsB,mBAAiB,gBAAgB,EACvD,iBAAiB,EACjB,KAAMC,GAAcA,EAAU,YAAY,CAAC,CAChD,CACF",
4
+ "sourcesContent": ["import { type Container } from \"inversify\";\nimport { type Observable } from \"rxjs\";\n\nimport { commandTypes } from \"@api/command/di/commandTypes\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport {\n type SendCommandUseCase,\n type SendCommandUseCaseArgs,\n} from \"@api/command/use-case/SendCommandUseCase\";\nimport {\n type ExecuteDeviceActionUseCase,\n type ExecuteDeviceActionUseCaseArgs,\n} from \"@api/device-action/use-case/ExecuteDeviceActionUseCase\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\nimport { type DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { type DeviceSessionId } from \"@api/device-session/types\";\nimport { type ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nimport {\n type ConnectUseCaseArgs,\n type DisconnectUseCaseArgs,\n type DiscoveredDevice,\n type GetConnectedDeviceUseCaseArgs,\n type SendApduUseCaseArgs,\n type StartDiscoveringUseCaseArgs,\n} from \"@api/types\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { type GetDmkVersionUseCase } from \"@internal/config/use-case/GetDmkVersionUseCase\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { type CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { type GetDeviceSessionStateUseCase } from \"@internal/device-session/use-case/GetDeviceSessionStateUseCase\";\nimport {\n type UnsafeBypassIntentQueueUseCase,\n type UnsafeBypassIntentQueueUseCaseArgs,\n} from \"@internal/device-session/use-case/UnsafeBypassIntentQueueUseCase\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { type ConnectUseCase } from \"@internal/discovery/use-case/ConnectUseCase\";\nimport { type DisconnectUseCase } from \"@internal/discovery/use-case/DisconnectUseCase\";\nimport { type GetConnectedDeviceUseCase } from \"@internal/discovery/use-case/GetConnectedDeviceUseCase\";\nimport { type ListConnectedDevicesUseCase } from \"@internal/discovery/use-case/ListConnectedDevicesUseCase\";\nimport {\n type ListenToAvailableDevicesUseCase,\n type ListenToAvailableDevicesUseCaseArgs,\n} from \"@internal/discovery/use-case/ListenToAvailableDevicesUseCase\";\nimport { type ListenToConnectedDeviceUseCase } from \"@internal/discovery/use-case/ListenToConnectedDeviceUseCase\";\nimport {\n type ReconnectUseCase,\n type ReconnectUseCaseArgs,\n} from \"@internal/discovery/use-case/ReconnectUseCase\";\nimport type { StartDiscoveringUseCase } from \"@internal/discovery/use-case/StartDiscoveringUseCase\";\nimport type { StopDiscoveringUseCase } from \"@internal/discovery/use-case/StopDiscoveringUseCase\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { type SetProviderUseCase } from \"@internal/manager-api/use-case/SetProviderUseCase\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport { type SendApduUseCase } from \"@internal/send/use-case/SendApduUseCase\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\nimport { makeContainer, type MakeContainerProps } from \"@root/src/di\";\n\nimport {\n type DeviceActionIntermediateValue,\n type ExecuteDeviceActionReturnType,\n} from \"./device-action/DeviceAction\";\nimport { deviceActionTypes } from \"./device-action/di/deviceActionTypes\";\nimport { type DisableDeviceSessionRefresherUseCase } from \"./device-session/use-case/DisableDeviceSessionRefresher\";\nimport { type DmkError } from \"./Error\";\n\n/**\n * The main class to interact with the Device Management Kit.\n *\n * NB: do not instantiate this class directly, instead, use `LedgerDMKBuilder`.\n */\nexport class DeviceManagementKit {\n readonly container: Container;\n /** @internal */\n constructor({\n stub,\n transports,\n loggers,\n config,\n }: Partial<MakeContainerProps> = {}) {\n // NOTE: MakeContainerProps might not be the exact type here\n // For the init of the project this is sufficient, but we might need to\n // update the constructor arguments as we go (we might have more than just the container config)\n this.container = makeContainer({\n stub,\n transports,\n loggers,\n config,\n });\n }\n\n /**\n * Returns a promise resolving to the version of the SDK.\n */\n getVersion(): Promise<string> {\n return this.container\n .get<GetDmkVersionUseCase>(configTypes.GetDmkVersionUseCase)\n .getDmkVersion();\n }\n\n /**\n * Starts discovering devices connected.\n *\n * For the WeHID implementation, this use-case needs to be called as a result\n * of an user interaction (button \"click\" event for ex).\n *\n * @param {StartDiscoveringUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice>} An observable of discovered devices.\n */\n startDiscovering(\n args: StartDiscoveringUseCaseArgs,\n ): Observable<DiscoveredDevice> {\n return this.container\n .get<StartDiscoveringUseCase>(discoveryTypes.StartDiscoveringUseCase)\n .execute(args);\n }\n\n /**\n * Stops discovering devices connected.\n */\n stopDiscovering() {\n return this.container\n .get<StopDiscoveringUseCase>(discoveryTypes.StopDiscoveringUseCase)\n .execute();\n }\n\n /**\n * Listen to list of known discovered devices (and later BLE).\n * @param {ListenToAvailableDevicesUseCaseArgs} args - The transport to use for discover, or undefined to discover from all transports.\n * @returns {Observable<DiscoveredDevice[]>} An observable of known discovered devices.\n */\n listenToAvailableDevices(\n args: ListenToAvailableDevicesUseCaseArgs,\n ): Observable<DiscoveredDevice[]> {\n return this.container\n .get<ListenToAvailableDevicesUseCase>(\n discoveryTypes.ListenToAvailableDevicesUseCase,\n )\n .execute(args);\n }\n\n /**\n * Reconnects a device session by disconnecting and reconnecting to the device.\n *\n * @param args - The arguments for reconnecting the device session.\n * - `device`: The connected device.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n async reconnect(args: ReconnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ReconnectUseCase>(discoveryTypes.ReconnectUseCase)\n .execute(args);\n }\n\n /**\n * Connects to a device previously discovered with `DeviceManagementKit.startDiscovering`.\n * Creates a new device session which:\n * - Represents the connection to the device.\n * - Is terminated upon disconnection of the device.\n * - Exposes the device state through an observable (see `DeviceManagementKit.getDeviceSessionState`)\n * - Should be used for all subsequent communication with the device.\n *\n * @param {ConnectUseCaseArgs} args - The arguments for connecting to the device.\n * - `device`: The discovered device obtained from `StartDiscoveringUseCase`.\n * - `sessionRefresherOptions` (optional): Configuration for session refreshing.\n * - `isRefresherDisabled`: Whether the refresher is disabled.\n * - `pollingInterval`: The refresh interval in milliseconds\n * @returns The session ID to use for further communication with the device.\n */\n connect(args: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n return this.container\n .get<ConnectUseCase>(discoveryTypes.ConnectUseCase)\n .execute(args);\n }\n\n /**\n * Disconnects to a discovered device.\n *\n * @param {DisconnectUseCaseArgs} args - The session ID to disconnect.\n */\n disconnect(args: DisconnectUseCaseArgs): Promise<void> {\n return this.container\n .get<DisconnectUseCase>(discoveryTypes.DisconnectUseCase)\n .execute(args);\n }\n\n /**\n * Sends an APDU command to a device through a device session.\n *\n * @param {SendApduUseCaseArgs} args - The device session ID and APDU command to send.\n */\n sendApdu(args: SendApduUseCaseArgs): Promise<ApduResponse> {\n return this.container\n .get<SendApduUseCase>(sendTypes.SendApduUseCase)\n .execute(args);\n }\n\n /**\n * Sends a command to a device through a device session.\n *\n * @param {SendCommandUseCaseArgs<Response, Args, ErrorCodes>} args - The device session ID, command, command error codes and command parameters to send.\n * @returns A promise resolving with the response from the command.\n */\n sendCommand<Response, Args, ErrorCodes>(\n args: SendCommandUseCaseArgs<Response, Args, ErrorCodes>,\n ): Promise<CommandResult<Response, ErrorCodes>> {\n return this.container\n .get<SendCommandUseCase>(commandTypes.SendCommandUseCase)\n .execute(args);\n }\n\n executeDeviceAction<\n Output,\n Input,\n Error extends DmkError,\n IntermediateValue extends DeviceActionIntermediateValue,\n >(\n args: ExecuteDeviceActionUseCaseArgs<\n Output,\n Input,\n Error,\n IntermediateValue\n >,\n ): ExecuteDeviceActionReturnType<Output, Error, IntermediateValue> {\n return this.container\n .get<ExecuteDeviceActionUseCase>(\n deviceActionTypes.ExecuteDeviceActionUseCase,\n )\n .execute(args);\n }\n\n /**\n * Gets the connected from its device session ID.\n *\n * @param {GetConnectedDeviceUseCaseArgs} args - The device session ID.\n * @returns {ConnectedDevice} The connected device.\n */\n getConnectedDevice(args: GetConnectedDeviceUseCaseArgs): ConnectedDevice {\n return this.container\n .get<GetConnectedDeviceUseCase>(discoveryTypes.GetConnectedDeviceUseCase)\n .execute(args);\n }\n\n /**\n * Gets the device state of a session.\n *\n * @param {{ sessionId: DeviceSessionId }} args - The device session ID.\n * @returns {Observable<DeviceSessionState>} An observable of the session device state.\n */\n getDeviceSessionState(args: {\n sessionId: DeviceSessionId;\n }): Observable<DeviceSessionState> {\n return this.container\n .get<GetDeviceSessionStateUseCase>(\n deviceSessionTypes.GetDeviceSessionStateUseCase,\n )\n .execute(args);\n }\n\n /**\n * Close the Device Management kit.\n *\n */\n close() {\n return this.container\n .get<CloseSessionsUseCase>(deviceSessionTypes.CloseSessionsUseCase)\n .execute();\n }\n\n /**\n * Lists all connected devices.\n *\n * @returns {ConnectedDevice[]} The list of device sessions.\n */\n listConnectedDevices(): ConnectedDevice[] {\n return this.container\n .get<ListConnectedDevicesUseCase>(\n discoveryTypes.ListConnectedDevicesUseCase,\n )\n .execute();\n }\n\n /**\n * Listen to connected device.\n *\n * @returns {Observable<ConnectedDevice>} An observable of connected device.\n */\n listenToConnectedDevice(): Observable<ConnectedDevice> {\n return this.container\n .get<ListenToConnectedDeviceUseCase>(\n discoveryTypes.ListenToConnectedDeviceUseCase,\n )\n .execute();\n }\n\n /**\n * Disable the device session refresher.\n *\n * @param {DisableDeviceSessionRefresherUseCaseArgs} args - The device session ID and a string to identify the blocker.\n * @returns {() => void} A function to reenable the device session refresher.\n */\n disableDeviceSessionRefresher(args: {\n sessionId: DeviceSessionId;\n blockerId: string;\n }): () => void {\n return this.container\n .get<DisableDeviceSessionRefresherUseCase>(\n deviceSessionTypes.DisableDeviceSessionRefresherUseCase,\n )\n .execute(args);\n }\n\n /**\n * UNSAFE: Bypasses the intent queue for a device session.\n * This allows all intents (sendApdu, sendCommand, executeDeviceAction) to execute\n * directly without being queued. Use with extreme caution as this can lead to\n * race conditions and concurrent execution issues.\n *\n * @param {UnsafeBypassIntentQueueUseCaseArgs} args - The device session ID and bypass flag.\n */\n _unsafeBypassIntentQueue(args: UnsafeBypassIntentQueueUseCaseArgs): void {\n return this.container\n .get<UnsafeBypassIntentQueueUseCase>(\n deviceSessionTypes.UnsafeBypassIntentQueueUseCase,\n )\n .execute(args);\n }\n /**\n * Sets the provider for the manager API.\n *\n * @param {number} provider - The provider to set.\n */\n setProvider(provider: number): void {\n return this.container\n .get<SetProviderUseCase>(managerApiTypes.SetProviderUseCase)\n .execute(provider);\n }\n\n /**\n * Returns the current provider value from the manager API data source.\n */\n getProvider(): number {\n return this.container\n .get<ManagerApiDataSource>(managerApiTypes.ManagerApiDataSource)\n .getProvider();\n }\n\n /**\n * Check if the current environment is supported by any transport.\n */\n isEnvironmentSupported(): boolean {\n return this.container\n .get<TransportService>(transportDiTypes.TransportService)\n .getAllTransports()\n .some((transport) => transport.isSupported());\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,IAAA,eAAAC,EAAAH,GAGA,IAAAI,EAA6B,wCAsB7BC,EAA4B,2CAE5BC,EAAmC,0DAOnCC,EAA+B,iDAiB/BC,EAAgC,oDAEhCC,EAA0B,uCAE1BC,EAAiC,mDAEjCC,EAAuD,wBAMvDC,EAAkC,gDAS3B,MAAMV,CAAoB,CACtB,UAET,YAAY,CACV,KAAAW,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,EAAiC,CAAC,EAAG,CAInC,KAAK,aAAY,iBAAc,CAC7B,KAAAH,EACA,WAAAC,EACA,QAAAC,EACA,OAAAC,CACF,CAAC,CACH,CAKA,YAA8B,CAC5B,OAAO,KAAK,UACT,IAA0B,cAAY,oBAAoB,EAC1D,cAAc,CACnB,CAWA,iBACEC,EAC8B,CAC9B,OAAO,KAAK,UACT,IAA6B,iBAAe,uBAAuB,EACnE,QAAQA,CAAI,CACjB,CAKA,iBAAkB,CAChB,OAAO,KAAK,UACT,IAA4B,iBAAe,sBAAsB,EACjE,QAAQ,CACb,CAOA,yBACEA,EACgC,CAChC,OAAO,KAAK,UACT,IACC,iBAAe,+BACjB,EACC,QAAQA,CAAI,CACjB,CAYA,MAAM,UAAUA,EAAsD,CACpE,OAAO,KAAK,UACT,IAAsB,iBAAe,gBAAgB,EACrD,QAAQA,CAAI,CACjB,CAiBA,QAAQA,EAAoD,CAC1D,OAAO,KAAK,UACT,IAAoB,iBAAe,cAAc,EACjD,QAAQA,CAAI,CACjB,CAOA,WAAWA,EAA4C,CACrD,OAAO,KAAK,UACT,IAAuB,iBAAe,iBAAiB,EACvD,QAAQA,CAAI,CACjB,CAOA,SAASA,EAAkD,CACzD,OAAO,KAAK,UACT,IAAqB,YAAU,eAAe,EAC9C,QAAQA,CAAI,CACjB,CAQA,YACEA,EAC8C,CAC9C,OAAO,KAAK,UACT,IAAwB,eAAa,kBAAkB,EACvD,QAAQA,CAAI,CACjB,CAEA,oBAMEA,EAMiE,CACjE,OAAO,KAAK,UACT,IACC,oBAAkB,0BACpB,EACC,QAAQA,CAAI,CACjB,CAQA,mBAAmBA,EAAsD,CACvE,OAAO,KAAK,UACT,IAA+B,iBAAe,yBAAyB,EACvE,QAAQA,CAAI,CACjB,CAQA,sBAAsBA,EAEa,CACjC,OAAO,KAAK,UACT,IACC,qBAAmB,4BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,OAAQ,CACN,OAAO,KAAK,UACT,IAA0B,qBAAmB,oBAAoB,EACjE,QAAQ,CACb,CAOA,sBAA0C,CACxC,OAAO,KAAK,UACT,IACC,iBAAe,2BACjB,EACC,QAAQ,CACb,CAOA,yBAAuD,CACrD,OAAO,KAAK,UACT,IACC,iBAAe,8BACjB,EACC,QAAQ,CACb,CAQA,8BAA8BA,EAGf,CACb,OAAO,KAAK,UACT,IACC,qBAAmB,oCACrB,EACC,QAAQA,CAAI,CACjB,CAUA,yBAAyBA,EAAgD,CACvE,OAAO,KAAK,UACT,IACC,qBAAmB,8BACrB,EACC,QAAQA,CAAI,CACjB,CAMA,YAAYC,EAAwB,CAClC,OAAO,KAAK,UACT,IAAwB,kBAAgB,kBAAkB,EAC1D,QAAQA,CAAQ,CACrB,CAKA,aAAsB,CACpB,OAAO,KAAK,UACT,IAA0B,kBAAgB,oBAAoB,EAC9D,YAAY,CACjB,CAKA,wBAAkC,CAChC,OAAO,KAAK,UACT,IAAsB,mBAAiB,gBAAgB,EACvD,iBAAiB,EACjB,KAAMC,GAAcA,EAAU,YAAY,CAAC,CAChD,CACF",
6
6
  "names": ["DeviceManagementKit_exports", "__export", "DeviceManagementKit", "__toCommonJS", "import_commandTypes", "import_configTypes", "import_deviceSessionTypes", "import_discoveryTypes", "import_managerApiTypes", "import_sendTypes", "import_transportDiTypes", "import_di", "import_deviceActionTypes", "stub", "transports", "loggers", "config", "args", "provider", "transport"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var D=Object.create;var c=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var B=(t,o,n,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of k(o))!x.call(t,i)&&i!==n&&c(t,i,{get:()=>o[i],enumerable:!(r=S(o,i))||r.enumerable});return t};var T=(t,o,n)=>(n=t!=null?D(b(t)):{},B(o||!t||!t.__esModule?c(n,"default",{value:t,enumerable:!0}):n,t));var d=require("../internal/config/data/LocalConfigDataSource.stub"),l=require("../internal/config/di/configTypes"),u=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),m=require("../internal/manager-api/di/managerApiTypes"),v=require("../internal/send/di/sendTypes"),f=T(require("../../package.json")),h=require("../../src/di.stub"),g=require("./command/di/commandTypes"),C=require("./logger-subscriber/service/ConsoleLogger"),a=require("./DeviceManagementKit");vi.mock("./logger-subscriber/service/ConsoleLogger");let e,p;describe("DeviceManagementKit",()=>{describe("clean",()=>{beforeEach(()=>{p=new C.ConsoleLogger,e=new a.DeviceManagementKit({stub:!1,loggers:[p],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url",firmwareDistributionSalt:"salt"}})}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(a.DeviceManagementKit)}),it("should return a clean `version`",async()=>{expect(await e.getVersion()).toBe(f.default.version)}),it("should have startDiscovery method",()=>{expect(e.startDiscovering).toBeDefined()}),it("should have stopDiscovery method",()=>{expect(e.stopDiscovering).toBeDefined()}),it("should have connect method",()=>{expect(e.connect).toBeDefined()}),it("should have sendApdu method",()=>{expect(e.sendApdu).toBeDefined()}),it("should have getConnectedDevice method",()=>{expect(e.getConnectedDevice).toBeDefined()}),it("should have sendCommand method",()=>{expect(e.sendCommand).toBeDefined()}),it("should have listConnectedDevices method",()=>{expect(e.listConnectedDevices).toBeDefined()}),it("should have listenToConnectedDevice method",()=>{expect(e.listenToConnectedDevice).toBeDefined()}),it("should have disableDeviceSessionRefresher method",()=>{expect(e.disableDeviceSessionRefresher).toBeDefined()}),it("should have setProvider method",()=>{expect(e.setProvider).toBeDefined()}),it("should have isEnvironmentSupported method",()=>{expect(e.isEnvironmentSupported).toBeDefined()}),describe("isEnvironmentSupported",()=>{it("should return true when at least one transport is supported",()=>{const t={isSupported:vi.fn().mockReturnValue(!1)},o={isSupported:vi.fn().mockReturnValue(!0)},n={getAllTransports:vi.fn().mockReturnValue([t,o])};vi.spyOn(e.container,"get").mockReturnValue(n);const r=e.isEnvironmentSupported();expect(r).toBe(!0),expect(n.getAllTransports).toHaveBeenCalled(),expect(t.isSupported).toHaveBeenCalled(),expect(o.isSupported).toHaveBeenCalled()}),it("should return false when no transports are supported",()=>{const t={isSupported:vi.fn().mockReturnValue(!1)},o={isSupported:vi.fn().mockReturnValue(!1)},n={getAllTransports:vi.fn().mockReturnValue([t,o])};vi.spyOn(e.container,"get").mockReturnValue(n);const r=e.isEnvironmentSupported();expect(r).toBe(!1),expect(n.getAllTransports).toHaveBeenCalled(),expect(t.isSupported).toHaveBeenCalled(),expect(o.isSupported).toHaveBeenCalled()}),it("should return false when no transports are available",()=>{const t={getAllTransports:vi.fn().mockReturnValue([])};vi.spyOn(e.container,"get").mockReturnValue(t);const o=e.isEnvironmentSupported();expect(o).toBe(!1),expect(t.getAllTransports).toHaveBeenCalled()})})}),describe("stubbed",()=>{beforeEach(()=>{e=new a.DeviceManagementKit({stub:!0,loggers:[],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url",firmwareDistributionSalt:"salt"}})}),it("should create a stubbed dmk",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(a.DeviceManagementKit)}),it("should return a stubbed config",()=>{expect(e.container.get(l.configTypes.LocalConfigDataSource)).toBeInstanceOf(d.StubLocalConfigDataSource)}),it("should return a stubbed version",async()=>{expect(await e.getVersion()).toBe("0.0.0-stub.1")}),it.each([[s.discoveryTypes.StartDiscoveringUseCase],[s.discoveryTypes.StopDiscoveringUseCase],[s.discoveryTypes.ConnectUseCase],[v.sendTypes.SendApduUseCase],[g.commandTypes.SendCommandUseCase],[s.discoveryTypes.GetConnectedDeviceUseCase],[s.discoveryTypes.DisconnectUseCase],[u.deviceSessionTypes.GetDeviceSessionStateUseCase],[s.discoveryTypes.ListConnectedDevicesUseCase],[s.discoveryTypes.ListenToConnectedDeviceUseCase],[m.managerApiTypes.SetProviderUseCase]])("should have %s use case",t=>{const o=e.container.get(t);expect(o).toBeInstanceOf(h.StubUseCase),expect(o.execute()).toBe("stub")})})});
1
+ "use strict";var C=Object.create;var c=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,x=Object.prototype.hasOwnProperty;var B=(t,o,n,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of k(o))!x.call(t,i)&&i!==n&&c(t,i,{get:()=>o[i],enumerable:!(r=S(o,i))||r.enumerable});return t};var T=(t,o,n)=>(n=t!=null?C(b(t)):{},B(o||!t||!t.__esModule?c(n,"default",{value:t,enumerable:!0}):n,t));var d=require("../internal/config/data/LocalConfigDataSource.stub"),l=require("../internal/config/di/configTypes"),u=require("../internal/device-session/di/deviceSessionTypes"),s=require("../internal/discovery/di/discoveryTypes"),m=require("../internal/manager-api/di/managerApiTypes"),v=require("../internal/send/di/sendTypes"),f=T(require("../../package.json")),h=require("../../src/di.stub"),g=require("./command/di/commandTypes"),D=require("./logger-subscriber/service/ConsoleLogger"),a=require("./DeviceManagementKit");vi.mock("./logger-subscriber/service/ConsoleLogger");let e,p;describe("DeviceManagementKit",()=>{describe("clean",()=>{beforeEach(()=>{p=new D.ConsoleLogger,e=new a.DeviceManagementKit({stub:!1,loggers:[p],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url",firmwareDistributionSalt:"salt"}})}),it("should create an instance",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(a.DeviceManagementKit)}),it("should return a clean `version`",async()=>{expect(await e.getVersion()).toBe(f.default.version)}),it("should have startDiscovery method",()=>{expect(e.startDiscovering).toBeDefined()}),it("should have stopDiscovery method",()=>{expect(e.stopDiscovering).toBeDefined()}),it("should have connect method",()=>{expect(e.connect).toBeDefined()}),it("should have reconnect method",()=>{expect(e.reconnect).toBeDefined()}),it("should have sendApdu method",()=>{expect(e.sendApdu).toBeDefined()}),it("should have getConnectedDevice method",()=>{expect(e.getConnectedDevice).toBeDefined()}),it("should have sendCommand method",()=>{expect(e.sendCommand).toBeDefined()}),it("should have listConnectedDevices method",()=>{expect(e.listConnectedDevices).toBeDefined()}),it("should have listenToConnectedDevice method",()=>{expect(e.listenToConnectedDevice).toBeDefined()}),it("should have disableDeviceSessionRefresher method",()=>{expect(e.disableDeviceSessionRefresher).toBeDefined()}),it("should have setProvider method",()=>{expect(e.setProvider).toBeDefined()}),it("should have isEnvironmentSupported method",()=>{expect(e.isEnvironmentSupported).toBeDefined()}),describe("isEnvironmentSupported",()=>{it("should return true when at least one transport is supported",()=>{const t={isSupported:vi.fn().mockReturnValue(!1)},o={isSupported:vi.fn().mockReturnValue(!0)},n={getAllTransports:vi.fn().mockReturnValue([t,o])};vi.spyOn(e.container,"get").mockReturnValue(n);const r=e.isEnvironmentSupported();expect(r).toBe(!0),expect(n.getAllTransports).toHaveBeenCalled(),expect(t.isSupported).toHaveBeenCalled(),expect(o.isSupported).toHaveBeenCalled()}),it("should return false when no transports are supported",()=>{const t={isSupported:vi.fn().mockReturnValue(!1)},o={isSupported:vi.fn().mockReturnValue(!1)},n={getAllTransports:vi.fn().mockReturnValue([t,o])};vi.spyOn(e.container,"get").mockReturnValue(n);const r=e.isEnvironmentSupported();expect(r).toBe(!1),expect(n.getAllTransports).toHaveBeenCalled(),expect(t.isSupported).toHaveBeenCalled(),expect(o.isSupported).toHaveBeenCalled()}),it("should return false when no transports are available",()=>{const t={getAllTransports:vi.fn().mockReturnValue([])};vi.spyOn(e.container,"get").mockReturnValue(t);const o=e.isEnvironmentSupported();expect(o).toBe(!1),expect(t.getAllTransports).toHaveBeenCalled()})})}),describe("stubbed",()=>{beforeEach(()=>{e=new a.DeviceManagementKit({stub:!0,loggers:[],config:{managerApiUrl:"http://fake.url",mockUrl:"http://fake-mock.url",webSocketUrl:"http://fake-websocket.url",firmwareDistributionSalt:"salt"}})}),it("should create a stubbed dmk",()=>{expect(e).toBeDefined(),expect(e).toBeInstanceOf(a.DeviceManagementKit)}),it("should return a stubbed config",()=>{expect(e.container.get(l.configTypes.LocalConfigDataSource)).toBeInstanceOf(d.StubLocalConfigDataSource)}),it("should return a stubbed version",async()=>{expect(await e.getVersion()).toBe("0.0.0-stub.1")}),it.each([[s.discoveryTypes.StartDiscoveringUseCase],[s.discoveryTypes.StopDiscoveringUseCase],[s.discoveryTypes.ConnectUseCase],[v.sendTypes.SendApduUseCase],[g.commandTypes.SendCommandUseCase],[s.discoveryTypes.GetConnectedDeviceUseCase],[s.discoveryTypes.DisconnectUseCase],[u.deviceSessionTypes.GetDeviceSessionStateUseCase],[s.discoveryTypes.ListConnectedDevicesUseCase],[s.discoveryTypes.ListenToConnectedDeviceUseCase],[m.managerApiTypes.SetProviderUseCase]])("should have %s use case",t=>{const o=e.container.get(t);expect(o).toBeInstanceOf(h.StubUseCase),expect(o.execute()).toBe("stub")})})});
2
2
  //# sourceMappingURL=DeviceManagementKit.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceManagementKit.test.ts"],
4
- "sourcesContent": ["import { type ServiceIdentifier } from \"inversify\";\n\nimport { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\nimport { StubLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource.stub\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport pkg from \"@root/package.json\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./command/di/commandTypes\";\nimport { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\nvi.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet dmk: DeviceManagementKit;\nlet logger: ConsoleLogger;\ndescribe(\"DeviceManagementKit\", () => {\n describe(\"clean\", () => {\n beforeEach(() => {\n logger = new ConsoleLogger();\n dmk = new DeviceManagementKit({\n stub: false,\n loggers: [logger],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n firmwareDistributionSalt: \"salt\",\n } as DmkConfig,\n });\n });\n\n it(\"should create an instance\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a clean `version`\", async () => {\n expect(await dmk.getVersion()).toBe(pkg.version);\n });\n\n it(\"should have startDiscovery method\", () => {\n expect(dmk.startDiscovering).toBeDefined();\n });\n\n it(\"should have stopDiscovery method\", () => {\n expect(dmk.stopDiscovering).toBeDefined();\n });\n\n it(\"should have connect method\", () => {\n expect(dmk.connect).toBeDefined();\n });\n\n it(\"should have sendApdu method\", () => {\n expect(dmk.sendApdu).toBeDefined();\n });\n\n it(\"should have getConnectedDevice method\", () => {\n expect(dmk.getConnectedDevice).toBeDefined();\n });\n\n it(\"should have sendCommand method\", () => {\n expect(dmk.sendCommand).toBeDefined();\n });\n\n it(\"should have listConnectedDevices method\", () => {\n expect(dmk.listConnectedDevices).toBeDefined();\n });\n\n it(\"should have listenToConnectedDevice method\", () => {\n expect(dmk.listenToConnectedDevice).toBeDefined();\n });\n\n it(\"should have disableDeviceSessionRefresher method\", () => {\n expect(dmk.disableDeviceSessionRefresher).toBeDefined();\n });\n\n it(\"should have setProvider method\", () => {\n expect(dmk.setProvider).toBeDefined();\n });\n\n it(\"should have isEnvironmentSupported method\", () => {\n expect(dmk.isEnvironmentSupported).toBeDefined();\n });\n\n describe(\"isEnvironmentSupported\", () => {\n it(\"should return true when at least one transport is supported\", () => {\n // Mock the TransportService to return transports where at least one is supported\n const mockTransport1 = {\n isSupported: vi.fn().mockReturnValue(false),\n };\n const mockTransport2 = {\n isSupported: vi.fn().mockReturnValue(true),\n };\n const mockTransportService = {\n getAllTransports: vi\n .fn()\n .mockReturnValue([mockTransport1, mockTransport2]),\n };\n\n // Mock the container to return our mock TransportService\n vi.spyOn(dmk.container, \"get\").mockReturnValue(mockTransportService);\n\n const result = dmk.isEnvironmentSupported();\n\n expect(result).toBe(true);\n expect(mockTransportService.getAllTransports).toHaveBeenCalled();\n expect(mockTransport1.isSupported).toHaveBeenCalled();\n expect(mockTransport2.isSupported).toHaveBeenCalled();\n });\n\n it(\"should return false when no transports are supported\", () => {\n // Mock the TransportService to return transports where none are supported\n const mockTransport1 = {\n isSupported: vi.fn().mockReturnValue(false),\n };\n const mockTransport2 = {\n isSupported: vi.fn().mockReturnValue(false),\n };\n const mockTransportService = {\n getAllTransports: vi\n .fn()\n .mockReturnValue([mockTransport1, mockTransport2]),\n };\n\n // Mock the container to return our mock TransportService\n vi.spyOn(dmk.container, \"get\").mockReturnValue(mockTransportService);\n\n const result = dmk.isEnvironmentSupported();\n\n expect(result).toBe(false);\n expect(mockTransportService.getAllTransports).toHaveBeenCalled();\n expect(mockTransport1.isSupported).toHaveBeenCalled();\n expect(mockTransport2.isSupported).toHaveBeenCalled();\n });\n\n it(\"should return false when no transports are available\", () => {\n // Mock the TransportService to return an empty array\n const mockTransportService = {\n getAllTransports: vi.fn().mockReturnValue([]),\n };\n\n // Mock the container to return our mock TransportService\n vi.spyOn(dmk.container, \"get\").mockReturnValue(mockTransportService);\n\n const result = dmk.isEnvironmentSupported();\n\n expect(result).toBe(false);\n expect(mockTransportService.getAllTransports).toHaveBeenCalled();\n });\n });\n });\n\n describe(\"stubbed\", () => {\n beforeEach(() => {\n dmk = new DeviceManagementKit({\n stub: true,\n loggers: [],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n firmwareDistributionSalt: \"salt\",\n } as DmkConfig,\n });\n });\n\n it(\"should create a stubbed dmk\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a stubbed config\", () => {\n expect(\n dmk.container.get<LocalConfigDataSource>(\n configTypes.LocalConfigDataSource,\n ),\n ).toBeInstanceOf(StubLocalConfigDataSource);\n });\n\n it(\"should return a stubbed version\", async () => {\n expect(await dmk.getVersion()).toBe(\"0.0.0-stub.1\");\n });\n\n it.each([\n [discoveryTypes.StartDiscoveringUseCase],\n [discoveryTypes.StopDiscoveringUseCase],\n [discoveryTypes.ConnectUseCase],\n [sendTypes.SendApduUseCase],\n [commandTypes.SendCommandUseCase],\n [discoveryTypes.GetConnectedDeviceUseCase],\n [discoveryTypes.DisconnectUseCase],\n [deviceSessionTypes.GetDeviceSessionStateUseCase],\n [discoveryTypes.ListConnectedDevicesUseCase],\n [discoveryTypes.ListenToConnectedDeviceUseCase],\n [managerApiTypes.SetProviderUseCase],\n ])(\n \"should have %s use case\",\n (diSymbol: ServiceIdentifier<StubUseCase>) => {\n const uc = dmk.container.get<StubUseCase>(diSymbol);\n expect(uc).toBeInstanceOf(StubUseCase);\n expect(uc.execute()).toBe(\"stub\");\n },\n );\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { type ServiceIdentifier } from \"inversify\";\n\nimport { type LocalConfigDataSource } from \"@internal/config/data/ConfigDataSource\";\nimport { StubLocalConfigDataSource } from \"@internal/config/data/LocalConfigDataSource.stub\";\nimport { configTypes } from \"@internal/config/di/configTypes\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { discoveryTypes } from \"@internal/discovery/di/discoveryTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport { sendTypes } from \"@internal/send/di/sendTypes\";\nimport pkg from \"@root/package.json\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { commandTypes } from \"./command/di/commandTypes\";\nimport { ConsoleLogger } from \"./logger-subscriber/service/ConsoleLogger\";\nimport { DeviceManagementKit } from \"./DeviceManagementKit\";\nimport { type DmkConfig } from \"./DmkConfig\";\n\nvi.mock(\"./logger-subscriber/service/ConsoleLogger\");\n\nlet dmk: DeviceManagementKit;\nlet logger: ConsoleLogger;\ndescribe(\"DeviceManagementKit\", () => {\n describe(\"clean\", () => {\n beforeEach(() => {\n logger = new ConsoleLogger();\n dmk = new DeviceManagementKit({\n stub: false,\n loggers: [logger],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n firmwareDistributionSalt: \"salt\",\n } as DmkConfig,\n });\n });\n\n it(\"should create an instance\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a clean `version`\", async () => {\n expect(await dmk.getVersion()).toBe(pkg.version);\n });\n\n it(\"should have startDiscovery method\", () => {\n expect(dmk.startDiscovering).toBeDefined();\n });\n\n it(\"should have stopDiscovery method\", () => {\n expect(dmk.stopDiscovering).toBeDefined();\n });\n\n it(\"should have connect method\", () => {\n expect(dmk.connect).toBeDefined();\n });\n\n it(\"should have reconnect method\", () => {\n expect(dmk.reconnect).toBeDefined();\n });\n\n it(\"should have sendApdu method\", () => {\n expect(dmk.sendApdu).toBeDefined();\n });\n\n it(\"should have getConnectedDevice method\", () => {\n expect(dmk.getConnectedDevice).toBeDefined();\n });\n\n it(\"should have sendCommand method\", () => {\n expect(dmk.sendCommand).toBeDefined();\n });\n\n it(\"should have listConnectedDevices method\", () => {\n expect(dmk.listConnectedDevices).toBeDefined();\n });\n\n it(\"should have listenToConnectedDevice method\", () => {\n expect(dmk.listenToConnectedDevice).toBeDefined();\n });\n\n it(\"should have disableDeviceSessionRefresher method\", () => {\n expect(dmk.disableDeviceSessionRefresher).toBeDefined();\n });\n\n it(\"should have setProvider method\", () => {\n expect(dmk.setProvider).toBeDefined();\n });\n\n it(\"should have isEnvironmentSupported method\", () => {\n expect(dmk.isEnvironmentSupported).toBeDefined();\n });\n\n describe(\"isEnvironmentSupported\", () => {\n it(\"should return true when at least one transport is supported\", () => {\n // Mock the TransportService to return transports where at least one is supported\n const mockTransport1 = {\n isSupported: vi.fn().mockReturnValue(false),\n };\n const mockTransport2 = {\n isSupported: vi.fn().mockReturnValue(true),\n };\n const mockTransportService = {\n getAllTransports: vi\n .fn()\n .mockReturnValue([mockTransport1, mockTransport2]),\n };\n\n // Mock the container to return our mock TransportService\n vi.spyOn(dmk.container, \"get\").mockReturnValue(mockTransportService);\n\n const result = dmk.isEnvironmentSupported();\n\n expect(result).toBe(true);\n expect(mockTransportService.getAllTransports).toHaveBeenCalled();\n expect(mockTransport1.isSupported).toHaveBeenCalled();\n expect(mockTransport2.isSupported).toHaveBeenCalled();\n });\n\n it(\"should return false when no transports are supported\", () => {\n // Mock the TransportService to return transports where none are supported\n const mockTransport1 = {\n isSupported: vi.fn().mockReturnValue(false),\n };\n const mockTransport2 = {\n isSupported: vi.fn().mockReturnValue(false),\n };\n const mockTransportService = {\n getAllTransports: vi\n .fn()\n .mockReturnValue([mockTransport1, mockTransport2]),\n };\n\n // Mock the container to return our mock TransportService\n vi.spyOn(dmk.container, \"get\").mockReturnValue(mockTransportService);\n\n const result = dmk.isEnvironmentSupported();\n\n expect(result).toBe(false);\n expect(mockTransportService.getAllTransports).toHaveBeenCalled();\n expect(mockTransport1.isSupported).toHaveBeenCalled();\n expect(mockTransport2.isSupported).toHaveBeenCalled();\n });\n\n it(\"should return false when no transports are available\", () => {\n // Mock the TransportService to return an empty array\n const mockTransportService = {\n getAllTransports: vi.fn().mockReturnValue([]),\n };\n\n // Mock the container to return our mock TransportService\n vi.spyOn(dmk.container, \"get\").mockReturnValue(mockTransportService);\n\n const result = dmk.isEnvironmentSupported();\n\n expect(result).toBe(false);\n expect(mockTransportService.getAllTransports).toHaveBeenCalled();\n });\n });\n });\n\n describe(\"stubbed\", () => {\n beforeEach(() => {\n dmk = new DeviceManagementKit({\n stub: true,\n loggers: [],\n config: {\n managerApiUrl: \"http://fake.url\",\n mockUrl: \"http://fake-mock.url\",\n webSocketUrl: \"http://fake-websocket.url\",\n firmwareDistributionSalt: \"salt\",\n } as DmkConfig,\n });\n });\n\n it(\"should create a stubbed dmk\", () => {\n expect(dmk).toBeDefined();\n expect(dmk).toBeInstanceOf(DeviceManagementKit);\n });\n\n it(\"should return a stubbed config\", () => {\n expect(\n dmk.container.get<LocalConfigDataSource>(\n configTypes.LocalConfigDataSource,\n ),\n ).toBeInstanceOf(StubLocalConfigDataSource);\n });\n\n it(\"should return a stubbed version\", async () => {\n expect(await dmk.getVersion()).toBe(\"0.0.0-stub.1\");\n });\n\n it.each([\n [discoveryTypes.StartDiscoveringUseCase],\n [discoveryTypes.StopDiscoveringUseCase],\n [discoveryTypes.ConnectUseCase],\n [sendTypes.SendApduUseCase],\n [commandTypes.SendCommandUseCase],\n [discoveryTypes.GetConnectedDeviceUseCase],\n [discoveryTypes.DisconnectUseCase],\n [deviceSessionTypes.GetDeviceSessionStateUseCase],\n [discoveryTypes.ListConnectedDevicesUseCase],\n [discoveryTypes.ListenToConnectedDeviceUseCase],\n [managerApiTypes.SetProviderUseCase],\n ])(\n \"should have %s use case\",\n (diSymbol: ServiceIdentifier<StubUseCase>) => {\n const uc = dmk.container.get<StubUseCase>(diSymbol);\n expect(uc).toBeInstanceOf(StubUseCase);\n expect(uc.execute()).toBe(\"stub\");\n },\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_LocalConfigDataSource", "import_configTypes", "import_deviceSessionTypes", "import_discoveryTypes", "import_managerApiTypes", "import_sendTypes", "import_package", "import_di", "import_commandTypes", "import_ConsoleLogger", "import_DeviceManagementKit", "dmk", "logger", "pkg", "mockTransport1", "mockTransport2", "mockTransportService", "result", "diSymbol", "uc"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var m=(o,e,s,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of t(e))!i.call(o,r)&&r!==s&&p(o,r,{get:()=>e[r],enumerable:!(d=n(e,r))||d.enumerable});return o};var a=o=>m(p({},"__esModule",{value:!0}),o);var u={};module.exports=a(u);
1
+ "use strict";var s=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var t=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var m=(o,e,p,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of t(e))!i.call(o,r)&&r!==p&&s(o,r,{get:()=>e[r],enumerable:!(d=n(e,r))||d.enumerable});return o};var a=o=>m(s({},"__esModule",{value:!0}),o);var l={};module.exports=a(l);
2
2
  //# sourceMappingURL=Command.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/command/Command.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { type DeviceModelId } from \"@api/device/DeviceModel\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * A command that can be sent to a device.\n *\n * @template Response - The type of the response returned by the device.\n * @template Args - The type of the arguments passed to the command (optional).\n * @template ErrorCodes - The union of error codes for this command (optional).\n */\nexport interface Command<Response, Args = void, ErrorCodes = void> {\n /**\n * Indicates whether the command triggers a disconnection from the device when\n * it succeeds.\n */\n readonly triggersDisconnection?: boolean;\n\n /**\n * Gets the APDU (Application Protocol Data Unit) for the command.\n *\n * @returns The APDU for the command.\n */\n getApdu(args?: Args): Apdu;\n\n /**\n * Parses the response received from the device.\n *\n * @param apduResponse - The response received from the device.\n * @param deviceModelId - The ID of the device model (optional).\n * @returns The parsed response.\n */\n parseResponse(\n apduResponse: ApduResponse,\n deviceModelId: DeviceModelId | void,\n ): CommandResult<Response, ErrorCodes>;\n}\n"],
4
+ "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { type CommandResult } from \"@api/command/model/CommandResult\";\nimport { type DeviceModelId } from \"@api/device/DeviceModel\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\n/**\n * A command that can be sent to a device.\n *\n * @template Response - The type of the response returned by the device.\n * @template Args - The type of the arguments passed to the command (optional).\n * @template ErrorCodes - The union of error codes for this command (optional).\n */\nexport interface Command<Response, Args = void, ErrorCodes = void> {\n /**\n * The name of the command.\n */\n readonly name: string;\n\n /**\n * Indicates whether the command triggers a disconnection from the device when\n * it succeeds.\n */\n readonly triggersDisconnection?: boolean;\n\n /**\n * Gets the APDU (Application Protocol Data Unit) for the command.\n *\n * @returns The APDU for the command.\n */\n getApdu(args?: Args): Apdu;\n\n /**\n * Parses the response received from the device.\n *\n * @param apduResponse - The response received from the device.\n * @param deviceModelId - The ID of the device model (optional).\n * @returns The parsed response.\n */\n parseResponse(\n apduResponse: ApduResponse,\n deviceModelId: DeviceModelId | void,\n ): CommandResult<Response, ErrorCodes>;\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["Command_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var n=Object.defineProperty;var e=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var E=(o,r)=>{for(var t in r)n(o,t,{get:r[t],enumerable:!0})},d=(o,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of l(r))!s.call(o,a)&&a!==t&&n(o,a,{get:()=>r[a],enumerable:!(i=e(r,a))||i.enumerable});return o};var m=o=>d(n({},"__esModule",{value:!0}),o);var u={};E(u,{InvalidBatteryDataError:()=>p,InvalidBatteryFlagsError:()=>c,InvalidBatteryStatusTypeError:()=>y,InvalidFirmwareMetadataError:()=>I,InvalidResponseFormatError:()=>v,InvalidStatusWordError:()=>g});module.exports=m(u);class g{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class y{_tag="InvalidBatteryStatusTypeError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery status type.")}}class p{_tag="InvalidBatteryDataError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery data.")}}class c{_tag="InvalidBatteryFlagsError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery flags.")}}class v{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}class I{_tag="InvalidFirmwareMetadataError";originalError;constructor(r){this.originalError=new Error(r??"Invalid firmware metadata.")}}0&&(module.exports={InvalidBatteryDataError,InvalidBatteryFlagsError,InvalidBatteryStatusTypeError,InvalidFirmwareMetadataError,InvalidResponseFormatError,InvalidStatusWordError});
1
+ "use strict";var n=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var E=(o,r)=>{for(var t in r)n(o,t,{get:r[t],enumerable:!0})},d=(o,r,t,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of s(r))!l.call(o,a)&&a!==t&&n(o,a,{get:()=>r[a],enumerable:!(e=i(r,a))||e.enumerable});return o};var g=o=>d(n({},"__esModule",{value:!0}),o);var u={};E(u,{InvalidBatteryDataError:()=>p,InvalidBatteryFlagsError:()=>c,InvalidBatteryStatusTypeError:()=>y,InvalidGetFirmwareMetadataResponseError:()=>I,InvalidResponseFormatError:()=>v,InvalidStatusWordError:()=>m});module.exports=g(u);class m{_tag="InvalidStatusWordError";originalError;constructor(r){this.originalError=new Error(r??"Invalid status word.")}}class y{_tag="InvalidBatteryStatusTypeError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery status type.")}}class p{_tag="InvalidBatteryDataError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery data.")}}class c{_tag="InvalidBatteryFlagsError";originalError;constructor(r){this.originalError=new Error(r??"Invalid battery flags.")}}class v{_tag="InvalidResponseFormatError";originalError;constructor(r){this.originalError=new Error(r??"Invalid response format.")}}class I{_tag="InvalidGetFirmwareMetadataResponseError";originalError;constructor(r){this.originalError=new Error(r??"Invalid Firmware Metadata response error.")}}0&&(module.exports={InvalidBatteryDataError,InvalidBatteryFlagsError,InvalidBatteryStatusTypeError,InvalidGetFirmwareMetadataResponseError,InvalidResponseFormatError,InvalidStatusWordError});
2
2
  //# sourceMappingURL=Errors.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/command/Errors.ts"],
4
- "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidBatteryStatusTypeError implements DmkError {\n readonly _tag = \"InvalidBatteryStatusTypeError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery status type.\");\n }\n}\n\nexport class InvalidBatteryDataError implements DmkError {\n readonly _tag = \"InvalidBatteryDataError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery data.\");\n }\n}\n\nexport class InvalidBatteryFlagsError implements DmkError {\n readonly _tag = \"InvalidBatteryFlagsError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery flags.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n\nexport class InvalidFirmwareMetadataError implements DmkError {\n readonly _tag = \"InvalidFirmwareMetadataError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid firmware metadata.\");\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,6BAAAC,EAAA,kCAAAC,EAAA,iCAAAC,EAAA,+BAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAR,GAEO,MAAMO,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYE,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAML,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYK,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,8BAA8B,CAC1E,CACF,CAEO,MAAMP,CAA4C,CAC9C,KAAO,0BACP,cAET,YAAYO,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,uBAAuB,CACnE,CACF,CAEO,MAAMN,CAA6C,CAC/C,KAAO,2BACP,cAET,YAAYM,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,wBAAwB,CACpE,CACF,CAEO,MAAMH,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYG,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF,CAEO,MAAMJ,CAAiD,CACnD,KAAO,+BACP,cAET,YAAYI,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,4BAA4B,CACxE,CACF",
6
- "names": ["Errors_exports", "__export", "InvalidBatteryDataError", "InvalidBatteryFlagsError", "InvalidBatteryStatusTypeError", "InvalidFirmwareMetadataError", "InvalidResponseFormatError", "InvalidStatusWordError", "__toCommonJS", "message"]
4
+ "sourcesContent": ["import { type DmkError } from \"@api/Error\";\n\nexport class InvalidStatusWordError implements DmkError {\n readonly _tag = \"InvalidStatusWordError\";\n readonly originalError?: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid status word.\");\n }\n}\n\nexport class InvalidBatteryStatusTypeError implements DmkError {\n readonly _tag = \"InvalidBatteryStatusTypeError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery status type.\");\n }\n}\n\nexport class InvalidBatteryDataError implements DmkError {\n readonly _tag = \"InvalidBatteryDataError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery data.\");\n }\n}\n\nexport class InvalidBatteryFlagsError implements DmkError {\n readonly _tag = \"InvalidBatteryFlagsError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid battery flags.\");\n }\n}\n\nexport class InvalidResponseFormatError implements DmkError {\n readonly _tag = \"InvalidResponseFormatError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(message ?? \"Invalid response format.\");\n }\n}\n\nexport class InvalidGetFirmwareMetadataResponseError implements DmkError {\n readonly _tag = \"InvalidGetFirmwareMetadataResponseError\";\n readonly originalError: Error;\n\n constructor(message?: string) {\n this.originalError = new Error(\n message ?? \"Invalid Firmware Metadata response error.\",\n );\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,EAAA,6BAAAC,EAAA,kCAAAC,EAAA,4CAAAC,EAAA,+BAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAR,GAEO,MAAMO,CAA2C,CAC7C,KAAO,yBACP,cAET,YAAYE,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,sBAAsB,CAClE,CACF,CAEO,MAAML,CAAkD,CACpD,KAAO,gCACP,cAET,YAAYK,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,8BAA8B,CAC1E,CACF,CAEO,MAAMP,CAA4C,CAC9C,KAAO,0BACP,cAET,YAAYO,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,uBAAuB,CACnE,CACF,CAEO,MAAMN,CAA6C,CAC/C,KAAO,2BACP,cAET,YAAYM,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,wBAAwB,CACpE,CACF,CAEO,MAAMH,CAA+C,CACjD,KAAO,6BACP,cAET,YAAYG,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MAAMA,GAAW,0BAA0B,CACtE,CACF,CAEO,MAAMJ,CAA4D,CAC9D,KAAO,0CACP,cAET,YAAYI,EAAkB,CAC5B,KAAK,cAAgB,IAAI,MACvBA,GAAW,2CACb,CACF,CACF",
6
+ "names": ["Errors_exports", "__export", "InvalidBatteryDataError", "InvalidBatteryFlagsError", "InvalidBatteryStatusTypeError", "InvalidGetFirmwareMetadataResponseError", "InvalidResponseFormatError", "InvalidStatusWordError", "__toCommonJS", "message"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(t,r)=>{for(var a in r)o(t,a,{get:r[a],enumerable:!0})},m=(t,r,a,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of i(r))!u.call(t,e)&&e!==a&&o(t,e,{get:()=>r[e],enumerable:!(s=d(r,e))||s.enumerable});return t};var E=t=>m(o({},"__esModule",{value:!0}),t);var S={};c(S,{CommandResultFactory:()=>l,CommandResultStatus:()=>n,isSuccessCommandResult:()=>p});module.exports=E(S);var n=(a=>(a.Error="ERROR",a.Success="SUCCESS",a))(n||{});function l({data:t,error:r}){return r?{status:"ERROR",error:r}:{status:"SUCCESS",data:t}}function p(t){return t.status==="SUCCESS"}0&&(module.exports={CommandResultFactory,CommandResultStatus,isSuccessCommandResult});
1
+ "use strict";var o=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var c=(t,r)=>{for(var e in r)o(t,e,{get:r[e],enumerable:!0})},m=(t,r,e,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of i(r))!u.call(t,a)&&a!==e&&o(t,a,{get:()=>r[a],enumerable:!(s=d(r,a))||s.enumerable});return t};var E=t=>m(o({},"__esModule",{value:!0}),t);var S={};c(S,{CommandResultFactory:()=>p,CommandResultStatus:()=>n,isSuccessCommandResult:()=>l});module.exports=E(S);var n=(e=>(e.Error="ERROR",e.Success="SUCCESS",e))(n||{});function p({data:t,error:r}){return r?{status:"ERROR",error:r}:{status:"SUCCESS",data:t}}function l(t){return t.status==="SUCCESS"}0&&(module.exports={CommandResultFactory,CommandResultStatus,isSuccessCommandResult});
2
2
  //# sourceMappingURL=CommandResult.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/model/CommandResult.ts"],
4
- "sourcesContent": ["import {\n type InvalidBatteryDataError,\n type InvalidBatteryStatusTypeError,\n type InvalidFirmwareMetadataError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\nexport type CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError\n | InvalidFirmwareMetadataError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | UnknownDeviceExchangeError\n | InvalidFirmwareMetadataError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
4
+ "sourcesContent": ["import {\n type InvalidBatteryDataError,\n type InvalidBatteryStatusTypeError,\n type InvalidGetFirmwareMetadataResponseError,\n type InvalidResponseFormatError,\n type InvalidStatusWordError,\n} from \"@api/command/Errors\";\nimport { type GlobalCommandErrorStatusCode } from \"@api/command/utils/GlobalCommandError\";\nimport {\n type DeviceExchangeError,\n type UnknownDeviceExchangeError,\n} from \"@api/Error\";\n\nexport enum CommandResultStatus {\n Error = \"ERROR\",\n Success = \"SUCCESS\",\n}\nexport type CommandSuccessResult<Data> = {\n status: CommandResultStatus.Success;\n data: Data;\n};\nexport type CommandErrorResult<SpecificErrorCodes = void> = {\n error:\n | DeviceExchangeError<SpecificErrorCodes | GlobalCommandErrorStatusCode>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | InvalidGetFirmwareMetadataResponseError\n | UnknownDeviceExchangeError;\n status: CommandResultStatus.Error;\n};\nexport type CommandResult<Data, SpecificErrorCodes = void> =\n | CommandSuccessResult<Data>\n | CommandErrorResult<SpecificErrorCodes>;\n\nexport function CommandResultFactory<Data, SpecificErrorCodes = void>({\n data,\n error,\n}:\n | { data: Data; error?: undefined }\n | {\n data?: undefined;\n error:\n | DeviceExchangeError<SpecificErrorCodes>\n | InvalidBatteryDataError\n | InvalidBatteryStatusTypeError\n | InvalidResponseFormatError\n | InvalidStatusWordError\n | InvalidGetFirmwareMetadataResponseError\n | UnknownDeviceExchangeError;\n }): CommandResult<Data, SpecificErrorCodes> {\n if (error) {\n return {\n status: CommandResultStatus.Error,\n error,\n };\n }\n return {\n status: CommandResultStatus.Success,\n data,\n };\n}\n\nexport function isSuccessCommandResult<Data, StatusCode>(\n result: CommandResult<Data, StatusCode>,\n): result is CommandSuccessResult<Data> {\n return result.status === CommandResultStatus.Success;\n}\n"],
5
5
  "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,0BAAAE,EAAA,wBAAAC,EAAA,2BAAAC,IAAA,eAAAC,EAAAL,GAaO,IAAKG,OACVA,EAAA,MAAQ,QACRA,EAAA,QAAU,UAFAA,OAAA,IAuBL,SAASD,EAAsD,CACpE,KAAAI,EACA,MAAAC,CACF,EAYgD,CAC9C,OAAIA,EACK,CACL,OAAQ,QACR,MAAAA,CACF,EAEK,CACL,OAAQ,UACR,KAAAD,CACF,CACF,CAEO,SAASF,EACdI,EACsC,CACtC,OAAOA,EAAO,SAAW,SAC3B",
6
6
  "names": ["CommandResult_exports", "__export", "CommandResultFactory", "CommandResultStatus", "isSuccessCommandResult", "__toCommonJS", "data", "error", "result"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var A=(o,e)=>{for(var m in e)p(o,m,{get:e[m],enumerable:!0})},C=(o,e,m,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of a(e))!l.call(o,r)&&r!==m&&p(o,r,{get:()=>e[r],enumerable:!(t=u(e,r))||t.enumerable});return o};var f=o=>C(p({},"__esModule",{value:!0}),o);var y={};A(y,{CloseAppCommand:()=>c});module.exports=f(y);var n=require("../../apdu/utils/ApduBuilder"),d=require("../../command/model/CommandResult"),s=require("../../command/utils/CommandUtils"),i=require("../../command/utils/GlobalCommandError");class c{args=void 0;triggersDisconnection=!0;getApdu(){const e={cla:176,ins:167,p1:0,p2:0};return new n.ApduBuilder(e).build()}parseResponse(e){return s.CommandUtils.isSuccessResponse(e)?(0,d.CommandResultFactory)({data:void 0}):(0,d.CommandResultFactory)({error:i.GlobalCommandErrorHandler.handle(e)})}}0&&(module.exports={CloseAppCommand});
1
+ "use strict";var m=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var A=(o,e)=>{for(var p in e)m(o,p,{get:e[p],enumerable:!0})},C=(o,e,p,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of l(e))!u.call(o,r)&&r!==p&&m(o,r,{get:()=>e[r],enumerable:!(n=i(e,r))||n.enumerable});return o};var c=o=>C(m({},"__esModule",{value:!0}),o);var y={};A(y,{CloseAppCommand:()=>f});module.exports=c(y);var t=require("../../apdu/utils/ApduBuilder"),d=require("../../command/model/CommandResult"),s=require("../../command/utils/CommandUtils"),a=require("../../command/utils/GlobalCommandError");class f{name="closeApp";args=void 0;triggersDisconnection=!0;getApdu(){const e={cla:176,ins:167,p1:0,p2:0};return new t.ApduBuilder(e).build()}parseResponse(e){return s.CommandUtils.isSuccessResponse(e)?(0,d.CommandResultFactory)({data:void 0}):(0,d.CommandResultFactory)({error:a.GlobalCommandErrorHandler.handle(e)})}}0&&(module.exports={CloseAppCommand});
2
2
  //# sourceMappingURL=CloseAppCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/CloseAppCommand.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type CloseAppCommandResult = CommandResult<void>;\n\n/**\n * The command to close a runnint application on the device.\n */\nexport class CloseAppCommand implements Command<void> {\n readonly args = undefined;\n\n readonly triggersDisconnection = true;\n\n getApdu(): Apdu {\n const closeAppApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0xa7,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(closeAppApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): CommandResult<void> {\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n data: undefined,\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAkD,uCAElDC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAQnC,MAAML,CAAyC,CAC3C,KAAO,OAEP,sBAAwB,GAEjC,SAAgB,CACd,MAAMM,EAAoC,CACxC,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAgB,EAAE,MAAM,CACjD,CAEA,cAAcC,EAAiD,CAC7D,OAAI,eAAa,kBAAkBA,CAAY,KACtC,wBAAqB,CAC1B,KAAM,MACR,CAAC,KAEI,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { type Command } from \"@api/command/Command\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type CloseAppCommandResult = CommandResult<void>;\n\n/**\n * The command to close a runnint application on the device.\n */\nexport class CloseAppCommand implements Command<void> {\n readonly name = \"closeApp\";\n readonly args = undefined;\n\n readonly triggersDisconnection = true;\n\n getApdu(): Apdu {\n const closeAppApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0xa7,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(closeAppApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): CommandResult<void> {\n if (CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n data: undefined,\n });\n }\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAkD,uCAElDC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAQnC,MAAML,CAAyC,CAC3C,KAAO,WACP,KAAO,OAEP,sBAAwB,GAEjC,SAAgB,CACd,MAAMM,EAAoC,CACxC,IAAK,IACL,IAAK,IACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAgB,EAAE,MAAM,CACjD,CAEA,cAAcC,EAAiD,CAC7D,OAAI,eAAa,kBAAkBA,CAAY,KACtC,wBAAqB,CAC1B,KAAM,MACR,CAAC,KAEI,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,CACH,CACF",
6
6
  "names": ["CloseAppCommand_exports", "__export", "CloseAppCommand", "__toCommonJS", "import_ApduBuilder", "import_CommandResult", "import_CommandUtils", "import_GlobalCommandError", "closeAppApduArgs", "apduResponse"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=require("../../command/model/CommandResult"),n=require("../../command/os/CloseAppCommand"),t=require("../../device-session/ApduResponse");const r=new Uint8Array([176,167,0,0,0]);describe("CloseAppCommand",()=>{let s;beforeEach(()=>{s=new n.CloseAppCommand}),it("should return the correct APDU",()=>{const e=s.getApdu();expect(e.getRawApdu()).toStrictEqual(r)}),it("should not be error when command is sucessful",()=>{const e=new t.ApduResponse({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])});expect((0,o.isSuccessCommandResult)(s.parseResponse(e))).toBeTruthy()}),it("should throw error when command is unsuccessful",()=>{const e=new t.ApduResponse({statusCode:new Uint8Array([106,129]),data:new Uint8Array([])});expect((0,o.isSuccessCommandResult)(s.parseResponse(e))).toBeFalsy()})});
1
+ "use strict";var o=require("../../command/model/CommandResult"),n=require("../../command/os/CloseAppCommand"),t=require("../../device-session/ApduResponse");const p=new Uint8Array([176,167,0,0,0]);describe("CloseAppCommand",()=>{let e;beforeEach(()=>{e=new n.CloseAppCommand}),describe("name",()=>{it("should be 'closeApp'",()=>{expect(e.name).toBe("closeApp")})}),it("should return the correct APDU",()=>{const s=e.getApdu();expect(s.getRawApdu()).toStrictEqual(p)}),it("should not be error when command is sucessful",()=>{const s=new t.ApduResponse({statusCode:new Uint8Array([144,0]),data:new Uint8Array([])});expect((0,o.isSuccessCommandResult)(e.parseResponse(s))).toBeTruthy()}),it("should throw error when command is unsuccessful",()=>{const s=new t.ApduResponse({statusCode:new Uint8Array([106,129]),data:new Uint8Array([])});expect((0,o.isSuccessCommandResult)(e.parseResponse(s))).toBeFalsy()})});
2
2
  //# sourceMappingURL=CloseAppCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/CloseAppCommand.test.ts"],
4
- "sourcesContent": ["import { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nconst CLOSE_APP_APDU = new Uint8Array([0xb0, 0xa7, 0x00, 0x00, 0x00]);\n\ndescribe(\"CloseAppCommand\", () => {\n let closeAppCommand: CloseAppCommand;\n\n beforeEach(() => {\n closeAppCommand = new CloseAppCommand();\n });\n\n it(\"should return the correct APDU\", () => {\n const apdu = closeAppCommand.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(CLOSE_APP_APDU);\n });\n\n it(\"should not be error when command is sucessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeTruthy();\n });\n\n it(\"should throw error when command is unsuccessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x6a, 0x81]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeFalsy();\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAAuC,4CACvCC,EAAgC,2CAChCC,EAA6B,4CAE7B,MAAMC,EAAiB,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,EAAM,CAAI,CAAC,EAEpE,SAAS,kBAAmB,IAAM,CAChC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAkB,IAAI,iBACxB,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,MAAMC,EAAOD,EAAgB,QAAQ,EACrC,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAc,CACxD,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMG,EAA6B,IAAI,eAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,UACE,0BAAuBF,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,WAAW,CACf,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,MAAMA,EAA6B,IAAI,eAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,UACE,0BAAuBF,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,UAAU,CACd,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { isSuccessCommandResult } from \"@api/command/model/CommandResult\";\nimport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nconst CLOSE_APP_APDU = new Uint8Array([0xb0, 0xa7, 0x00, 0x00, 0x00]);\n\ndescribe(\"CloseAppCommand\", () => {\n let closeAppCommand: CloseAppCommand;\n\n beforeEach(() => {\n closeAppCommand = new CloseAppCommand();\n });\n\n describe(\"name\", () => {\n it(\"should be 'closeApp'\", () => {\n expect(closeAppCommand.name).toBe(\"closeApp\");\n });\n });\n\n it(\"should return the correct APDU\", () => {\n const apdu = closeAppCommand.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(CLOSE_APP_APDU);\n });\n\n it(\"should not be error when command is sucessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x90, 0x00]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeTruthy();\n });\n\n it(\"should throw error when command is unsuccessful\", () => {\n const apduResponse: ApduResponse = new ApduResponse({\n statusCode: new Uint8Array([0x6a, 0x81]),\n data: new Uint8Array([]),\n });\n expect(\n isSuccessCommandResult(closeAppCommand.parseResponse(apduResponse)),\n ).toBeFalsy();\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAAuC,4CACvCC,EAAgC,2CAChCC,EAA6B,4CAE7B,MAAMC,EAAiB,IAAI,WAAW,CAAC,IAAM,IAAM,EAAM,EAAM,CAAI,CAAC,EAEpE,SAAS,kBAAmB,IAAM,CAChC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAkB,IAAI,iBACxB,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,uBAAwB,IAAM,CAC/B,OAAOA,EAAgB,IAAI,EAAE,KAAK,UAAU,CAC9C,CAAC,CACH,CAAC,EAED,GAAG,iCAAkC,IAAM,CACzC,MAAMC,EAAOD,EAAgB,QAAQ,EACrC,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcF,CAAc,CACxD,CAAC,EAED,GAAG,gDAAiD,IAAM,CACxD,MAAMG,EAA6B,IAAI,eAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,CAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,UACE,0BAAuBF,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,WAAW,CACf,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,MAAMA,EAA6B,IAAI,eAAa,CAClD,WAAY,IAAI,WAAW,CAAC,IAAM,GAAI,CAAC,EACvC,KAAM,IAAI,WAAW,CAAC,CAAC,CACzB,CAAC,EACD,UACE,0BAAuBF,EAAgB,cAAcE,CAAY,CAAC,CACpE,EAAE,UAAU,CACd,CAAC,CACH,CAAC",
6
6
  "names": ["import_CommandResult", "import_CloseAppCommand", "import_ApduResponse", "CLOSE_APP_APDU", "closeAppCommand", "apdu", "apduResponse"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var f=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var r in e)d(n,r,{get:e[r],enumerable:!0})},y=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of c(e))!f.call(n,o)&&o!==r&&d(n,o,{get:()=>e[o],enumerable:!(t=u(e,o))||t.enumerable});return n};var R=n=>y(d({},"__esModule",{value:!0}),n);var V={};g(V,{GetAppAndVersionCommand:()=>x});module.exports=R(V);var s=require("../../apdu/utils/ApduBuilder"),m=require("../../apdu/utils/ApduParser"),i=require("../../command/Errors"),p=require("../../command/model/CommandResult"),a=require("../../command/utils/CommandUtils"),A=require("../../command/utils/GlobalCommandError");class x{args=void 0;getApdu(){const e={cla:176,ins:1,p1:0,p2:0};return new s.ApduBuilder(e).build()}parseResponse(e){if(!a.CommandUtils.isSuccessResponse(e))return(0,p.CommandResultFactory)({error:A.GlobalCommandErrorHandler.handle(e)});const r=new m.ApduParser(e);if(r.extract8BitUInt()!==1)return(0,p.CommandResultFactory)({error:new i.InvalidResponseFormatError("getAppAndVersion: format not supported")});const t=r.encodeToString(r.extractFieldLVEncoded()),o=r.encodeToString(r.extractFieldLVEncoded());if(r.getUnparsedRemainingLength()===0)return(0,p.CommandResultFactory)({data:{name:t,version:o}});const l=r.extractFieldLVEncoded();return(0,p.CommandResultFactory)({data:{name:t,version:o,flags:l}})}}0&&(module.exports={GetAppAndVersionCommand});
1
+ "use strict";var d=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var g=Object.prototype.hasOwnProperty;var f=(n,e)=>{for(var r in e)d(n,r,{get:e[r],enumerable:!0})},y=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of c(e))!g.call(n,o)&&o!==r&&d(n,o,{get:()=>e[o],enumerable:!(t=u(e,o))||t.enumerable});return n};var R=n=>y(d({},"__esModule",{value:!0}),n);var x={};f(x,{GetAppAndVersionCommand:()=>V});module.exports=R(x);var s=require("../../apdu/utils/ApduBuilder"),m=require("../../apdu/utils/ApduParser"),i=require("../../command/Errors"),p=require("../../command/model/CommandResult"),a=require("../../command/utils/CommandUtils"),A=require("../../command/utils/GlobalCommandError");class V{name="getAppAndVersion";args=void 0;getApdu(){const e={cla:176,ins:1,p1:0,p2:0};return new s.ApduBuilder(e).build()}parseResponse(e){if(!a.CommandUtils.isSuccessResponse(e))return(0,p.CommandResultFactory)({error:A.GlobalCommandErrorHandler.handle(e)});const r=new m.ApduParser(e);if(r.extract8BitUInt()!==1)return(0,p.CommandResultFactory)({error:new i.InvalidResponseFormatError("getAppAndVersion: format not supported")});const t=r.encodeToString(r.extractFieldLVEncoded()),o=r.encodeToString(r.extractFieldLVEncoded());if(r.getUnparsedRemainingLength()===0)return(0,p.CommandResultFactory)({data:{name:t,version:o}});const l=r.extractFieldLVEncoded();return(0,p.CommandResultFactory)({data:{name:t,version:o,flags:l}})}}0&&(module.exports={GetAppAndVersionCommand});
2
2
  //# sourceMappingURL=GetAppAndVersionCommand.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/GetAppAndVersionCommand.ts"],
4
- "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type GetAppAndVersionResponse = {\n /**\n * The name of the application currently running on the device.\n */\n readonly name: string;\n /**\n * The version of the application currently running on the device.\n */\n readonly version: string;\n /**\n * Flags that are used to provide additional information about the application.\n */\n readonly flags?: number | Uint8Array;\n};\n\nexport type GetAppAndVersionCommandResult =\n CommandResult<GetAppAndVersionResponse>;\n\n/**\n * Command to get information about the application currently running on the\n * device.\n */\nexport class GetAppAndVersionCommand\n implements Command<GetAppAndVersionResponse>\n{\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getAppAndVersionApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getAppAndVersionApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): GetAppAndVersionCommandResult {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n if (parser.extract8BitUInt() !== 1) {\n return CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getAppAndVersion: format not supported\",\n ),\n });\n }\n\n const name = parser.encodeToString(parser.extractFieldLVEncoded());\n const version = parser.encodeToString(parser.extractFieldLVEncoded());\n\n if (parser.getUnparsedRemainingLength() === 0) {\n return CommandResultFactory({\n data: { name, version },\n });\n }\n\n const flags = parser.extractFieldLVEncoded();\n return CommandResultFactory({\n data: { name, version, flags },\n });\n }\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAkD,uCAClDC,EAA2B,sCAE3BC,EAA2C,+BAC3CC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAyBnC,MAAMP,CAEb,CACW,KAAO,OAEhB,SAAgB,CACd,MAAMQ,EAA4C,CAChD,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAwB,EAAE,MAAM,CACzD,CAEA,cAAcC,EAA2D,CACvE,GAAI,CAAC,eAAa,kBAAkBA,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAEH,MAAMC,EAAS,IAAI,aAAWD,CAAY,EAE1C,GAAIC,EAAO,gBAAgB,IAAM,EAC/B,SAAO,wBAAqB,CAC1B,MAAO,IAAI,6BACT,wCACF,CACF,CAAC,EAGH,MAAMC,EAAOD,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAC3DE,EAAUF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAEpE,GAAIA,EAAO,2BAA2B,IAAM,EAC1C,SAAO,wBAAqB,CAC1B,KAAM,CAAE,KAAAC,EAAM,QAAAC,CAAQ,CACxB,CAAC,EAGH,MAAMC,EAAQH,EAAO,sBAAsB,EAC3C,SAAO,wBAAqB,CAC1B,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,CAAM,CAC/B,CAAC,CACH,CACF",
4
+ "sourcesContent": ["import { type Apdu } from \"@api/apdu/model/Apdu\";\nimport { ApduBuilder, type ApduBuilderArgs } from \"@api/apdu/utils/ApduBuilder\";\nimport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nimport { type Command } from \"@api/command/Command\";\nimport { InvalidResponseFormatError } from \"@api/command/Errors\";\nimport {\n type CommandResult,\n CommandResultFactory,\n} from \"@api/command/model/CommandResult\";\nimport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nimport { GlobalCommandErrorHandler } from \"@api/command/utils/GlobalCommandError\";\nimport { type ApduResponse } from \"@api/device-session/ApduResponse\";\n\nexport type GetAppAndVersionResponse = {\n /**\n * The name of the application currently running on the device.\n */\n readonly name: string;\n /**\n * The version of the application currently running on the device.\n */\n readonly version: string;\n /**\n * Flags that are used to provide additional information about the application.\n */\n readonly flags?: number | Uint8Array;\n};\n\nexport type GetAppAndVersionCommandResult =\n CommandResult<GetAppAndVersionResponse>;\n\n/**\n * Command to get information about the application currently running on the\n * device.\n */\nexport class GetAppAndVersionCommand\n implements Command<GetAppAndVersionResponse>\n{\n readonly name = \"getAppAndVersion\";\n readonly args = undefined;\n\n getApdu(): Apdu {\n const getAppAndVersionApduArgs: ApduBuilderArgs = {\n cla: 0xb0,\n ins: 0x01,\n p1: 0x00,\n p2: 0x00,\n };\n return new ApduBuilder(getAppAndVersionApduArgs).build();\n }\n\n parseResponse(apduResponse: ApduResponse): GetAppAndVersionCommandResult {\n if (!CommandUtils.isSuccessResponse(apduResponse)) {\n return CommandResultFactory({\n error: GlobalCommandErrorHandler.handle(apduResponse),\n });\n }\n const parser = new ApduParser(apduResponse);\n\n if (parser.extract8BitUInt() !== 1) {\n return CommandResultFactory({\n error: new InvalidResponseFormatError(\n \"getAppAndVersion: format not supported\",\n ),\n });\n }\n\n const name = parser.encodeToString(parser.extractFieldLVEncoded());\n const version = parser.encodeToString(parser.extractFieldLVEncoded());\n\n if (parser.getUnparsedRemainingLength() === 0) {\n return CommandResultFactory({\n data: { name, version },\n });\n }\n\n const flags = parser.extractFieldLVEncoded();\n return CommandResultFactory({\n data: { name, version, flags },\n });\n }\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,6BAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAAkD,uCAClDC,EAA2B,sCAE3BC,EAA2C,+BAC3CC,EAGO,4CACPC,EAA6B,2CAC7BC,EAA0C,iDAyBnC,MAAMP,CAEb,CACW,KAAO,mBACP,KAAO,OAEhB,SAAgB,CACd,MAAMQ,EAA4C,CAChD,IAAK,IACL,IAAK,EACL,GAAI,EACJ,GAAI,CACN,EACA,OAAO,IAAI,cAAYA,CAAwB,EAAE,MAAM,CACzD,CAEA,cAAcC,EAA2D,CACvE,GAAI,CAAC,eAAa,kBAAkBA,CAAY,EAC9C,SAAO,wBAAqB,CAC1B,MAAO,4BAA0B,OAAOA,CAAY,CACtD,CAAC,EAEH,MAAMC,EAAS,IAAI,aAAWD,CAAY,EAE1C,GAAIC,EAAO,gBAAgB,IAAM,EAC/B,SAAO,wBAAqB,CAC1B,MAAO,IAAI,6BACT,wCACF,CACF,CAAC,EAGH,MAAMC,EAAOD,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAC3DE,EAAUF,EAAO,eAAeA,EAAO,sBAAsB,CAAC,EAEpE,GAAIA,EAAO,2BAA2B,IAAM,EAC1C,SAAO,wBAAqB,CAC1B,KAAM,CAAE,KAAAC,EAAM,QAAAC,CAAQ,CACxB,CAAC,EAGH,MAAMC,EAAQH,EAAO,sBAAsB,EAC3C,SAAO,wBAAqB,CAC1B,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,CAAM,CAC/B,CAAC,CACH,CACF",
6
6
  "names": ["GetAppAndVersionCommand_exports", "__export", "GetAppAndVersionCommand", "__toCommonJS", "import_ApduBuilder", "import_ApduParser", "import_Errors", "import_CommandResult", "import_CommandUtils", "import_GlobalCommandError", "getAppAndVersionApduArgs", "apduResponse", "parser", "name", "version", "flags"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var o=require("../../command/model/CommandResult"),n=require("../../device-session/ApduResponse"),d=require("./GetAppAndVersionCommand");const i=Uint8Array.from([176,1,0,0,0]),x=Uint8Array.from([1,5,66,79,76,79,83,9,49,46,52,46,48,45,114,99,50,144,0]),a=Uint8Array.from([1,7,66,105,116,99,111,105,110,11,50,46,49,46,53,45,97,108,112,104,97,1,2,144,0]),c=Uint8Array.from([103,0]),p=Uint8Array.from([4,144,0]);describe("GetAppAndVersionCommand",()=>{let t;beforeEach(()=>{t=new d.GetAppAndVersionCommand}),describe("getApdu",()=>{it("should return the GetAppAndVersion APDU",()=>{const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(i)})}),describe("parseResponse",()=>{it("should parse the response when launching OS (dashboard)",()=>{const e=new n.ApduResponse({statusCode:x.slice(-2),data:x.slice(0,-2)}),s=t.parseResponse(e),r=(0,o.CommandResultFactory)({data:{name:"BOLOS",version:"1.4.0-rc2"}});expect(s).toStrictEqual(r)}),it("should parse the response when launching App",()=>{const e=new n.ApduResponse({statusCode:a.slice(-2),data:a.slice(0,-2)}),s=t.parseResponse(e),r=(0,o.CommandResultFactory)({data:{name:"Bitcoin",version:"2.1.5-alpha",flags:Uint8Array.from([2])}});expect(s).toStrictEqual(r)}),it("should throw an error if the command failed",()=>{const e=new n.ApduResponse({statusCode:c.slice(-2),data:c.slice(0,-2)}),s=t.parseResponse(e);expect((0,o.isSuccessCommandResult)(s)).toBeFalsy()}),it("should return an error if the response returned unsupported format",()=>{const e=new n.ApduResponse({statusCode:p.slice(-2),data:p.slice(0,-2)}),s=t.parseResponse(e);expect((0,o.isSuccessCommandResult)(s)).toBeFalsy()})})});
1
+ "use strict";var o=require("../../command/model/CommandResult"),n=require("../../device-session/ApduResponse"),d=require("./GetAppAndVersionCommand");const i=Uint8Array.from([176,1,0,0,0]),a=Uint8Array.from([1,5,66,79,76,79,83,9,49,46,52,46,48,45,114,99,50,144,0]),x=Uint8Array.from([1,7,66,105,116,99,111,105,110,11,50,46,49,46,53,45,97,108,112,104,97,1,2,144,0]),p=Uint8Array.from([103,0]),c=Uint8Array.from([4,144,0]);describe("GetAppAndVersionCommand",()=>{let t;beforeEach(()=>{t=new d.GetAppAndVersionCommand}),describe("name",()=>{it("should be 'getAppAndVersion'",()=>{expect(t.name).toBe("getAppAndVersion")})}),describe("getApdu",()=>{it("should return the GetAppAndVersion APDU",()=>{const e=t.getApdu();expect(e.getRawApdu()).toStrictEqual(i)})}),describe("parseResponse",()=>{it("should parse the response when launching OS (dashboard)",()=>{const e=new n.ApduResponse({statusCode:a.slice(-2),data:a.slice(0,-2)}),s=t.parseResponse(e),r=(0,o.CommandResultFactory)({data:{name:"BOLOS",version:"1.4.0-rc2"}});expect(s).toStrictEqual(r)}),it("should parse the response when launching App",()=>{const e=new n.ApduResponse({statusCode:x.slice(-2),data:x.slice(0,-2)}),s=t.parseResponse(e),r=(0,o.CommandResultFactory)({data:{name:"Bitcoin",version:"2.1.5-alpha",flags:Uint8Array.from([2])}});expect(s).toStrictEqual(r)}),it("should throw an error if the command failed",()=>{const e=new n.ApduResponse({statusCode:p.slice(-2),data:p.slice(0,-2)}),s=t.parseResponse(e);expect((0,o.isSuccessCommandResult)(s)).toBeFalsy()}),it("should return an error if the response returned unsupported format",()=>{const e=new n.ApduResponse({statusCode:c.slice(-2),data:c.slice(0,-2)}),s=t.parseResponse(e);expect((0,o.isSuccessCommandResult)(s)).toBeFalsy()})})});
2
2
  //# sourceMappingURL=GetAppAndVersionCommand.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/command/os/GetAppAndVersionCommand.test.ts"],
4
- "sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { GetAppAndVersionCommand } from \"./GetAppAndVersionCommand\";\n\nconst GET_APP_AND_VERSION_APDU = Uint8Array.from([\n 0xb0, 0x01, 0x00, 0x00, 0x00,\n]);\n\nconst OS_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x09, 0x31, 0x2e, 0x34, 0x2e, 0x30,\n 0x2d, 0x72, 0x63, 0x32, 0x90, 0x00,\n]);\n\nconst APP_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x07, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x0b, 0x32, 0x2e, 0x31,\n 0x2e, 0x35, 0x2d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x01, 0x02, 0x90, 0x00,\n]);\n\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\nconst ERROR_RESPONSE_HEX = Uint8Array.from([0x04, 0x90, 0x00]);\n\ndescribe(\"GetAppAndVersionCommand\", () => {\n let command: GetAppAndVersionCommand;\n\n beforeEach(() => {\n command = new GetAppAndVersionCommand();\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAppAndVersion APDU\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_APP_AND_VERSION_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response when launching OS (dashboard)\", () => {\n const OS_RESPONSE = new ApduResponse({\n statusCode: OS_RESPONSE_HEX.slice(-2),\n data: OS_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(OS_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"1.4.0-rc2\",\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should parse the response when launching App\", () => {\n const APP_RESPONSE = new ApduResponse({\n statusCode: APP_RESPONSE_HEX.slice(-2),\n data: APP_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(APP_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"Bitcoin\",\n version: \"2.1.5-alpha\",\n flags: Uint8Array.from([2]),\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should throw an error if the command failed\", () => {\n // given\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const result = command.parseResponse(FAILED_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n // given\n const ERROR_RESPONSE = new ApduResponse({\n statusCode: ERROR_RESPONSE_HEX.slice(-2),\n data: ERROR_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const response = command.parseResponse(ERROR_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(response)).toBeFalsy();\n });\n });\n});\n"],
5
- "mappings": "aAAA,IAAAA,EAGO,4CACPC,EAA6B,4CAE7BC,EAAwC,qCAExC,MAAMC,EAA2B,WAAW,KAAK,CAC/C,IAAM,EAAM,EAAM,EAAM,CAC1B,CAAC,EAEKC,EAAkB,WAAW,KAAK,CACtC,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,IAAM,GAAM,GAAM,IAAM,CAChC,CAAC,EAEKC,EAAmB,WAAW,KAAK,CACvC,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,EAAM,EAAM,IAAM,CACpE,CAAC,EAEKC,EAAsB,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EAElDC,EAAqB,WAAW,KAAK,CAAC,EAAM,IAAM,CAAI,CAAC,EAE7D,SAAS,0BAA2B,IAAM,CACxC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,yBAChB,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAClD,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcN,CAAwB,CAClE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAClE,MAAMO,EAAc,IAAI,eAAa,CACnC,WAAYN,EAAgB,MAAM,EAAE,EACpC,KAAMA,EAAgB,MAAM,EAAG,EAAE,CACnC,CAAC,EACKO,EAASH,EAAQ,cAAcE,CAAW,EAC1CE,KAAW,wBAAqB,CACpC,KAAM,CACJ,KAAM,QACN,QAAS,WACX,CACF,CAAC,EACD,OAAOD,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,+CAAgD,IAAM,CACvD,MAAMC,EAAe,IAAI,eAAa,CACpC,WAAYR,EAAiB,MAAM,EAAE,EACrC,KAAMA,EAAiB,MAAM,EAAG,EAAE,CACpC,CAAC,EACKM,EAASH,EAAQ,cAAcK,CAAY,EAC3CD,KAAW,wBAAqB,CACpC,KAAM,CACJ,KAAM,UACN,QAAS,cACT,MAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAC5B,CACF,CAAC,EACD,OAAOD,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,8CAA+C,IAAM,CAEtD,MAAME,EAAkB,IAAI,eAAa,CACvC,WAAYR,EAAoB,MAAM,EAAE,EACxC,KAAMA,EAAoB,MAAM,EAAG,EAAE,CACvC,CAAC,EAEKS,EAASP,EAAQ,cAAcM,CAAe,EAGpD,UAAO,0BAAuBC,CAAM,CAAC,EAAE,UAAU,CACnD,CAAC,EACD,GAAG,qEAAsE,IAAM,CAE7E,MAAMC,EAAiB,IAAI,eAAa,CACtC,WAAYT,EAAmB,MAAM,EAAE,EACvC,KAAMA,EAAmB,MAAM,EAAG,EAAE,CACtC,CAAC,EAEKU,EAAWT,EAAQ,cAAcQ,CAAc,EAGrD,UAAO,0BAAuBC,CAAQ,CAAC,EAAE,UAAU,CACrD,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import {\n CommandResultFactory,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nimport { ApduResponse } from \"@api/device-session/ApduResponse\";\n\nimport { GetAppAndVersionCommand } from \"./GetAppAndVersionCommand\";\n\nconst GET_APP_AND_VERSION_APDU = Uint8Array.from([\n 0xb0, 0x01, 0x00, 0x00, 0x00,\n]);\n\nconst OS_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x05, 0x42, 0x4f, 0x4c, 0x4f, 0x53, 0x09, 0x31, 0x2e, 0x34, 0x2e, 0x30,\n 0x2d, 0x72, 0x63, 0x32, 0x90, 0x00,\n]);\n\nconst APP_RESPONSE_HEX = Uint8Array.from([\n 0x01, 0x07, 0x42, 0x69, 0x74, 0x63, 0x6f, 0x69, 0x6e, 0x0b, 0x32, 0x2e, 0x31,\n 0x2e, 0x35, 0x2d, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x01, 0x02, 0x90, 0x00,\n]);\n\nconst FAILED_RESPONSE_HEX = Uint8Array.from([0x67, 0x00]);\n\nconst ERROR_RESPONSE_HEX = Uint8Array.from([0x04, 0x90, 0x00]);\n\ndescribe(\"GetAppAndVersionCommand\", () => {\n let command: GetAppAndVersionCommand;\n\n beforeEach(() => {\n command = new GetAppAndVersionCommand();\n });\n\n describe(\"name\", () => {\n it(\"should be 'getAppAndVersion'\", () => {\n expect(command.name).toBe(\"getAppAndVersion\");\n });\n });\n\n describe(\"getApdu\", () => {\n it(\"should return the GetAppAndVersion APDU\", () => {\n const apdu = command.getApdu();\n expect(apdu.getRawApdu()).toStrictEqual(GET_APP_AND_VERSION_APDU);\n });\n });\n\n describe(\"parseResponse\", () => {\n it(\"should parse the response when launching OS (dashboard)\", () => {\n const OS_RESPONSE = new ApduResponse({\n statusCode: OS_RESPONSE_HEX.slice(-2),\n data: OS_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(OS_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"BOLOS\",\n version: \"1.4.0-rc2\",\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should parse the response when launching App\", () => {\n const APP_RESPONSE = new ApduResponse({\n statusCode: APP_RESPONSE_HEX.slice(-2),\n data: APP_RESPONSE_HEX.slice(0, -2),\n });\n const parsed = command.parseResponse(APP_RESPONSE);\n const expected = CommandResultFactory({\n data: {\n name: \"Bitcoin\",\n version: \"2.1.5-alpha\",\n flags: Uint8Array.from([2]),\n },\n });\n expect(parsed).toStrictEqual(expected);\n });\n it(\"should throw an error if the command failed\", () => {\n // given\n const FAILED_RESPONSE = new ApduResponse({\n statusCode: FAILED_RESPONSE_HEX.slice(-2),\n data: FAILED_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const result = command.parseResponse(FAILED_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(result)).toBeFalsy();\n });\n it(\"should return an error if the response returned unsupported format\", () => {\n // given\n const ERROR_RESPONSE = new ApduResponse({\n statusCode: ERROR_RESPONSE_HEX.slice(-2),\n data: ERROR_RESPONSE_HEX.slice(0, -2),\n });\n // when\n const response = command.parseResponse(ERROR_RESPONSE);\n\n // then\n expect(isSuccessCommandResult(response)).toBeFalsy();\n });\n });\n});\n"],
5
+ "mappings": "aAAA,IAAAA,EAGO,4CACPC,EAA6B,4CAE7BC,EAAwC,qCAExC,MAAMC,EAA2B,WAAW,KAAK,CAC/C,IAAM,EAAM,EAAM,EAAM,CAC1B,CAAC,EAEKC,EAAkB,WAAW,KAAK,CACtC,EAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,GAAM,GAAM,GACxE,GAAM,IAAM,GAAM,GAAM,IAAM,CAChC,CAAC,EAEKC,EAAmB,WAAW,KAAK,CACvC,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GACxE,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,EAAM,EAAM,IAAM,CACpE,CAAC,EAEKC,EAAsB,WAAW,KAAK,CAAC,IAAM,CAAI,CAAC,EAElDC,EAAqB,WAAW,KAAK,CAAC,EAAM,IAAM,CAAI,CAAC,EAE7D,SAAS,0BAA2B,IAAM,CACxC,IAAIC,EAEJ,WAAW,IAAM,CACfA,EAAU,IAAI,yBAChB,CAAC,EAED,SAAS,OAAQ,IAAM,CACrB,GAAG,+BAAgC,IAAM,CACvC,OAAOA,EAAQ,IAAI,EAAE,KAAK,kBAAkB,CAC9C,CAAC,CACH,CAAC,EAED,SAAS,UAAW,IAAM,CACxB,GAAG,0CAA2C,IAAM,CAClD,MAAMC,EAAOD,EAAQ,QAAQ,EAC7B,OAAOC,EAAK,WAAW,CAAC,EAAE,cAAcN,CAAwB,CAClE,CAAC,CACH,CAAC,EAED,SAAS,gBAAiB,IAAM,CAC9B,GAAG,0DAA2D,IAAM,CAClE,MAAMO,EAAc,IAAI,eAAa,CACnC,WAAYN,EAAgB,MAAM,EAAE,EACpC,KAAMA,EAAgB,MAAM,EAAG,EAAE,CACnC,CAAC,EACKO,EAASH,EAAQ,cAAcE,CAAW,EAC1CE,KAAW,wBAAqB,CACpC,KAAM,CACJ,KAAM,QACN,QAAS,WACX,CACF,CAAC,EACD,OAAOD,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,+CAAgD,IAAM,CACvD,MAAMC,EAAe,IAAI,eAAa,CACpC,WAAYR,EAAiB,MAAM,EAAE,EACrC,KAAMA,EAAiB,MAAM,EAAG,EAAE,CACpC,CAAC,EACKM,EAASH,EAAQ,cAAcK,CAAY,EAC3CD,KAAW,wBAAqB,CACpC,KAAM,CACJ,KAAM,UACN,QAAS,cACT,MAAO,WAAW,KAAK,CAAC,CAAC,CAAC,CAC5B,CACF,CAAC,EACD,OAAOD,CAAM,EAAE,cAAcC,CAAQ,CACvC,CAAC,EACD,GAAG,8CAA+C,IAAM,CAEtD,MAAME,EAAkB,IAAI,eAAa,CACvC,WAAYR,EAAoB,MAAM,EAAE,EACxC,KAAMA,EAAoB,MAAM,EAAG,EAAE,CACvC,CAAC,EAEKS,EAASP,EAAQ,cAAcM,CAAe,EAGpD,UAAO,0BAAuBC,CAAM,CAAC,EAAE,UAAU,CACnD,CAAC,EACD,GAAG,qEAAsE,IAAM,CAE7E,MAAMC,EAAiB,IAAI,eAAa,CACtC,WAAYT,EAAmB,MAAM,EAAE,EACvC,KAAMA,EAAmB,MAAM,EAAG,EAAE,CACtC,CAAC,EAEKU,EAAWT,EAAQ,cAAcQ,CAAc,EAGrD,UAAO,0BAAuBC,CAAQ,CAAC,EAAE,UAAU,CACrD,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_CommandResult", "import_ApduResponse", "import_GetAppAndVersionCommand", "GET_APP_AND_VERSION_APDU", "OS_RESPONSE_HEX", "APP_RESPONSE_HEX", "FAILED_RESPONSE_HEX", "ERROR_RESPONSE_HEX", "command", "apdu", "OS_RESPONSE", "parsed", "expected", "APP_RESPONSE", "FAILED_RESPONSE", "result", "ERROR_RESPONSE", "response"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var p=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var m=(a,t)=>{for(var s in t)p(a,s,{get:t[s],enumerable:!0})},c=(a,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of T(t))!B.call(a,o)&&o!==s&&p(a,o,{get:()=>t[o],enumerable:!(e=d(t,o))||e.enumerable});return a};var x=a=>c(p({},"__esModule",{value:!0}),a);var y={};m(y,{BatteryStatusType:()=>i,ChargingMode:()=>R,GetBatteryStatusCommand:()=>S});module.exports=x(y);var E=require("../../apdu/utils/ApduBuilder"),A=require("../../apdu/utils/ApduParser"),u=require("../../command/Errors"),n=require("../../command/model/CommandResult"),i=(r=>(r[r.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",r[r.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",r[r.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",r[r.BATTERY_CURRENT=3]="BATTERY_CURRENT",r[r.BATTERY_FLAGS=4]="BATTERY_FLAGS",r))(i||{}),R=(e=>(e[e.NONE=0]="NONE",e[e.USB=1]="USB",e[e.QI=2]="QI",e))(R||{});class S{args;constructor(t){this.args=t}getApdu(){const t={cla:224,ins:16,p1:0,p2:this.args.statusType};return new E.ApduBuilder(t).build()}parseResponse(t){const s=new A.ApduParser(t);switch(this.args.statusType){case 0:{const e=s.extract8BitUInt();return e===void 0?(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")}):(0,n.CommandResultFactory)({data:e>100?-1:e})}case 1:{const e=s.extract16BitUInt();return e===void 0?(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")}):(0,n.CommandResultFactory)({data:e})}case 2:case 3:{const e=s.extract8BitUInt();return e===void 0?(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")}):(0,n.CommandResultFactory)({data:e<<24>>24})}case 4:{const e=s.extract32BitUInt();if(e===void 0)return(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")});const o=!!(e&8),r=!o&&!!(e&1);return(0,n.CommandResultFactory)({data:{charging:r?2:o?1:0,issueCharging:!!(e&16),issueTemperature:!!(e&32),issueBattery:!!(e&128)}})}default:return(0,n.CommandResultFactory)({error:new u.InvalidBatteryStatusTypeError("One or some case(s) not covered")})}}}0&&(module.exports={BatteryStatusType,ChargingMode,GetBatteryStatusCommand});
1
+ "use strict";var p=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var m=(a,t)=>{for(var s in t)p(a,s,{get:t[s],enumerable:!0})},c=(a,t,s,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of T(t))!B.call(a,o)&&o!==s&&p(a,o,{get:()=>t[o],enumerable:!(e=R(t,o))||e.enumerable});return a};var S=a=>c(p({},"__esModule",{value:!0}),a);var y={};m(y,{BatteryStatusType:()=>i,ChargingMode:()=>d,GetBatteryStatusCommand:()=>x});module.exports=S(y);var E=require("../../apdu/utils/ApduBuilder"),A=require("../../apdu/utils/ApduParser"),u=require("../../command/Errors"),n=require("../../command/model/CommandResult"),i=(r=>(r[r.BATTERY_PERCENTAGE=0]="BATTERY_PERCENTAGE",r[r.BATTERY_VOLTAGE=1]="BATTERY_VOLTAGE",r[r.BATTERY_TEMPERATURE=2]="BATTERY_TEMPERATURE",r[r.BATTERY_CURRENT=3]="BATTERY_CURRENT",r[r.BATTERY_FLAGS=4]="BATTERY_FLAGS",r))(i||{}),d=(e=>(e[e.NONE=0]="NONE",e[e.USB=1]="USB",e[e.QI=2]="QI",e))(d||{});class x{name="getBatteryStatus";args;constructor(t){this.args=t}getApdu(){const t={cla:224,ins:16,p1:0,p2:this.args.statusType};return new E.ApduBuilder(t).build()}parseResponse(t){const s=new A.ApduParser(t);switch(this.args.statusType){case 0:{const e=s.extract8BitUInt();return e===void 0?(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")}):(0,n.CommandResultFactory)({data:e>100?-1:e})}case 1:{const e=s.extract16BitUInt();return e===void 0?(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")}):(0,n.CommandResultFactory)({data:e})}case 2:case 3:{const e=s.extract8BitUInt();return e===void 0?(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")}):(0,n.CommandResultFactory)({data:e<<24>>24})}case 4:{const e=s.extract32BitUInt();if(e===void 0)return(0,n.CommandResultFactory)({error:new u.InvalidBatteryDataError("Cannot parse APDU response")});const o=!!(e&8),r=!o&&!!(e&1);return(0,n.CommandResultFactory)({data:{charging:r?2:o?1:0,issueCharging:!!(e&16),issueTemperature:!!(e&32),issueBattery:!!(e&128)}})}default:return(0,n.CommandResultFactory)({error:new u.InvalidBatteryStatusTypeError("One or some case(s) not covered")})}}}0&&(module.exports={BatteryStatusType,ChargingMode,GetBatteryStatusCommand});
2
2
  //# sourceMappingURL=GetBatteryStatusCommand.js.map