@ledgerhq/device-management-kit 0.6.4 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/README.md +61 -8
  2. package/lib/cjs/package.json +23 -23
  3. package/lib/cjs/src/api/DeviceManagementKit.js +1 -1
  4. package/lib/cjs/src/api/DeviceManagementKit.js.map +3 -3
  5. package/lib/cjs/src/api/DeviceManagementKit.test.js +1 -1
  6. package/lib/cjs/src/api/DeviceManagementKit.test.js.map +3 -3
  7. package/lib/cjs/src/api/DeviceManagementKitBuilder.js +1 -1
  8. package/lib/cjs/src/api/DeviceManagementKitBuilder.js.map +2 -2
  9. package/lib/cjs/src/api/DmkConfig.js +1 -1
  10. package/lib/cjs/src/api/DmkConfig.js.map +1 -1
  11. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  12. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  13. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  14. package/lib/cjs/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  15. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js +1 -1
  16. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  17. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  18. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  19. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js +2 -0
  20. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  21. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  22. package/lib/cjs/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  23. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  24. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  25. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js +1 -1
  26. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  27. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  28. package/lib/cjs/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  29. package/lib/cjs/src/api/command/utils/CommandUtils.js +1 -1
  30. package/lib/cjs/src/api/command/utils/CommandUtils.js.map +3 -3
  31. package/lib/cjs/src/api/command/utils/CommandUtils.test.js +1 -1
  32. package/lib/cjs/src/api/command/utils/CommandUtils.test.js.map +3 -3
  33. package/lib/cjs/src/api/device-action/DeviceAction.js +1 -1
  34. package/lib/cjs/src/api/device-action/DeviceAction.js.map +1 -1
  35. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  36. package/lib/cjs/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  37. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  38. package/lib/cjs/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  39. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  40. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
  41. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  42. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  43. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js +1 -1
  44. package/lib/cjs/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.js.map +1 -1
  45. package/lib/cjs/src/api/device-action/os/Errors.js +1 -1
  46. package/lib/cjs/src/api/device-action/os/Errors.js.map +3 -3
  47. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  48. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  49. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  50. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  51. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js +2 -0
  52. package/lib/cjs/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  53. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  54. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
  55. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  56. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  57. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js +1 -1
  58. package/lib/cjs/src/api/device-action/os/GoToDashboard/types.js.map +1 -1
  59. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  60. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  61. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  62. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  63. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js +2 -0
  64. package/lib/cjs/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  65. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  66. package/lib/cjs/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  67. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  68. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  69. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  70. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  71. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js +2 -0
  72. package/lib/cjs/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  73. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  74. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  75. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  76. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  77. package/lib/cjs/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.js.map +1 -1
  78. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  79. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  80. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  81. package/lib/cjs/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  82. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  83. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  84. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  85. package/lib/cjs/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  86. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  87. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  88. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  89. package/lib/cjs/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  90. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  91. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  92. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  93. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  94. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  95. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  96. package/lib/cjs/src/api/device-model/model/DeviceModel.js +1 -1
  97. package/lib/cjs/src/api/device-model/model/DeviceModel.js.map +2 -2
  98. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js +1 -1
  99. package/lib/cjs/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  100. package/lib/cjs/src/api/device-session/DeviceSessionState.js +1 -1
  101. package/lib/cjs/src/api/device-session/DeviceSessionState.js.map +2 -2
  102. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
  103. package/lib/cjs/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
  104. package/lib/cjs/src/api/index.js +1 -1
  105. package/lib/cjs/src/api/index.js.map +3 -3
  106. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  107. package/lib/cjs/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  108. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  109. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  110. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +1 -1
  111. package/lib/cjs/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +3 -3
  112. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +2 -0
  113. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +7 -0
  114. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +2 -0
  115. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +7 -0
  116. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js +2 -0
  117. package/lib/cjs/src/api/secure-channel/device-action/InstallApp/types.js.map +7 -0
  118. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  119. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  120. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +1 -1
  121. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +3 -3
  122. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js +1 -1
  123. package/lib/cjs/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  124. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +2 -0
  125. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +7 -0
  126. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +2 -0
  127. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +7 -0
  128. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js +2 -0
  129. package/lib/cjs/src/api/secure-channel/device-action/UninstallApp/types.js.map +7 -0
  130. package/lib/cjs/src/api/secure-channel/utils.test.js +1 -1
  131. package/lib/cjs/src/api/secure-channel/utils.test.js.map +2 -2
  132. package/lib/cjs/src/api/transport/model/DeviceApduSender.js +2 -0
  133. package/lib/cjs/src/api/transport/model/DeviceApduSender.js.map +7 -0
  134. package/lib/cjs/src/api/transport/model/DeviceConnection.js +1 -1
  135. package/lib/cjs/src/api/transport/model/DeviceConnection.js.map +1 -1
  136. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  137. package/lib/cjs/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  138. package/lib/cjs/src/api/transport/model/DiscoveredDevice.js.map +1 -1
  139. package/lib/cjs/src/api/transport/model/Errors.js +1 -1
  140. package/lib/cjs/src/api/transport/model/Errors.js.map +3 -3
  141. package/lib/cjs/src/api/transport/model/Transport.js.map +1 -1
  142. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js +1 -1
  143. package/lib/cjs/src/api/transport/model/TransportConnectedDevice.test.js.map +3 -3
  144. package/lib/cjs/src/api/types.js +1 -1
  145. package/lib/cjs/src/api/types.js.map +1 -1
  146. package/lib/cjs/src/di.js +1 -1
  147. package/lib/cjs/src/di.js.map +2 -2
  148. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js +1 -1
  149. package/lib/cjs/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  150. package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js +1 -1
  151. package/lib/cjs/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +3 -3
  152. package/lib/cjs/src/internal/device-session/model/DevicePinger.js +2 -0
  153. package/lib/cjs/src/internal/device-session/model/DevicePinger.js.map +7 -0
  154. package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js +2 -0
  155. package/lib/cjs/src/internal/device-session/model/DevicePinger.test.js.map +7 -0
  156. package/lib/cjs/src/internal/device-session/model/DeviceSession.js +1 -1
  157. package/lib/cjs/src/internal/device-session/model/DeviceSession.js.map +3 -3
  158. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  159. package/lib/cjs/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  160. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js +2 -0
  161. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +7 -0
  162. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +2 -0
  163. package/lib/cjs/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +7 -0
  164. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  165. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  166. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  167. package/lib/cjs/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +3 -3
  168. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js +2 -0
  169. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.js.map +7 -0
  170. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js +2 -0
  171. package/lib/cjs/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +7 -0
  172. package/lib/cjs/src/internal/device-session/model/Frame.js +1 -1
  173. package/lib/cjs/src/internal/device-session/model/Frame.js.map +3 -3
  174. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  175. package/lib/cjs/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  176. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  177. package/lib/cjs/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  178. package/lib/cjs/src/internal/device-session/service/MutexService.js +2 -0
  179. package/lib/cjs/src/internal/device-session/service/MutexService.js.map +7 -0
  180. package/lib/cjs/src/internal/device-session/service/MutexService.test.js +2 -0
  181. package/lib/cjs/src/internal/device-session/service/MutexService.test.js.map +7 -0
  182. package/lib/cjs/src/internal/device-session/service/RefresherService.js +1 -1
  183. package/lib/cjs/src/internal/device-session/service/RefresherService.js.map +3 -3
  184. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js +1 -1
  185. package/lib/cjs/src/internal/device-session/service/RefresherService.test.js.map +3 -3
  186. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  187. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  188. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  189. package/lib/cjs/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  190. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  191. package/lib/cjs/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  192. package/lib/cjs/src/internal/device-session/utils/deviceSessionUtils.js +2 -0
  193. package/lib/cjs/src/internal/device-session/utils/deviceSessionUtils.js.map +7 -0
  194. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  195. package/lib/cjs/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  196. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  197. package/lib/cjs/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  198. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  199. package/lib/cjs/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  200. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  201. package/lib/cjs/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  202. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  203. package/lib/cjs/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  204. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  205. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +3 -3
  206. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  207. package/lib/cjs/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  208. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  209. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  210. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  211. package/lib/cjs/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  212. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  213. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  214. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  215. package/lib/cjs/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  216. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  217. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  218. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  219. package/lib/cjs/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  220. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js +1 -1
  221. package/lib/cjs/src/internal/manager-api/data/ManagerApiDataSource.js.map +1 -1
  222. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  223. package/lib/cjs/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  224. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  225. package/lib/cjs/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  226. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js +1 -1
  227. package/lib/cjs/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  228. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  229. package/lib/cjs/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  230. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js +1 -1
  231. package/lib/cjs/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  232. package/lib/cjs/src/internal/manager-api/model/Application.js +1 -1
  233. package/lib/cjs/src/internal/manager-api/model/Application.js.map +1 -1
  234. package/lib/cjs/src/internal/manager-api/model/Const.js +1 -1
  235. package/lib/cjs/src/internal/manager-api/model/Const.js.map +3 -3
  236. package/lib/cjs/src/internal/manager-api/model/Firmware.js +1 -1
  237. package/lib/cjs/src/internal/manager-api/model/Firmware.js.map +1 -1
  238. package/lib/cjs/src/internal/manager-api/model/Language.js +2 -0
  239. package/lib/cjs/src/internal/manager-api/model/Language.js.map +7 -0
  240. package/lib/cjs/src/internal/manager-api/model/Params.js +1 -1
  241. package/lib/cjs/src/internal/manager-api/model/Params.js.map +1 -1
  242. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  243. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  244. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  245. package/lib/cjs/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  246. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js +1 -1
  247. package/lib/cjs/src/internal/manager-api/service/ManagerApiService.js.map +1 -1
  248. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  249. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  250. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  251. package/lib/cjs/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  252. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  253. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  254. package/lib/cjs/src/internal/secure-channel/model/Params.js +1 -1
  255. package/lib/cjs/src/internal/secure-channel/model/Params.js.map +1 -1
  256. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  257. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  258. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  259. package/lib/cjs/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  260. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js +1 -1
  261. package/lib/cjs/src/internal/secure-channel/service/SecureChannelService.js.map +1 -1
  262. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js +1 -1
  263. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  264. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  265. package/lib/cjs/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  266. package/lib/cjs/src/internal/transport/di/transportModule.test.js +1 -1
  267. package/lib/cjs/src/internal/transport/di/transportModule.test.js.map +2 -2
  268. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js +1 -1
  269. package/lib/cjs/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  270. package/lib/cjs/src/internal/transport/service/TransportService.js +1 -1
  271. package/lib/cjs/src/internal/transport/service/TransportService.js.map +1 -1
  272. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  273. package/lib/cjs/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  274. package/lib/esm/package.json +23 -23
  275. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  276. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  277. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  278. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  279. package/lib/esm/src/api/DeviceManagementKitBuilder.js +1 -1
  280. package/lib/esm/src/api/DeviceManagementKitBuilder.js.map +3 -3
  281. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js +2 -0
  282. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.js.map +7 -0
  283. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js +2 -0
  284. package/lib/esm/src/api/command/os/GetCustomImageSizeCommand.test.js.map +7 -0
  285. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  286. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  287. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  288. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  289. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js +2 -0
  290. package/lib/esm/src/api/command/os/ListLanguagePackCommand.js.map +7 -0
  291. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js +2 -0
  292. package/lib/esm/src/api/command/os/ListLanguagePackCommand.test.js.map +7 -0
  293. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  294. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  295. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js +1 -1
  296. package/lib/esm/src/api/command/use-case/SendCommandUseCase.js.map +3 -3
  297. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js +1 -1
  298. package/lib/esm/src/api/command/use-case/SendCommandUseCase.test.js.map +3 -3
  299. package/lib/esm/src/api/command/utils/CommandUtils.js +1 -1
  300. package/lib/esm/src/api/command/utils/CommandUtils.js.map +3 -3
  301. package/lib/esm/src/api/command/utils/CommandUtils.test.js +1 -1
  302. package/lib/esm/src/api/command/utils/CommandUtils.test.js.map +3 -3
  303. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js +1 -1
  304. package/lib/esm/src/api/device-action/__test-utils__/makeInternalApi.js.map +3 -3
  305. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js +1 -1
  306. package/lib/esm/src/api/device-action/__test-utils__/setupTestMachine.js.map +3 -3
  307. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js +1 -1
  308. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.js.map +2 -2
  309. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js +1 -1
  310. package/lib/esm/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.test.js.map +2 -2
  311. package/lib/esm/src/api/device-action/os/Errors.js +1 -1
  312. package/lib/esm/src/api/device-action/os/Errors.js.map +3 -3
  313. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js +2 -0
  314. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.js.map +7 -0
  315. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js +2 -0
  316. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.js.map +7 -0
  317. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js +1 -0
  318. package/lib/esm/src/api/device-action/os/GetDeviceMetadata/types.js.map +7 -0
  319. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  320. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +2 -2
  321. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  322. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +2 -2
  323. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js +2 -0
  324. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.js.map +7 -0
  325. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js +2 -0
  326. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.js.map +7 -0
  327. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js +1 -0
  328. package/lib/esm/src/api/device-action/os/InstallOrUpdateApps/types.js.map +7 -0
  329. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js +1 -1
  330. package/lib/esm/src/api/device-action/os/ListApps/ListAppsDeviceAction.js.map +2 -2
  331. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js +2 -0
  332. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.js.map +7 -0
  333. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js +2 -0
  334. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.js.map +7 -0
  335. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js +1 -0
  336. package/lib/esm/src/api/device-action/os/OpenAppWithDependencies/types.js.map +7 -0
  337. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js +1 -1
  338. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.js.map +2 -2
  339. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js +1 -1
  340. package/lib/esm/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.test.js.map +2 -2
  341. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js +2 -0
  342. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.js.map +7 -0
  343. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js +2 -0
  344. package/lib/esm/src/api/device-action/task/BuildAppsInstallPlanTask.test.js.map +7 -0
  345. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js +2 -0
  346. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.js.map +7 -0
  347. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js +2 -0
  348. package/lib/esm/src/api/device-action/task/GetApplicationsMetadataTask.test.js.map +7 -0
  349. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js +2 -0
  350. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.js.map +7 -0
  351. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js +2 -0
  352. package/lib/esm/src/api/device-action/task/GetFirmwareMetadataTask.test.js.map +7 -0
  353. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +2 -0
  354. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +7 -0
  355. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +2 -0
  356. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +7 -0
  357. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  358. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  359. package/lib/esm/src/api/device-model/model/DeviceModel.js +1 -1
  360. package/lib/esm/src/api/device-model/model/DeviceModel.js.map +2 -2
  361. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js +1 -1
  362. package/lib/esm/src/api/device-model/model/DeviceModel.stub.js.map +2 -2
  363. package/lib/esm/src/api/device-session/DeviceSessionState.js +1 -1
  364. package/lib/esm/src/api/device-session/DeviceSessionState.js.map +2 -2
  365. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js +1 -1
  366. package/lib/esm/src/api/device-session/use-case/DisableDeviceSessionRefresher.test.js.map +3 -3
  367. package/lib/esm/src/api/index.js +1 -1
  368. package/lib/esm/src/api/index.js.map +3 -3
  369. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js +1 -1
  370. package/lib/esm/src/api/logger-subscriber/service/WebLogsExporterLogger.test.js.map +3 -3
  371. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js +1 -1
  372. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.js.map +2 -2
  373. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js +1 -1
  374. package/lib/esm/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.js.map +3 -3
  375. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js +2 -0
  376. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.js.map +7 -0
  377. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js +2 -0
  378. package/lib/esm/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.js.map +7 -0
  379. package/lib/esm/src/api/secure-channel/device-action/InstallApp/types.js +1 -0
  380. package/lib/esm/src/api/secure-channel/device-action/InstallApp/types.js.map +7 -0
  381. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js +1 -1
  382. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.js.map +2 -2
  383. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js +1 -1
  384. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.js.map +3 -3
  385. package/lib/esm/src/api/secure-channel/device-action/ListInstalledApps/types.js.map +2 -2
  386. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js +2 -0
  387. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.js.map +7 -0
  388. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js +2 -0
  389. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.js.map +7 -0
  390. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/types.js +1 -0
  391. package/lib/esm/src/api/secure-channel/device-action/UninstallApp/types.js.map +7 -0
  392. package/lib/esm/src/api/secure-channel/utils.test.js +1 -1
  393. package/lib/esm/src/api/secure-channel/utils.test.js.map +2 -2
  394. package/lib/esm/src/api/transport/model/DeviceApduSender.js +1 -0
  395. package/lib/esm/src/api/transport/model/DeviceApduSender.js.map +7 -0
  396. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js +2 -0
  397. package/lib/esm/src/api/transport/model/DeviceConnectionStateMachine.js.map +7 -0
  398. package/lib/esm/src/api/transport/model/Errors.js +1 -1
  399. package/lib/esm/src/api/transport/model/Errors.js.map +3 -3
  400. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js +1 -1
  401. package/lib/esm/src/api/transport/model/TransportConnectedDevice.test.js.map +3 -3
  402. package/lib/esm/src/di.js +1 -1
  403. package/lib/esm/src/di.js.map +3 -3
  404. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js +1 -1
  405. package/lib/esm/src/internal/device-session/data/ApduResponseConst.js.map +3 -3
  406. package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js +1 -1
  407. package/lib/esm/src/internal/device-session/data/DeviceSessionRefresherConst.js.map +3 -3
  408. package/lib/esm/src/internal/device-session/model/DevicePinger.js +2 -0
  409. package/lib/esm/src/internal/device-session/model/DevicePinger.js.map +7 -0
  410. package/lib/esm/src/internal/device-session/model/DevicePinger.test.js +2 -0
  411. package/lib/esm/src/internal/device-session/model/DevicePinger.test.js.map +7 -0
  412. package/lib/esm/src/internal/device-session/model/DeviceSession.js +1 -1
  413. package/lib/esm/src/internal/device-session/model/DeviceSession.js.map +3 -3
  414. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js +1 -1
  415. package/lib/esm/src/internal/device-session/model/DeviceSession.stub.js.map +3 -3
  416. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js +2 -0
  417. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.js.map +7 -0
  418. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js +2 -0
  419. package/lib/esm/src/internal/device-session/model/DeviceSessionEventDispatcher.test.js.map +7 -0
  420. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js +1 -1
  421. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.js.map +3 -3
  422. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js +1 -1
  423. package/lib/esm/src/internal/device-session/model/DeviceSessionRefresher.test.js.map +3 -3
  424. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js +2 -0
  425. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.js.map +7 -0
  426. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js +2 -0
  427. package/lib/esm/src/internal/device-session/model/DeviceSessionStateHandler.test.js.map +7 -0
  428. package/lib/esm/src/internal/device-session/model/Frame.js +1 -1
  429. package/lib/esm/src/internal/device-session/model/Frame.js.map +3 -3
  430. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js +1 -1
  431. package/lib/esm/src/internal/device-session/service/DefaultApduSenderService.js.map +2 -2
  432. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js +1 -1
  433. package/lib/esm/src/internal/device-session/service/DefaultDeviceSessionService.test.js.map +3 -3
  434. package/lib/esm/src/internal/device-session/service/MutexService.js +2 -0
  435. package/lib/esm/src/internal/device-session/service/MutexService.js.map +7 -0
  436. package/lib/esm/src/internal/device-session/service/MutexService.test.js +2 -0
  437. package/lib/esm/src/internal/device-session/service/MutexService.test.js.map +7 -0
  438. package/lib/esm/src/internal/device-session/service/RefresherService.js +1 -1
  439. package/lib/esm/src/internal/device-session/service/RefresherService.js.map +3 -3
  440. package/lib/esm/src/internal/device-session/service/RefresherService.test.js +1 -1
  441. package/lib/esm/src/internal/device-session/service/RefresherService.test.js.map +3 -3
  442. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js +1 -1
  443. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.js.map +3 -3
  444. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js +1 -1
  445. package/lib/esm/src/internal/device-session/use-case/CloseSessionsUseCase.test.js.map +3 -3
  446. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js +1 -1
  447. package/lib/esm/src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.js.map +3 -3
  448. package/lib/esm/src/internal/device-session/utils/deviceSessionUtils.js +2 -0
  449. package/lib/esm/src/internal/device-session/utils/deviceSessionUtils.js.map +7 -0
  450. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js +1 -1
  451. package/lib/esm/src/internal/discovery/use-case/ConnectUseCase.js.map +3 -3
  452. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js +1 -1
  453. package/lib/esm/src/internal/discovery/use-case/DisconnectUseCase.test.js.map +3 -3
  454. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js +1 -1
  455. package/lib/esm/src/internal/discovery/use-case/GetConnectedDeviceUseCase.test.js.map +3 -3
  456. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js +1 -1
  457. package/lib/esm/src/internal/discovery/use-case/ListConnectedDevicesUseCase.test.js.map +3 -3
  458. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js +1 -1
  459. package/lib/esm/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.js.map +2 -2
  460. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js +1 -1
  461. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.js.map +3 -3
  462. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js +1 -1
  463. package/lib/esm/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.test.js.map +3 -3
  464. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js +1 -1
  465. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.js.map +2 -2
  466. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js +1 -1
  467. package/lib/esm/src/internal/discovery/use-case/StartDiscoveringUseCase.test.js.map +2 -2
  468. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js +1 -1
  469. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.js.map +3 -3
  470. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js +1 -1
  471. package/lib/esm/src/internal/discovery/use-case/StopDiscoveringUseCase.test.js.map +3 -3
  472. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js +1 -1
  473. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.js.map +3 -3
  474. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js +1 -1
  475. package/lib/esm/src/internal/manager-api/data/AxiosManagerApiDataSource.test.js.map +3 -3
  476. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js +1 -1
  477. package/lib/esm/src/internal/manager-api/data/ManagerApiDto.js.map +1 -1
  478. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js +1 -1
  479. package/lib/esm/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.js.map +2 -2
  480. package/lib/esm/src/internal/manager-api/di/managerApiModule.js +1 -1
  481. package/lib/esm/src/internal/manager-api/di/managerApiModule.js.map +3 -3
  482. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js +1 -1
  483. package/lib/esm/src/internal/manager-api/di/managerApiModule.test.js.map +2 -2
  484. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js +1 -1
  485. package/lib/esm/src/internal/manager-api/di/managerApiTypes.js.map +2 -2
  486. package/lib/esm/src/internal/manager-api/model/Application.js +1 -1
  487. package/lib/esm/src/internal/manager-api/model/Application.js.map +1 -1
  488. package/lib/esm/src/internal/manager-api/model/Const.js +1 -1
  489. package/lib/esm/src/internal/manager-api/model/Const.js.map +3 -3
  490. package/lib/esm/src/internal/manager-api/model/Language.js +1 -0
  491. package/lib/esm/src/internal/manager-api/model/Language.js.map +7 -0
  492. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js +1 -1
  493. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.js.map +3 -3
  494. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js +1 -1
  495. package/lib/esm/src/internal/manager-api/service/DefaultManagerApiService.test.js.map +3 -3
  496. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js +2 -0
  497. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.js.map +7 -0
  498. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js +2 -0
  499. package/lib/esm/src/internal/manager-api/use-case/SetProviderUseCase.test.js.map +7 -0
  500. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  501. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  502. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js +1 -1
  503. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.js.map +3 -3
  504. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js +1 -1
  505. package/lib/esm/src/internal/secure-channel/service/DefaultSecureChannelService.test.js.map +3 -3
  506. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js +1 -1
  507. package/lib/esm/src/internal/send/use-case/SendApduUseCase.js.map +3 -3
  508. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js +1 -1
  509. package/lib/esm/src/internal/send/use-case/SendApduUseCase.test.js.map +3 -3
  510. package/lib/esm/src/internal/transport/di/transportModule.test.js +1 -1
  511. package/lib/esm/src/internal/transport/di/transportModule.test.js.map +2 -2
  512. package/lib/esm/src/internal/transport/service/DefaultTransportService.js +1 -1
  513. package/lib/esm/src/internal/transport/service/DefaultTransportService.js.map +3 -3
  514. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js +1 -1
  515. package/lib/esm/src/internal/transport/service/__mocks__/DefaultTransportService.js.map +2 -2
  516. package/lib/types/src/api/DeviceManagementKit.d.ts +16 -2
  517. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  518. package/lib/types/src/api/DeviceManagementKitBuilder.d.ts.map +1 -1
  519. package/lib/types/src/api/DmkConfig.d.ts +2 -0
  520. package/lib/types/src/api/DmkConfig.d.ts.map +1 -1
  521. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts +16 -0
  522. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.d.ts.map +1 -0
  523. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts +2 -0
  524. package/lib/types/src/api/command/os/GetCustomImageSizeCommand.test.d.ts.map +1 -0
  525. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +30 -2
  526. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  527. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts +24 -0
  528. package/lib/types/src/api/command/os/ListLanguagePackCommand.d.ts.map +1 -0
  529. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts +2 -0
  530. package/lib/types/src/api/command/os/ListLanguagePackCommand.test.d.ts.map +1 -0
  531. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  532. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts +5 -1
  533. package/lib/types/src/api/command/use-case/SendCommandUseCase.d.ts.map +1 -1
  534. package/lib/types/src/api/command/utils/CommandUtils.d.ts +1 -0
  535. package/lib/types/src/api/command/utils/CommandUtils.d.ts.map +1 -1
  536. package/lib/types/src/api/device-action/DeviceAction.d.ts +3 -1
  537. package/lib/types/src/api/device-action/DeviceAction.d.ts.map +1 -1
  538. package/lib/types/src/api/device-action/__test-utils__/makeInternalApi.d.ts.map +1 -1
  539. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts +9 -0
  540. package/lib/types/src/api/device-action/__test-utils__/setupTestMachine.d.ts.map +1 -1
  541. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction.d.ts.map +1 -1
  542. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts +1 -0
  543. package/lib/types/src/api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceActionTypes.d.ts.map +1 -1
  544. package/lib/types/src/api/device-action/os/Errors.d.ts +10 -0
  545. package/lib/types/src/api/device-action/os/Errors.d.ts.map +1 -1
  546. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts +58 -0
  547. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.d.ts.map +1 -0
  548. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts +2 -0
  549. package/lib/types/src/api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction.test.d.ts.map +1 -0
  550. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts +27 -0
  551. package/lib/types/src/api/device-action/os/GetDeviceMetadata/types.d.ts.map +1 -0
  552. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  553. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts +3 -4
  554. package/lib/types/src/api/device-action/os/GoToDashboard/types.d.ts.map +1 -1
  555. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts +40 -0
  556. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.d.ts.map +1 -0
  557. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts +2 -0
  558. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction.test.d.ts.map +1 -0
  559. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts +64 -0
  560. package/lib/types/src/api/device-action/os/InstallOrUpdateApps/types.d.ts.map +1 -0
  561. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts +15 -0
  562. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.d.ts.map +1 -0
  563. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts +2 -0
  564. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction.test.d.ts.map +1 -0
  565. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts +25 -0
  566. package/lib/types/src/api/device-action/os/OpenAppWithDependencies/types.d.ts.map +1 -0
  567. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction.d.ts.map +1 -1
  568. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts +1 -0
  569. package/lib/types/src/api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceActionTypes.d.ts.map +1 -1
  570. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts +30 -0
  571. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.d.ts.map +1 -0
  572. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts +2 -0
  573. package/lib/types/src/api/device-action/task/BuildAppsInstallPlanTask.test.d.ts.map +1 -0
  574. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts +31 -0
  575. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.d.ts.map +1 -0
  576. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts +2 -0
  577. package/lib/types/src/api/device-action/task/GetApplicationsMetadataTask.test.d.ts.map +1 -0
  578. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts +18 -0
  579. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.d.ts.map +1 -0
  580. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts +2 -0
  581. package/lib/types/src/api/device-action/task/GetFirmwareMetadataTask.test.d.ts.map +1 -0
  582. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts +21 -0
  583. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -0
  584. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts +2 -0
  585. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.test.d.ts.map +1 -0
  586. package/lib/types/src/api/device-model/data/StaticDeviceModelDataSource.d.ts.map +1 -1
  587. package/lib/types/src/api/device-model/model/DeviceModel.d.ts +2 -0
  588. package/lib/types/src/api/device-model/model/DeviceModel.d.ts.map +1 -1
  589. package/lib/types/src/api/device-model/model/DeviceModel.stub.d.ts.map +1 -1
  590. package/lib/types/src/api/device-session/DeviceSessionState.d.ts +93 -0
  591. package/lib/types/src/api/device-session/DeviceSessionState.d.ts.map +1 -1
  592. package/lib/types/src/api/index.d.ts +8 -1
  593. package/lib/types/src/api/index.d.ts.map +1 -1
  594. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts +3 -3
  595. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.d.ts.map +1 -1
  596. package/lib/types/src/api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction.test.d.ts +1 -0
  597. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts +8 -0
  598. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.d.ts.map +1 -0
  599. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts +2 -0
  600. package/lib/types/src/api/secure-channel/device-action/InstallApp/InstallAppDeviceAction.test.d.ts.map +1 -0
  601. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts +44 -0
  602. package/lib/types/src/api/secure-channel/device-action/InstallApp/types.d.ts.map +1 -0
  603. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts +3 -3
  604. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.d.ts.map +1 -1
  605. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction.test.d.ts +1 -0
  606. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts +1 -3
  607. package/lib/types/src/api/secure-channel/device-action/ListInstalledApps/types.d.ts.map +1 -1
  608. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts +8 -0
  609. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.d.ts.map +1 -0
  610. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts +2 -0
  611. package/lib/types/src/api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction.test.d.ts.map +1 -0
  612. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts +41 -0
  613. package/lib/types/src/api/secure-channel/device-action/UninstallApp/types.d.ts.map +1 -0
  614. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts +17 -0
  615. package/lib/types/src/api/transport/model/DeviceApduSender.d.ts.map +1 -0
  616. package/lib/types/src/api/transport/model/DeviceConnection.d.ts +2 -1
  617. package/lib/types/src/api/transport/model/DeviceConnection.d.ts.map +1 -1
  618. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts +62 -0
  619. package/lib/types/src/api/transport/model/DeviceConnectionStateMachine.d.ts.map +1 -0
  620. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts +1 -1
  621. package/lib/types/src/api/transport/model/DiscoveredDevice.d.ts.map +1 -1
  622. package/lib/types/src/api/transport/model/Errors.d.ts +22 -3
  623. package/lib/types/src/api/transport/model/Errors.d.ts.map +1 -1
  624. package/lib/types/src/api/transport/model/Transport.d.ts +1 -1
  625. package/lib/types/src/api/transport/model/Transport.d.ts.map +1 -1
  626. package/lib/types/src/api/types.d.ts +8 -2
  627. package/lib/types/src/api/types.d.ts.map +1 -1
  628. package/lib/types/src/di.d.ts.map +1 -1
  629. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts +1 -0
  630. package/lib/types/src/internal/device-session/data/ApduResponseConst.d.ts.map +1 -1
  631. package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts +6 -1
  632. package/lib/types/src/internal/device-session/data/DeviceSessionRefresherConst.d.ts.map +1 -1
  633. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts +18 -0
  634. package/lib/types/src/internal/device-session/model/DevicePinger.d.ts.map +1 -0
  635. package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts +2 -0
  636. package/lib/types/src/internal/device-session/model/DevicePinger.test.d.ts.map +1 -0
  637. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts +21 -12
  638. package/lib/types/src/internal/device-session/model/DeviceSession.d.ts.map +1 -1
  639. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts +2 -2
  640. package/lib/types/src/internal/device-session/model/DeviceSession.stub.d.ts.map +1 -1
  641. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts +35 -0
  642. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.d.ts.map +1 -0
  643. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts +2 -0
  644. package/lib/types/src/internal/device-session/model/DeviceSessionEventDispatcher.test.d.ts.map +1 -0
  645. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts +17 -79
  646. package/lib/types/src/internal/device-session/model/DeviceSessionRefresher.d.ts.map +1 -1
  647. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts +20 -0
  648. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.d.ts.map +1 -0
  649. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts +2 -0
  650. package/lib/types/src/internal/device-session/model/DeviceSessionStateHandler.test.d.ts.map +1 -0
  651. package/lib/types/src/internal/device-session/model/Frame.d.ts.map +1 -1
  652. package/lib/types/src/internal/device-session/service/MutexService.d.ts +6 -0
  653. package/lib/types/src/internal/device-session/service/MutexService.d.ts.map +1 -0
  654. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts +2 -0
  655. package/lib/types/src/internal/device-session/service/MutexService.test.d.ts.map +1 -0
  656. package/lib/types/src/internal/device-session/service/RefresherService.d.ts +7 -2
  657. package/lib/types/src/internal/device-session/service/RefresherService.d.ts.map +1 -1
  658. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts +3 -1
  659. package/lib/types/src/internal/device-session/use-case/CloseSessionsUseCase.d.ts.map +1 -1
  660. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts +3 -0
  661. package/lib/types/src/internal/device-session/utils/deviceSessionUtils.d.ts.map +1 -0
  662. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts +8 -1
  663. package/lib/types/src/internal/discovery/use-case/ConnectUseCase.d.ts.map +1 -1
  664. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts +1 -1
  665. package/lib/types/src/internal/discovery/use-case/ListenToAvailableDevicesUseCase.d.ts.map +1 -1
  666. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts +1 -1
  667. package/lib/types/src/internal/discovery/use-case/ListenToConnectedDeviceUseCase.d.ts.map +1 -1
  668. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts +1 -1
  669. package/lib/types/src/internal/discovery/use-case/StartDiscoveringUseCase.d.ts.map +1 -1
  670. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts +4 -2
  671. package/lib/types/src/internal/discovery/use-case/StopDiscoveringUseCase.d.ts.map +1 -1
  672. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts +24 -5
  673. package/lib/types/src/internal/manager-api/data/AxiosManagerApiDataSource.d.ts.map +1 -1
  674. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts +51 -6
  675. package/lib/types/src/internal/manager-api/data/ManagerApiDataSource.d.ts.map +1 -1
  676. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts +104 -18
  677. package/lib/types/src/internal/manager-api/data/ManagerApiDto.d.ts.map +1 -1
  678. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts +7 -0
  679. package/lib/types/src/internal/manager-api/data/__mocks__/AxiosManagerApiDataSource.d.ts.map +1 -1
  680. package/lib/types/src/internal/manager-api/di/managerApiModule.d.ts.map +1 -1
  681. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts +1 -0
  682. package/lib/types/src/internal/manager-api/di/managerApiTypes.d.ts.map +1 -1
  683. package/lib/types/src/internal/manager-api/model/Application.d.ts +12 -12
  684. package/lib/types/src/internal/manager-api/model/Application.d.ts.map +1 -1
  685. package/lib/types/src/internal/manager-api/model/Const.d.ts +2 -0
  686. package/lib/types/src/internal/manager-api/model/Const.d.ts.map +1 -1
  687. package/lib/types/src/internal/manager-api/model/Firmware.d.ts +17 -3
  688. package/lib/types/src/internal/manager-api/model/Firmware.d.ts.map +1 -1
  689. package/lib/types/src/internal/manager-api/model/Language.d.ts +12 -0
  690. package/lib/types/src/internal/manager-api/model/Language.d.ts.map +1 -0
  691. package/lib/types/src/internal/manager-api/model/Params.d.ts +20 -6
  692. package/lib/types/src/internal/manager-api/model/Params.d.ts.map +1 -1
  693. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts +9 -3
  694. package/lib/types/src/internal/manager-api/service/DefaultManagerApiService.d.ts.map +1 -1
  695. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts +42 -7
  696. package/lib/types/src/internal/manager-api/service/ManagerApiService.d.ts.map +1 -1
  697. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts +13 -0
  698. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.d.ts.map +1 -0
  699. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts +2 -0
  700. package/lib/types/src/internal/manager-api/use-case/SetProviderUseCase.test.d.ts.map +1 -0
  701. package/lib/types/src/internal/secure-channel/model/Params.d.ts +3 -5
  702. package/lib/types/src/internal/secure-channel/model/Params.d.ts.map +1 -1
  703. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts +7 -7
  704. package/lib/types/src/internal/secure-channel/service/DefaultSecureChannelService.d.ts.map +1 -1
  705. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts +41 -7
  706. package/lib/types/src/internal/secure-channel/service/SecureChannelService.d.ts.map +1 -1
  707. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts +5 -1
  708. package/lib/types/src/internal/send/use-case/SendApduUseCase.d.ts.map +1 -1
  709. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts +2 -0
  710. package/lib/types/src/internal/transport/service/DefaultTransportService.d.ts.map +1 -1
  711. package/lib/types/src/internal/transport/service/TransportService.d.ts +3 -1
  712. package/lib/types/src/internal/transport/service/TransportService.d.ts.map +1 -1
  713. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts +1 -0
  714. package/lib/types/src/internal/transport/service/__mocks__/DefaultTransportService.d.ts.map +1 -1
  715. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  716. package/package.json +15 -15
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/model/Frame.ts"],
4
- "sourcesContent": ["import { type FrameHeader } from \"@internal/device-session/model/FrameHeader\";\n\ntype FrameConstructorArgs = {\n header: FrameHeader;\n data: Uint8Array;\n};\n\nexport class Frame {\n protected _header: FrameHeader;\n protected _data: Uint8Array;\n\n constructor({ header, data }: FrameConstructorArgs) {\n this._header = header;\n this._data = data;\n }\n\n toString(): string {\n return JSON.stringify(\n {\n header: this._header.toString(),\n data: this._data.toString(),\n },\n null,\n 2,\n );\n }\n\n getRawData(): Uint8Array {\n const headerRaw = this._header.getRawData();\n const raw = new Uint8Array(headerRaw.length + this._data.length);\n\n raw.set(headerRaw, 0);\n raw.set(this._data, headerRaw.length);\n return raw;\n }\n\n getHeader(): FrameHeader {\n return this._header;\n }\n\n getData(): Uint8Array {\n return this._data;\n }\n}\n"],
5
- "mappings": "AAOO,MAAMA,CAAM,CACP,QACA,MAEV,YAAY,CAAE,OAAAC,EAAQ,KAAAC,CAAK,EAAyB,CAClD,KAAK,QAAUD,EACf,KAAK,MAAQC,CACf,CAEA,UAAmB,CACjB,OAAO,KAAK,UACV,CACE,OAAQ,KAAK,QAAQ,SAAS,EAC9B,KAAM,KAAK,MAAM,SAAS,CAC5B,EACA,KACA,CACF,CACF,CAEA,YAAyB,CACvB,MAAMC,EAAY,KAAK,QAAQ,WAAW,EACpCC,EAAM,IAAI,WAAWD,EAAU,OAAS,KAAK,MAAM,MAAM,EAE/D,OAAAC,EAAI,IAAID,EAAW,CAAC,EACpBC,EAAI,IAAI,KAAK,MAAOD,EAAU,MAAM,EAC7BC,CACT,CAEA,WAAyB,CACvB,OAAO,KAAK,OACd,CAEA,SAAsB,CACpB,OAAO,KAAK,KACd,CACF",
6
- "names": ["Frame", "header", "data", "headerRaw", "raw"]
4
+ "sourcesContent": ["import { bufferToHexaString } from \"@api/index\";\nimport { type FrameHeader } from \"@internal/device-session/model/FrameHeader\";\n\ntype FrameConstructorArgs = {\n header: FrameHeader;\n data: Uint8Array;\n};\n\nexport class Frame {\n protected _header: FrameHeader;\n protected _data: Uint8Array;\n\n constructor({ header, data }: FrameConstructorArgs) {\n this._header = header;\n this._data = data;\n }\n\n toString(): string {\n return JSON.stringify(\n {\n header: this._header.toString(),\n data: bufferToHexaString(this._data),\n },\n null,\n 2,\n );\n }\n\n getRawData(): Uint8Array {\n const headerRaw = this._header.getRawData();\n const raw = new Uint8Array(headerRaw.length + this._data.length);\n\n raw.set(headerRaw, 0);\n raw.set(this._data, headerRaw.length);\n return raw;\n }\n\n getHeader(): FrameHeader {\n return this._header;\n }\n\n getData(): Uint8Array {\n return this._data;\n }\n}\n"],
5
+ "mappings": "AAAA,OAAS,sBAAAA,MAA0B,aAQ5B,MAAMC,CAAM,CACP,QACA,MAEV,YAAY,CAAE,OAAAC,EAAQ,KAAAC,CAAK,EAAyB,CAClD,KAAK,QAAUD,EACf,KAAK,MAAQC,CACf,CAEA,UAAmB,CACjB,OAAO,KAAK,UACV,CACE,OAAQ,KAAK,QAAQ,SAAS,EAC9B,KAAMH,EAAmB,KAAK,KAAK,CACrC,EACA,KACA,CACF,CACF,CAEA,YAAyB,CACvB,MAAMI,EAAY,KAAK,QAAQ,WAAW,EACpCC,EAAM,IAAI,WAAWD,EAAU,OAAS,KAAK,MAAM,MAAM,EAE/D,OAAAC,EAAI,IAAID,EAAW,CAAC,EACpBC,EAAI,IAAI,KAAK,MAAOD,EAAU,MAAM,EAC7BC,CACT,CAEA,WAAyB,CACvB,OAAO,KAAK,OACd,CAEA,SAAsB,CACpB,OAAO,KAAK,KACd,CACF",
6
+ "names": ["bufferToHexaString", "Frame", "header", "data", "headerRaw", "raw"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var _=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var c=(n,r,t,e)=>{for(var i=e>1?void 0:e?A(r,t):r,a=n.length-1,m;a>=0;a--)(m=n[a])&&(i=(e?m(r,t,i):m(i))||i);return e&&i&&_(r,t,i),i},d=(n,r)=>(t,e)=>r(t,e,n);import{inject as b,injectable as H}from"inversify";import{Left as l,Maybe as s,Right as z}from"purify-ts";import{v4 as y}from"uuid";import{APDU_DATA_LENGTH_LENGTH as p,CHANNEL_LENGTH as u,HEAD_TAG as E,HEAD_TAG_LENGTH as L,INDEX_LENGTH as f}from"../../../api/device-session/data/FramerConst";import{FramerUtils as g}from"../../../api/device-session/utils/FramerUtils";import{FramerApduError as v,FramerOverflowError as F}from"../../device-session/model/Errors";import{Frame as T}from"../../device-session/model/Frame";import{FrameHeader as w}from"../../device-session/model/FrameHeader";import{loggerTypes as N}from"../../logger-publisher/di/loggerTypes";let o=class{_frameSize;_channel;_padding;_logger;constructor({frameSize:r,channel:t=s.zero(),padding:e=!1},i){this._frameSize=r,this._channel=t,this._padding=e,this._logger=i("framer")}getFrames(r){const t=[];let e=0,i=this.getFrameAtIndex(r,e);for(;i.isRight();)t.push(i.extract()),e+=1,i=this.getFrameAtIndex(r,e).mapLeft(a=>(a instanceof F?this._logger.debug("Frames parsed",{data:{count:e}}):this._logger.error("Error while parsing frame",{data:{error:a}}),a));return t}getFrameAtIndex(r,t){const e=this.getFrameHeaderFrom(t,r.length),i=t*this._frameSize-this.getHeaderSizeSumFrom(t);if(i>r.length)return l(new F);if(e.getLength()>this._frameSize)return l(new v);const a=this._frameSize-e.getLength(),m=r.slice(t===0?0:i,t===0?a:i+this._frameSize-e.getLength()),h=this._padding?new Uint8Array(a).fill(0):new Uint8Array(m.length<a?m.length:a);h.set(m,0);const S=new T({header:e,data:h});return z(S)}getFrameHeaderFrom(r,t){const e=new w({uuid:y(),channel:this._channel.map(i=>g.getLastBytesFrom(i,u)),headTag:new Uint8Array([E]),index:g.numberToByteArray(r,f),length:this.getFrameHeaderSizeFromIndex(r),dataSize:s.zero()});return r===0&&e.setDataSize(s.of(g.numberToByteArray(t,p))),e}getHeaderSizeSumFrom(r){let t=this.getFrameHeaderSizeFromIndex(0),e=1;for(;e<r;)t+=this.getFrameHeaderSizeFromIndex(e),e+=1;return t}getFrameHeaderSizeFromIndex(r){return this._channel.caseOf({Just:()=>u,Nothing:()=>0})+f+L+(r===0?p:0)}};o=c([H(),d(1,b(N.LoggerPublisherServiceFactory))],o);export{o as DefaultApduSenderService};
1
+ var A=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var c=(m,r,t,e)=>{for(var i=e>1?void 0:e?_(r,t):r,a=m.length-1,n;a>=0;a--)(n=m[a])&&(i=(e?n(r,t,i):n(i))||i);return e&&i&&A(r,t,i),i},d=(m,r)=>(t,e)=>r(t,e,m);import{inject as b,injectable as H}from"inversify";import{Left as l,Maybe as s,Right as z}from"purify-ts";import{v4 as v}from"uuid";import{APDU_DATA_LENGTH_LENGTH as p,CHANNEL_LENGTH as u,HEAD_TAG as y,HEAD_TAG_LENGTH as E,INDEX_LENGTH as f}from"../../../api/device-session/data/FramerConst";import{FramerUtils as g}from"../../../api/device-session/utils/FramerUtils";import{FramerApduError as L,FramerOverflowError as F}from"../../device-session/model/Errors";import{Frame as T}from"../../device-session/model/Frame";import{FrameHeader as w}from"../../device-session/model/FrameHeader";import{loggerTypes as N}from"../../logger-publisher/di/loggerTypes";let o=class{_frameSize;_channel;_padding;_logger;constructor({frameSize:r,channel:t=s.zero(),padding:e=!1},i){this._frameSize=r,this._channel=t,this._padding=e,this._logger=i("DefaultApduSenderService")}getFrames(r){const t=[];let e=0,i=this.getFrameAtIndex(r,e);for(;i.isRight();)t.push(i.extract()),e+=1,i=this.getFrameAtIndex(r,e).mapLeft(a=>(a instanceof F?this._logger.debug("Frames parsed",{data:{count:e}}):this._logger.error("Error while parsing frame",{data:{error:a}}),a));return t}getFrameAtIndex(r,t){const e=this.getFrameHeaderFrom(t,r.length),i=t*this._frameSize-this.getHeaderSizeSumFrom(t);if(i>r.length)return l(new F);if(e.getLength()>this._frameSize)return l(new L);const a=this._frameSize-e.getLength(),n=r.slice(t===0?0:i,t===0?a:i+this._frameSize-e.getLength()),h=this._padding?new Uint8Array(a).fill(0):new Uint8Array(n.length<a?n.length:a);h.set(n,0);const S=new T({header:e,data:h});return z(S)}getFrameHeaderFrom(r,t){const e=new w({uuid:v(),channel:this._channel.map(i=>g.getLastBytesFrom(i,u)),headTag:new Uint8Array([y]),index:g.numberToByteArray(r,f),length:this.getFrameHeaderSizeFromIndex(r),dataSize:s.zero()});return r===0&&e.setDataSize(s.of(g.numberToByteArray(t,p))),e}getHeaderSizeSumFrom(r){let t=this.getFrameHeaderSizeFromIndex(0),e=1;for(;e<r;)t+=this.getFrameHeaderSizeFromIndex(e),e+=1;return t}getFrameHeaderSizeFromIndex(r){return this._channel.caseOf({Just:()=>u,Nothing:()=>0})+f+E+(r===0?p:0)}};o=c([H(),d(1,b(N.LoggerPublisherServiceFactory))],o);export{o as DefaultApduSenderService};
2
2
  //# sourceMappingURL=DefaultApduSenderService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/service/DefaultApduSenderService.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\nimport { v4 } from \"uuid\";\n\nimport {\n APDU_DATA_LENGTH_LENGTH,\n CHANNEL_LENGTH,\n HEAD_TAG,\n HEAD_TAG_LENGTH,\n INDEX_LENGTH,\n} from \"@api/device-session/data/FramerConst\";\nimport type {\n ApduSenderService,\n ApduSenderServiceConstructorArgs,\n} from \"@api/device-session/service/ApduSenderService\";\nimport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n FramerApduError,\n FramerOverflowError,\n} from \"@internal/device-session/model/Errors\";\nimport { Frame } from \"@internal/device-session/model/Frame\";\nimport { FrameHeader } from \"@internal/device-session/model/FrameHeader\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { DmkError } from \"@root/src/api/Error\";\n/**\n * Default implementation of ApduSenderService\n *\n * Split APDU in an array of frames readies to send to a TransportConnectedDevice\n */\n@injectable()\nexport class DefaultApduSenderService implements ApduSenderService {\n protected _frameSize: number;\n protected _channel: Maybe<Uint8Array>;\n protected _padding: boolean;\n private _logger: LoggerPublisherService;\n\n /**\n * Constructor\n *\n * @param frameSize\n * @param channel\n * @param padding\n * @param loggerServiceFactory\n */\n constructor(\n {\n frameSize,\n channel = Maybe.zero(),\n padding = false,\n }: ApduSenderServiceConstructorArgs,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._frameSize = frameSize;\n this._channel = channel;\n this._padding = padding;\n this._logger = loggerServiceFactory(\"framer\");\n }\n\n /**\n * Get frames from apdu\n *\n * @param apdu\n */\n public getFrames(apdu: Uint8Array): Frame[] {\n const frames: Frame[] = [];\n let count = 0;\n let frame = this.getFrameAtIndex(apdu, count);\n\n while (frame.isRight()) {\n frames.push(frame.extract());\n count += 1;\n frame = this.getFrameAtIndex(apdu, count).mapLeft((error) => {\n if (error instanceof FramerOverflowError) {\n this._logger.debug(\"Frames parsed\", { data: { count } });\n } else {\n this._logger.error(\"Error while parsing frame\", { data: { error } });\n }\n return error;\n });\n }\n return frames;\n }\n\n /**\n * Get apdu frame at index\n * Split every {{PACKET_SIZE - HEADER_SIZE}} bytes of apdu\n * @param apdu\n * @param frameIndex\n * @private\n */\n private getFrameAtIndex(\n apdu: Uint8Array,\n frameIndex: number,\n ): Either<DmkError, Frame> {\n const header = this.getFrameHeaderFrom(frameIndex, apdu.length);\n const frameOffset =\n frameIndex * this._frameSize - this.getHeaderSizeSumFrom(frameIndex);\n\n if (frameOffset > apdu.length) {\n return Left(new FramerOverflowError());\n }\n if (header.getLength() > this._frameSize) {\n return Left(new FramerApduError());\n }\n const dataMaxSize = this._frameSize - header.getLength();\n const data = apdu.slice(\n frameIndex === 0 ? 0 : frameOffset,\n frameIndex === 0\n ? dataMaxSize\n : frameOffset + this._frameSize - header.getLength(),\n );\n const frameData = this._padding\n ? new Uint8Array(dataMaxSize).fill(0)\n : new Uint8Array(data.length < dataMaxSize ? data.length : dataMaxSize);\n frameData.set(data, 0);\n const frame = new Frame({\n header,\n data: frameData,\n });\n return Right(frame);\n }\n\n /**\n * Get frame header\n * @param frameIndex\n * @param apduSize\n * @private\n */\n private getFrameHeaderFrom(\n frameIndex: number,\n apduSize: number,\n ): FrameHeader {\n const header = new FrameHeader({\n uuid: v4(),\n channel: this._channel.map((channel) =>\n FramerUtils.getLastBytesFrom(channel, CHANNEL_LENGTH),\n ),\n headTag: new Uint8Array([HEAD_TAG]),\n index: FramerUtils.numberToByteArray(frameIndex, INDEX_LENGTH),\n length: this.getFrameHeaderSizeFromIndex(frameIndex),\n dataSize: Maybe.zero(),\n });\n if (frameIndex === 0) {\n header.setDataSize(\n Maybe.of(\n FramerUtils.numberToByteArray(apduSize, APDU_DATA_LENGTH_LENGTH),\n ),\n );\n }\n return header;\n }\n\n /**\n * Get frame offset\n * First frame has more bytes of header\n * Padding append means a 0 bytes is added at the end of each frame\n * @private\n * @param frameIndex\n */\n private getHeaderSizeSumFrom(frameIndex: number): number {\n let sum = this.getFrameHeaderSizeFromIndex(0);\n let i = 1;\n while (i < frameIndex) {\n sum += this.getFrameHeaderSizeFromIndex(i);\n i += 1;\n }\n return sum;\n }\n\n /**\n * Get frame header size\n * @private\n * @param frameIndex\n */\n private getFrameHeaderSizeFromIndex(frameIndex: number): number {\n return (\n this._channel.caseOf({\n Just: () => CHANNEL_LENGTH,\n Nothing: () => 0,\n }) +\n INDEX_LENGTH +\n HEAD_TAG_LENGTH +\n (frameIndex === 0 ? APDU_DATA_LENGTH_LENGTH : 0)\n );\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { Either, Left, Maybe, Right } from \"purify-ts\";\nimport { v4 } from \"uuid\";\n\nimport {\n APDU_DATA_LENGTH_LENGTH,\n CHANNEL_LENGTH,\n HEAD_TAG,\n HEAD_TAG_LENGTH,\n INDEX_LENGTH,\n} from \"@api/device-session/data/FramerConst\";\nimport type {\n ApduSenderService,\n ApduSenderServiceConstructorArgs,\n} from \"@api/device-session/service/ApduSenderService\";\nimport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport {\n FramerApduError,\n FramerOverflowError,\n} from \"@internal/device-session/model/Errors\";\nimport { Frame } from \"@internal/device-session/model/Frame\";\nimport { FrameHeader } from \"@internal/device-session/model/FrameHeader\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { DmkError } from \"@root/src/api/Error\";\n/**\n * Default implementation of ApduSenderService\n *\n * Split APDU in an array of frames readies to send to a TransportConnectedDevice\n */\n@injectable()\nexport class DefaultApduSenderService implements ApduSenderService {\n protected _frameSize: number;\n protected _channel: Maybe<Uint8Array>;\n protected _padding: boolean;\n private _logger: LoggerPublisherService;\n\n /**\n * Constructor\n *\n * @param frameSize\n * @param channel\n * @param padding\n * @param loggerServiceFactory\n */\n constructor(\n {\n frameSize,\n channel = Maybe.zero(),\n padding = false,\n }: ApduSenderServiceConstructorArgs,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerServiceFactory: (tag: string) => LoggerPublisherService,\n ) {\n this._frameSize = frameSize;\n this._channel = channel;\n this._padding = padding;\n this._logger = loggerServiceFactory(\"DefaultApduSenderService\");\n }\n\n /**\n * Get frames from apdu\n *\n * @param apdu\n */\n public getFrames(apdu: Uint8Array): Frame[] {\n const frames: Frame[] = [];\n let count = 0;\n let frame = this.getFrameAtIndex(apdu, count);\n\n while (frame.isRight()) {\n frames.push(frame.extract());\n count += 1;\n frame = this.getFrameAtIndex(apdu, count).mapLeft((error) => {\n if (error instanceof FramerOverflowError) {\n this._logger.debug(\"Frames parsed\", { data: { count } });\n } else {\n this._logger.error(\"Error while parsing frame\", { data: { error } });\n }\n return error;\n });\n }\n return frames;\n }\n\n /**\n * Get apdu frame at index\n * Split every {{PACKET_SIZE - HEADER_SIZE}} bytes of apdu\n * @param apdu\n * @param frameIndex\n * @private\n */\n private getFrameAtIndex(\n apdu: Uint8Array,\n frameIndex: number,\n ): Either<DmkError, Frame> {\n const header = this.getFrameHeaderFrom(frameIndex, apdu.length);\n const frameOffset =\n frameIndex * this._frameSize - this.getHeaderSizeSumFrom(frameIndex);\n\n if (frameOffset > apdu.length) {\n return Left(new FramerOverflowError());\n }\n if (header.getLength() > this._frameSize) {\n return Left(new FramerApduError());\n }\n const dataMaxSize = this._frameSize - header.getLength();\n const data = apdu.slice(\n frameIndex === 0 ? 0 : frameOffset,\n frameIndex === 0\n ? dataMaxSize\n : frameOffset + this._frameSize - header.getLength(),\n );\n const frameData = this._padding\n ? new Uint8Array(dataMaxSize).fill(0)\n : new Uint8Array(data.length < dataMaxSize ? data.length : dataMaxSize);\n frameData.set(data, 0);\n const frame = new Frame({\n header,\n data: frameData,\n });\n return Right(frame);\n }\n\n /**\n * Get frame header\n * @param frameIndex\n * @param apduSize\n * @private\n */\n private getFrameHeaderFrom(\n frameIndex: number,\n apduSize: number,\n ): FrameHeader {\n const header = new FrameHeader({\n uuid: v4(),\n channel: this._channel.map((channel) =>\n FramerUtils.getLastBytesFrom(channel, CHANNEL_LENGTH),\n ),\n headTag: new Uint8Array([HEAD_TAG]),\n index: FramerUtils.numberToByteArray(frameIndex, INDEX_LENGTH),\n length: this.getFrameHeaderSizeFromIndex(frameIndex),\n dataSize: Maybe.zero(),\n });\n if (frameIndex === 0) {\n header.setDataSize(\n Maybe.of(\n FramerUtils.numberToByteArray(apduSize, APDU_DATA_LENGTH_LENGTH),\n ),\n );\n }\n return header;\n }\n\n /**\n * Get frame offset\n * First frame has more bytes of header\n * Padding append means a 0 bytes is added at the end of each frame\n * @private\n * @param frameIndex\n */\n private getHeaderSizeSumFrom(frameIndex: number): number {\n let sum = this.getFrameHeaderSizeFromIndex(0);\n let i = 1;\n while (i < frameIndex) {\n sum += this.getFrameHeaderSizeFromIndex(i);\n i += 1;\n }\n return sum;\n }\n\n /**\n * Get frame header size\n * @private\n * @param frameIndex\n */\n private getFrameHeaderSizeFromIndex(frameIndex: number): number {\n return (\n this._channel.caseOf({\n Just: () => CHANNEL_LENGTH,\n Nothing: () => 0,\n }) +\n INDEX_LENGTH +\n HEAD_TAG_LENGTH +\n (frameIndex === 0 ? APDU_DATA_LENGTH_LENGTH : 0)\n );\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["inject", "injectable", "Left", "Maybe", "Right", "v4", "APDU_DATA_LENGTH_LENGTH", "CHANNEL_LENGTH", "HEAD_TAG", "HEAD_TAG_LENGTH", "INDEX_LENGTH", "FramerUtils", "FramerApduError", "FramerOverflowError", "Frame", "FrameHeader", "loggerTypes", "DefaultApduSenderService", "frameSize", "channel", "Maybe", "padding", "loggerServiceFactory", "apdu", "frames", "count", "frame", "error", "FramerOverflowError", "frameIndex", "header", "frameOffset", "Left", "FramerApduError", "dataMaxSize", "data", "frameData", "Frame", "Right", "apduSize", "FrameHeader", "v4", "FramerUtils", "CHANNEL_LENGTH", "HEAD_TAG", "INDEX_LENGTH", "APDU_DATA_LENGTH_LENGTH", "sum", "i", "HEAD_TAG_LENGTH", "__decorateClass", "injectable", "__decorateParam", "inject", "loggerTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Either as d,Left as p}from"purify-ts";import{Observable as m}from"rxjs";import{deviceSessionStubBuilder as S}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as D}from"../../device-session/model/Errors";import{DefaultLoggerPublisherService as f}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as g}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as h}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as b}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as x}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultDeviceSessionService as A}from"./DefaultDeviceSessionService";vi.mock("@internal/logger-publisher/service/DefaultLoggerPublisherService");vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,t,i,l,a,v,c;describe("DefaultDeviceSessionService",()=>{beforeEach(()=>{vi.restoreAllMocks(),t=new f([],"deviceSession"),e=new A(()=>t),l=new g({}),a=new h(l),v=new b({}),c=new x(v),i=S({},()=>t,a,c)}),afterEach(()=>{i.close()}),it("should have an empty sessions list",()=>{expect(e.getDeviceSessions()).toEqual([])}),it("should add a deviceSession",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should not add a deviceSession if it already exists",()=>{e.addDeviceSession(i),e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should remove a deviceSession",()=>{e.addDeviceSession(i),e.removeDeviceSession(i.id),expect(e.getDeviceSessions()).toEqual([])}),it("should not remove a deviceSession if it does not exist",()=>{e.removeDeviceSession(i.id),expect(e.getDeviceSessions()).toEqual([])}),it("should get a deviceSession",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionById(i.id)).toEqual(d.of(i))}),it("should not get a deviceSession if it does not exist",()=>{expect(e.getDeviceSessionById(i.id)).toEqual(p(new D))}),it("should get all sessions",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should retrieve sessionObs",()=>{expect(e.sessionsObs).toBeInstanceOf(m)}),it("should emit new session",()=>new Promise((s,o)=>{const r=e.sessionsObs.subscribe({next(n){try{expect(n).toStrictEqual(i),r.unsubscribe(),s()}catch(u){o(u)}}});e.addDeviceSession(i)})),it("should emit previous added session",()=>{const s=S({id:"last-session"},()=>t,a,c),o=[];e.addDeviceSession(i),e.addDeviceSession(s);const r=e.sessionsObs.subscribe({next(n){o.push(n)}});s.close(),expect(o).toEqual([i,s]),r.unsubscribe()})});
1
+ import{Either as m,Left as p}from"purify-ts";import{Observable as D}from"rxjs";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as S}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as l}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as f}from"../../device-session/model/Errors";import{DefaultLoggerPublisherService as g}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as h}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as b}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as E}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as x}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultDeviceSessionService as A}from"./DefaultDeviceSessionService";vi.mock("@internal/logger-publisher/service/DefaultLoggerPublisherService");vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let e,t,i,v,a,u,c;describe("DefaultDeviceSessionService",()=>{beforeEach(()=>{vi.restoreAllMocks(),t=new g([],"deviceSession"),e=new A(()=>t),v=new h({}),a=new b(v),u=new E({}),c=new x(u),i=l({},()=>t,a,c,S)}),afterEach(()=>{i.close()}),it("should have an empty sessions list",()=>{expect(e.getDeviceSessions()).toEqual([])}),it("should add a deviceSession",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should not add a deviceSession if it already exists",()=>{e.addDeviceSession(i),e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should remove a deviceSession",()=>{e.addDeviceSession(i),e.removeDeviceSession(i.id),expect(e.getDeviceSessions()).toEqual([])}),it("should not remove a deviceSession if it does not exist",()=>{e.removeDeviceSession(i.id),expect(e.getDeviceSessions()).toEqual([])}),it("should get a deviceSession",()=>{e.addDeviceSession(i),expect(e.getDeviceSessionById(i.id)).toEqual(m.of(i))}),it("should not get a deviceSession if it does not exist",()=>{expect(e.getDeviceSessionById(i.id)).toEqual(p(new f))}),it("should get all sessions",()=>{e.addDeviceSession(i),expect(e.getDeviceSessions()).toEqual([i])}),it("should retrieve sessionObs",()=>{expect(e.sessionsObs).toBeInstanceOf(D)}),it("should emit new session",()=>new Promise((s,o)=>{const r=e.sessionsObs.subscribe({next(n){try{expect(n).toStrictEqual(i),r.unsubscribe(),s()}catch(d){o(d)}}});e.addDeviceSession(i)})),it("should emit previous added session",()=>{const s=l({id:"last-session"},()=>t,a,c,S),o=[];e.addDeviceSession(i),e.addDeviceSession(s);const r=e.sessionsObs.subscribe({next(n){o.push(n)}});s.close(),expect(o).toEqual([i,s]),r.unsubscribe()})});
2
2
  //# sourceMappingURL=DefaultDeviceSessionService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/service/DefaultDeviceSessionService.test.ts"],
4
- "sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DefaultDeviceSessionService } from \"./DefaultDeviceSessionService\";\n\nvi.mock(\"@internal/logger-publisher/service/DefaultLoggerPublisherService\");\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet sessionService: DefaultDeviceSessionService;\nlet loggerService: DefaultLoggerPublisherService;\nlet deviceSession: DeviceSession;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"DefaultDeviceSessionService\", () => {\n beforeEach(() => {\n vi.restoreAllMocks();\n loggerService = new DefaultLoggerPublisherService([], \"deviceSession\");\n sessionService = new DefaultDeviceSessionService(() => loggerService);\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n\n deviceSession = deviceSessionStubBuilder(\n {},\n () => loggerService,\n managerApi,\n secureChannel,\n );\n });\n\n afterEach(() => {\n deviceSession.close();\n });\n\n it(\"should have an empty sessions list\", () => {\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should add a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should not add a deviceSession if it already exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should remove a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should not remove a deviceSession if it does not exist\", () => {\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should get a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Either.of(deviceSession),\n );\n });\n\n it(\"should not get a deviceSession if it does not exist\", () => {\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Left(new DeviceSessionNotFound()),\n );\n });\n\n it(\"should get all sessions\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should retrieve sessionObs\", () => {\n expect(sessionService.sessionsObs).toBeInstanceOf(\n Observable<DeviceSession>,\n );\n });\n\n it(\"should emit new session\", () =>\n new Promise<void>((resolve, reject) => {\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n try {\n expect(emittedDeviceSession).toStrictEqual(deviceSession);\n subscription.unsubscribe();\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n });\n sessionService.addDeviceSession(deviceSession);\n }));\n\n it(\"should emit previous added session\", () => {\n const lastDeviceSession = deviceSessionStubBuilder(\n { id: \"last-session\" },\n () => loggerService,\n managerApi,\n secureChannel,\n );\n const emittedSessions: DeviceSession[] = [];\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(lastDeviceSession);\n\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n emittedSessions.push(emittedDeviceSession);\n },\n });\n lastDeviceSession.close();\n expect(emittedSessions).toEqual([deviceSession, lastDeviceSession]);\n subscription.unsubscribe();\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["Either", "Left", "Observable", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultDeviceSessionService", "sessionService", "loggerService", "deviceSession", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "resolve", "reject", "subscription", "emittedDeviceSession", "error", "lastDeviceSession", "emittedSessions"]
4
+ "sourcesContent": ["import { Either, Left } from \"purify-ts\";\nimport { Observable } from \"rxjs\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { type DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { DefaultDeviceSessionService } from \"./DefaultDeviceSessionService\";\n\nvi.mock(\"@internal/logger-publisher/service/DefaultLoggerPublisherService\");\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet sessionService: DefaultDeviceSessionService;\nlet loggerService: DefaultLoggerPublisherService;\nlet deviceSession: DeviceSession;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\ndescribe(\"DefaultDeviceSessionService\", () => {\n beforeEach(() => {\n vi.restoreAllMocks();\n loggerService = new DefaultLoggerPublisherService([], \"deviceSession\");\n sessionService = new DefaultDeviceSessionService(() => loggerService);\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n\n deviceSession = deviceSessionStubBuilder(\n {},\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n });\n\n afterEach(() => {\n deviceSession.close();\n });\n\n it(\"should have an empty sessions list\", () => {\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should add a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should not add a deviceSession if it already exists\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should remove a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should not remove a deviceSession if it does not exist\", () => {\n sessionService.removeDeviceSession(deviceSession.id);\n expect(sessionService.getDeviceSessions()).toEqual([]);\n });\n\n it(\"should get a deviceSession\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Either.of(deviceSession),\n );\n });\n\n it(\"should not get a deviceSession if it does not exist\", () => {\n expect(sessionService.getDeviceSessionById(deviceSession.id)).toEqual(\n Left(new DeviceSessionNotFound()),\n );\n });\n\n it(\"should get all sessions\", () => {\n sessionService.addDeviceSession(deviceSession);\n expect(sessionService.getDeviceSessions()).toEqual([deviceSession]);\n });\n\n it(\"should retrieve sessionObs\", () => {\n expect(sessionService.sessionsObs).toBeInstanceOf(\n Observable<DeviceSession>,\n );\n });\n\n it(\"should emit new session\", () =>\n new Promise<void>((resolve, reject) => {\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n try {\n expect(emittedDeviceSession).toStrictEqual(deviceSession);\n subscription.unsubscribe();\n resolve();\n } catch (error) {\n reject(error);\n }\n },\n });\n sessionService.addDeviceSession(deviceSession);\n }));\n\n it(\"should emit previous added session\", () => {\n const lastDeviceSession = deviceSessionStubBuilder(\n { id: \"last-session\" },\n () => loggerService,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n const emittedSessions: DeviceSession[] = [];\n sessionService.addDeviceSession(deviceSession);\n sessionService.addDeviceSession(lastDeviceSession);\n\n const subscription = sessionService.sessionsObs.subscribe({\n next(emittedDeviceSession) {\n emittedSessions.push(emittedDeviceSession);\n },\n });\n lastDeviceSession.close();\n expect(emittedSessions).toEqual([deviceSession, lastDeviceSession]);\n subscription.unsubscribe();\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Either", "Left", "Observable", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultDeviceSessionService", "sessionService", "loggerService", "deviceSession", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "resolve", "reject", "subscription", "emittedDeviceSession", "error", "lastDeviceSession", "emittedSessions"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ class u{_queue=[];_locked=!1;async lock(){return new Promise(e=>{const s=()=>{if(this._locked=!1,this._queue.length>0){const t=this._queue.shift();this._locked=!0,t()}};this._locked?this._queue.push(()=>e(s)):(this._locked=!0,e(s))})}}export{u as MutexService};
2
+ //# sourceMappingURL=MutexService.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/device-session/service/MutexService.ts"],
4
+ "sourcesContent": ["export class MutexService {\n private _queue: Array<() => void> = [];\n private _locked = false;\n\n async lock(): Promise<() => void> {\n return new Promise((resolve) => {\n const release = () => {\n this._locked = false;\n if (this._queue.length > 0) {\n const next = this._queue.shift();\n this._locked = true;\n next!();\n }\n };\n\n if (!this._locked) {\n this._locked = true;\n resolve(release);\n } else {\n this._queue.push(() => resolve(release));\n }\n });\n }\n}\n"],
5
+ "mappings": "AAAO,MAAMA,CAAa,CAChB,OAA4B,CAAC,EAC7B,QAAU,GAElB,MAAM,MAA4B,CAChC,OAAO,IAAI,QAASC,GAAY,CAC9B,MAAMC,EAAU,IAAM,CAEpB,GADA,KAAK,QAAU,GACX,KAAK,OAAO,OAAS,EAAG,CAC1B,MAAMC,EAAO,KAAK,OAAO,MAAM,EAC/B,KAAK,QAAU,GACfA,EAAM,CACR,CACF,EAEK,KAAK,QAIR,KAAK,OAAO,KAAK,IAAMF,EAAQC,CAAO,CAAC,GAHvC,KAAK,QAAU,GACfD,EAAQC,CAAO,EAInB,CAAC,CACH,CACF",
6
+ "names": ["MutexService", "resolve", "release", "next"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{describe as i,expect as s,it as r}from"vitest";import{MutexService as u}from"./MutexService";i("MutexService",()=>{r("should immediately return a release function when not locked",async()=>{const e=await new u().lock();s(typeof e).toBe("function"),e()}),r("should queue subsequent lock calls until the lock is released",async()=>{const t=new u,e=await t.lock();let o=!1;const c=t.lock().then(l=>{o=!0,l()});s(o).toBe(!1),e(),await c,s(o).toBe(!0)}),r("should queue multiple locks in FIFO order",async()=>{const t=new u,e=[],o=await t.lock();e.push("first");const c=t.lock().then(n=>{e.push("second"),n()}),l=t.lock().then(n=>{e.push("third"),n()});e.push("afterqueue"),o(),await Promise.all([c,l]),s(e).toEqual(["first","afterqueue","second","third"])})});
2
+ //# sourceMappingURL=MutexService.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/device-session/service/MutexService.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it } from \"vitest\";\n\nimport { MutexService } from \"./MutexService\";\n\ndescribe(\"MutexService\", () => {\n it(\"should immediately return a release function when not locked\", async () => {\n // given\n const mutex = new MutexService();\n\n // when\n const release = await mutex.lock();\n\n // then\n expect(typeof release).toBe(\"function\");\n release();\n });\n\n it(\"should queue subsequent lock calls until the lock is released\", async () => {\n // given\n const mutex = new MutexService();\n const release1 = await mutex.lock();\n\n // when\n let lock2Resolved = false;\n const lock2Promise = mutex.lock().then((release2) => {\n lock2Resolved = true;\n release2();\n });\n\n // then\n expect(lock2Resolved).toBe(false);\n\n // when\n release1();\n await lock2Promise;\n\n // then\n expect(lock2Resolved).toBe(true);\n });\n\n it(\"should queue multiple locks in FIFO order\", async () => {\n // given\n const mutex = new MutexService();\n const order: string[] = [];\n\n // when\n const release1 = await mutex.lock();\n order.push(\"first\");\n const lock2Promise = mutex.lock().then((release2) => {\n order.push(\"second\");\n release2();\n });\n const lock3Promise = mutex.lock().then((release3) => {\n order.push(\"third\");\n release3();\n });\n\n // then\n order.push(\"afterqueue\");\n\n // when\n release1();\n await Promise.all([lock2Promise, lock3Promise]);\n\n // then\n expect(order).toEqual([\"first\", \"afterqueue\", \"second\", \"third\"]);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,YAAAA,EAAU,UAAAC,EAAQ,MAAAC,MAAU,SAErC,OAAS,gBAAAC,MAAoB,iBAE7BH,EAAS,eAAgB,IAAM,CAC7BE,EAAG,+DAAgE,SAAY,CAK7E,MAAME,EAAU,MAHF,IAAID,EAAa,EAGH,KAAK,EAGjCF,EAAO,OAAOG,CAAO,EAAE,KAAK,UAAU,EACtCA,EAAQ,CACV,CAAC,EAEDF,EAAG,gEAAiE,SAAY,CAE9E,MAAMG,EAAQ,IAAIF,EACZG,EAAW,MAAMD,EAAM,KAAK,EAGlC,IAAIE,EAAgB,GACpB,MAAMC,EAAeH,EAAM,KAAK,EAAE,KAAMI,GAAa,CACnDF,EAAgB,GAChBE,EAAS,CACX,CAAC,EAGDR,EAAOM,CAAa,EAAE,KAAK,EAAK,EAGhCD,EAAS,EACT,MAAME,EAGNP,EAAOM,CAAa,EAAE,KAAK,EAAI,CACjC,CAAC,EAEDL,EAAG,4CAA6C,SAAY,CAE1D,MAAMG,EAAQ,IAAIF,EACZO,EAAkB,CAAC,EAGnBJ,EAAW,MAAMD,EAAM,KAAK,EAClCK,EAAM,KAAK,OAAO,EAClB,MAAMF,EAAeH,EAAM,KAAK,EAAE,KAAMI,GAAa,CACnDC,EAAM,KAAK,QAAQ,EACnBD,EAAS,CACX,CAAC,EACKE,EAAeN,EAAM,KAAK,EAAE,KAAMO,GAAa,CACnDF,EAAM,KAAK,OAAO,EAClBE,EAAS,CACX,CAAC,EAGDF,EAAM,KAAK,YAAY,EAGvBJ,EAAS,EACT,MAAM,QAAQ,IAAI,CAACE,EAAcG,CAAY,CAAC,EAG9CV,EAAOS,CAAK,EAAE,QAAQ,CAAC,QAAS,aAAc,SAAU,OAAO,CAAC,CAClE,CAAC,CACH,CAAC",
6
+ "names": ["describe", "expect", "it", "MutexService", "release", "mutex", "release1", "lock2Resolved", "lock2Promise", "release2", "order", "lock3Promise", "release3"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{v4 as t}from"uuid";class h{constructor(e){this._refresher=e}_refresherBlockers=new Set;disableRefresher(e){const r=`${e}-${t()}`;this.addRefresherBlocker(r);let s=!1;return()=>{s||(s=!0,this.removeRefresherBlocker(r))}}addRefresherBlocker(e){const r=this._refresherBlockers.size;this._refresherBlockers.add(e),r===0&&this._refresher.stop()}removeRefresherBlocker(e){const r=this._refresherBlockers.size;this._refresherBlockers.delete(e),r>0&&this._refresherBlockers.size===0&&this._refresher.start()}}export{h as RefresherService};
1
+ import{v4 as o}from"uuid";class l{constructor(r,e){this._refresher=e;this._logger=r("refresher-service")}_refresherBlockers=new Set;_logger;disableRefresher(r){const e=`${r}-${o()}`;this.addRefresherBlocker(e),this._logger.debug("Refresher disabled",{data:{blockerId:e,blockers:Array.from(this._refresherBlockers)}});let s=!1;return()=>{s||(s=!0,this.removeRefresherBlocker(e),this._logger.debug("Refresher re-enabled",{data:{blockerId:e,blockers:Array.from(this._refresherBlockers)}}))}}addRefresherBlocker(r){const e=this._refresherBlockers.size;this._refresherBlockers.add(r),e===0&&this._refresher.stop()}removeRefresherBlocker(r){const e=this._refresherBlockers.size;this._refresherBlockers.delete(r),e>0&&this._refresherBlockers.size===0&&this._refresher.start()}}export{l as RefresherService};
2
2
  //# sourceMappingURL=RefresherService.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/service/RefresherService.ts"],
4
- "sourcesContent": ["import { v4 as uuidv4 } from \"uuid\";\n\nimport { type DeviceSessionRefresher } from \"@internal/device-session/model/DeviceSessionRefresher\";\n\nexport class RefresherService {\n // the refresher should be enabled if and only if the size of this is equal to zero\n private readonly _refresherBlockers = new Set<string>();\n\n constructor(private readonly _refresher: DeviceSessionRefresher) {}\n\n public disableRefresher(id: string): () => void {\n const uniqueId = `${id}-${uuidv4()}`;\n this.addRefresherBlocker(uniqueId);\n\n let hasBeenReenabled = false;\n\n return () => {\n if (hasBeenReenabled) return;\n\n hasBeenReenabled = true;\n this.removeRefresherBlocker(uniqueId);\n };\n }\n\n private addRefresherBlocker(blockerId: string) {\n const prevBlockersCount = this._refresherBlockers.size;\n this._refresherBlockers.add(blockerId);\n\n if (prevBlockersCount === 0) {\n this._refresher.stop();\n }\n }\n\n private removeRefresherBlocker(blockerId: string) {\n const prevBlockersCount = this._refresherBlockers.size;\n this._refresherBlockers.delete(blockerId);\n\n if (prevBlockersCount > 0 && this._refresherBlockers.size === 0) {\n this._refresher.start();\n }\n }\n}\n"],
5
- "mappings": "AAAA,OAAS,MAAMA,MAAc,OAItB,MAAMC,CAAiB,CAI5B,YAA6BC,EAAoC,CAApC,gBAAAA,CAAqC,CAFjD,mBAAqB,IAAI,IAInC,iBAAiBC,EAAwB,CAC9C,MAAMC,EAAW,GAAGD,CAAE,IAAIH,EAAO,CAAC,GAClC,KAAK,oBAAoBI,CAAQ,EAEjC,IAAIC,EAAmB,GAEvB,MAAO,IAAM,CACPA,IAEJA,EAAmB,GACnB,KAAK,uBAAuBD,CAAQ,EACtC,CACF,CAEQ,oBAAoBE,EAAmB,CAC7C,MAAMC,EAAoB,KAAK,mBAAmB,KAClD,KAAK,mBAAmB,IAAID,CAAS,EAEjCC,IAAsB,GACxB,KAAK,WAAW,KAAK,CAEzB,CAEQ,uBAAuBD,EAAmB,CAChD,MAAMC,EAAoB,KAAK,mBAAmB,KAClD,KAAK,mBAAmB,OAAOD,CAAS,EAEpCC,EAAoB,GAAK,KAAK,mBAAmB,OAAS,GAC5D,KAAK,WAAW,MAAM,CAE1B,CACF",
6
- "names": ["uuidv4", "RefresherService", "_refresher", "id", "uniqueId", "hasBeenReenabled", "blockerId", "prevBlockersCount"]
4
+ "sourcesContent": ["import { v4 as uuidv4 } from \"uuid\";\n\nimport { type LoggerPublisherService } from \"@api/types\";\n\nexport interface RefresherController {\n start(): void;\n stop(): void;\n}\n\nexport class RefresherService {\n private readonly _refresherBlockers = new Set<string>();\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n loggerModuleFactory: (tag: string) => LoggerPublisherService,\n private readonly _refresher: RefresherController,\n ) {\n this._logger = loggerModuleFactory(\"refresher-service\");\n }\n\n public disableRefresher(id: string): () => void {\n const uniqueId = `${id}-${uuidv4()}`;\n this.addRefresherBlocker(uniqueId);\n\n this._logger.debug(\"Refresher disabled\", {\n data: {\n blockerId: uniqueId,\n blockers: Array.from(this._refresherBlockers),\n },\n });\n\n let hasBeenReenabled = false;\n\n return () => {\n if (hasBeenReenabled) return;\n hasBeenReenabled = true;\n this.removeRefresherBlocker(uniqueId);\n\n this._logger.debug(\"Refresher re-enabled\", {\n data: {\n blockerId: uniqueId,\n blockers: Array.from(this._refresherBlockers),\n },\n });\n };\n }\n\n private addRefresherBlocker(blockerId: string): void {\n const prevBlockersCount = this._refresherBlockers.size;\n this._refresherBlockers.add(blockerId);\n\n if (prevBlockersCount === 0) {\n this._refresher.stop();\n }\n }\n\n private removeRefresherBlocker(blockerId: string): void {\n const prevBlockersCount = this._refresherBlockers.size;\n this._refresherBlockers.delete(blockerId);\n\n if (prevBlockersCount > 0 && this._refresherBlockers.size === 0) {\n this._refresher.start();\n }\n }\n}\n"],
5
+ "mappings": "AAAA,OAAS,MAAMA,MAAc,OAStB,MAAMC,CAAiB,CAI5B,YACEC,EACiBC,EACjB,CADiB,gBAAAA,EAEjB,KAAK,QAAUD,EAAoB,mBAAmB,CACxD,CARiB,mBAAqB,IAAI,IACzB,QASV,iBAAiBE,EAAwB,CAC9C,MAAMC,EAAW,GAAGD,CAAE,IAAIJ,EAAO,CAAC,GAClC,KAAK,oBAAoBK,CAAQ,EAEjC,KAAK,QAAQ,MAAM,qBAAsB,CACvC,KAAM,CACJ,UAAWA,EACX,SAAU,MAAM,KAAK,KAAK,kBAAkB,CAC9C,CACF,CAAC,EAED,IAAIC,EAAmB,GAEvB,MAAO,IAAM,CACPA,IACJA,EAAmB,GACnB,KAAK,uBAAuBD,CAAQ,EAEpC,KAAK,QAAQ,MAAM,uBAAwB,CACzC,KAAM,CACJ,UAAWA,EACX,SAAU,MAAM,KAAK,KAAK,kBAAkB,CAC9C,CACF,CAAC,EACH,CACF,CAEQ,oBAAoBE,EAAyB,CACnD,MAAMC,EAAoB,KAAK,mBAAmB,KAClD,KAAK,mBAAmB,IAAID,CAAS,EAEjCC,IAAsB,GACxB,KAAK,WAAW,KAAK,CAEzB,CAEQ,uBAAuBD,EAAyB,CACtD,MAAMC,EAAoB,KAAK,mBAAmB,KAClD,KAAK,mBAAmB,OAAOD,CAAS,EAEpCC,EAAoB,GAAK,KAAK,mBAAmB,OAAS,GAC5D,KAAK,WAAW,MAAM,CAE1B,CACF",
6
+ "names": ["uuidv4", "RefresherService", "loggerModuleFactory", "_refresher", "id", "uniqueId", "hasBeenReenabled", "blockerId", "prevBlockersCount"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{RefresherService as s}from"./RefresherService";let e;describe("RefresherService",()=>{beforeEach(()=>{e={start:vi.fn(),stop:vi.fn()}}),it("should be created",()=>{const r=new s(e);expect(r).toBeDefined()}),describe("with only 1 blocker",()=>{it("should disable the refresher",()=>{new s(e).disableRefresher("test"),expect(e.stop).toHaveBeenCalled()}),it("should reenable the refresher",()=>{new s(e).disableRefresher("test")(),expect(e.stop).toHaveBeenCalled(),expect(e.start).toHaveBeenCalled()})}),describe("with 2+ blockers",()=>{it("should not disable the refresher a second time",()=>{const r=new s(e);r.disableRefresher("test"),r.disableRefresher("test-2"),expect(e.stop).toHaveBeenCalledTimes(1)}),it("should reenable the refresher when the last blocker is removed",()=>{const r=new s(e),t=r.disableRefresher("test"),o=r.disableRefresher("test-2");expect(e.stop).toHaveBeenCalledTimes(1),t(),expect(e.start).not.toHaveBeenCalled(),o(),expect(e.start).toHaveBeenCalled()})})});
1
+ import{RefresherService as s}from"./RefresherService";let e;describe("RefresherService",()=>{let o;const t=vi.fn(()=>o);beforeEach(()=>{e={start:vi.fn(),stop:vi.fn()},o={info:vi.fn(),warn:vi.fn(),error:vi.fn(),debug:vi.fn(),subscribers:[]}}),it("should be created",()=>{const r=new s(t,e);expect(r).toBeDefined()}),describe("with only 1 blocker",()=>{it("should disable the refresher",()=>{new s(t,e).disableRefresher("test"),expect(e.stop).toHaveBeenCalled()}),it("should reenable the refresher",()=>{new s(t,e).disableRefresher("test")(),expect(e.stop).toHaveBeenCalled(),expect(e.start).toHaveBeenCalled()})}),describe("with 2+ blockers",()=>{it("should not disable the refresher a second time",()=>{const r=new s(t,e);r.disableRefresher("test"),r.disableRefresher("test-2"),expect(e.stop).toHaveBeenCalledTimes(1)}),it("should reenable the refresher when the last blocker is removed",()=>{const r=new s(t,e),i=r.disableRefresher("test"),l=r.disableRefresher("test-2");expect(e.stop).toHaveBeenCalledTimes(1),i(),expect(e.start).not.toHaveBeenCalled(),l(),expect(e.start).toHaveBeenCalled()})})});
2
2
  //# sourceMappingURL=RefresherService.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/service/RefresherService.test.ts"],
4
- "sourcesContent": ["import { type DeviceSessionRefresher } from \"@internal/device-session/model/DeviceSessionRefresher\";\n\nimport { RefresherService } from \"./RefresherService\";\n\nlet refresher: DeviceSessionRefresher;\ndescribe(\"RefresherService\", () => {\n beforeEach(() => {\n refresher = {\n start: vi.fn(),\n stop: vi.fn(),\n } as unknown as DeviceSessionRefresher;\n });\n\n it(\"should be created\", () => {\n const refresherService = new RefresherService(refresher);\n expect(refresherService).toBeDefined();\n });\n\n describe(\"with only 1 blocker\", () => {\n it(\"should disable the refresher\", () => {\n const refresherService = new RefresherService(refresher);\n refresherService.disableRefresher(\"test\");\n expect(refresher.stop).toHaveBeenCalled();\n });\n\n it(\"should reenable the refresher\", () => {\n const refresherService = new RefresherService(refresher);\n const reenableRefresher = refresherService.disableRefresher(\"test\");\n reenableRefresher();\n expect(refresher.stop).toHaveBeenCalled();\n expect(refresher.start).toHaveBeenCalled();\n });\n });\n\n describe(\"with 2+ blockers\", () => {\n it(\"should not disable the refresher a second time\", () => {\n const refresherService = new RefresherService(refresher);\n refresherService.disableRefresher(\"test\");\n refresherService.disableRefresher(\"test-2\");\n expect(refresher.stop).toHaveBeenCalledTimes(1);\n });\n\n it(\"should reenable the refresher when the last blocker is removed\", () => {\n const refresherService = new RefresherService(refresher);\n const reenableRefresher1 = refresherService.disableRefresher(\"test\");\n const reenableRefresher2 = refresherService.disableRefresher(\"test-2\");\n expect(refresher.stop).toHaveBeenCalledTimes(1);\n reenableRefresher1();\n expect(refresher.start).not.toHaveBeenCalled();\n reenableRefresher2();\n expect(refresher.start).toHaveBeenCalled();\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,oBAAAA,MAAwB,qBAEjC,IAAIC,EACJ,SAAS,mBAAoB,IAAM,CACjC,WAAW,IAAM,CACfA,EAAY,CACV,MAAO,GAAG,GAAG,EACb,KAAM,GAAG,GAAG,CACd,CACF,CAAC,EAED,GAAG,oBAAqB,IAAM,CAC5B,MAAMC,EAAmB,IAAIF,EAAiBC,CAAS,EACvD,OAAOC,CAAgB,EAAE,YAAY,CACvC,CAAC,EAED,SAAS,sBAAuB,IAAM,CACpC,GAAG,+BAAgC,IAAM,CACd,IAAIF,EAAiBC,CAAS,EACtC,iBAAiB,MAAM,EACxC,OAAOA,EAAU,IAAI,EAAE,iBAAiB,CAC1C,CAAC,EAED,GAAG,gCAAiC,IAAM,CACf,IAAID,EAAiBC,CAAS,EACZ,iBAAiB,MAAM,EAChD,EAClB,OAAOA,EAAU,IAAI,EAAE,iBAAiB,EACxC,OAAOA,EAAU,KAAK,EAAE,iBAAiB,CAC3C,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,iDAAkD,IAAM,CACzD,MAAMC,EAAmB,IAAIF,EAAiBC,CAAS,EACvDC,EAAiB,iBAAiB,MAAM,EACxCA,EAAiB,iBAAiB,QAAQ,EAC1C,OAAOD,EAAU,IAAI,EAAE,sBAAsB,CAAC,CAChD,CAAC,EAED,GAAG,iEAAkE,IAAM,CACzE,MAAMC,EAAmB,IAAIF,EAAiBC,CAAS,EACjDE,EAAqBD,EAAiB,iBAAiB,MAAM,EAC7DE,EAAqBF,EAAiB,iBAAiB,QAAQ,EACrE,OAAOD,EAAU,IAAI,EAAE,sBAAsB,CAAC,EAC9CE,EAAmB,EACnB,OAAOF,EAAU,KAAK,EAAE,IAAI,iBAAiB,EAC7CG,EAAmB,EACnB,OAAOH,EAAU,KAAK,EAAE,iBAAiB,CAC3C,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["RefresherService", "refresher", "refresherService", "reenableRefresher1", "reenableRefresher2"]
4
+ "sourcesContent": ["import { type LoggerPublisherService } from \"@api/types\";\n\nimport { type RefresherController, RefresherService } from \"./RefresherService\";\n\nlet refresher: RefresherController;\ndescribe(\"RefresherService\", () => {\n let mockLogger: LoggerPublisherService & {\n debug: ReturnType<typeof vi.fn>;\n };\n const mockedLoggerModuleFactory = vi.fn(() => mockLogger);\n\n beforeEach(() => {\n refresher = {\n start: vi.fn(),\n stop: vi.fn(),\n };\n mockLogger = {\n info: vi.fn(),\n warn: vi.fn(),\n error: vi.fn(),\n debug: vi.fn(),\n subscribers: [],\n };\n });\n\n it(\"should be created\", () => {\n const refresherService = new RefresherService(\n mockedLoggerModuleFactory,\n refresher,\n );\n expect(refresherService).toBeDefined();\n });\n\n describe(\"with only 1 blocker\", () => {\n it(\"should disable the refresher\", () => {\n const refresherService = new RefresherService(\n mockedLoggerModuleFactory,\n refresher,\n );\n refresherService.disableRefresher(\"test\");\n expect(refresher.stop).toHaveBeenCalled();\n });\n\n it(\"should reenable the refresher\", () => {\n const refresherService = new RefresherService(\n mockedLoggerModuleFactory,\n refresher,\n );\n const reenableRefresher = refresherService.disableRefresher(\"test\");\n reenableRefresher();\n expect(refresher.stop).toHaveBeenCalled();\n expect(refresher.start).toHaveBeenCalled();\n });\n });\n\n describe(\"with 2+ blockers\", () => {\n it(\"should not disable the refresher a second time\", () => {\n const refresherService = new RefresherService(\n mockedLoggerModuleFactory,\n refresher,\n );\n refresherService.disableRefresher(\"test\");\n refresherService.disableRefresher(\"test-2\");\n expect(refresher.stop).toHaveBeenCalledTimes(1);\n });\n\n it(\"should reenable the refresher when the last blocker is removed\", () => {\n const refresherService = new RefresherService(\n mockedLoggerModuleFactory,\n refresher,\n );\n const reenableRefresher1 = refresherService.disableRefresher(\"test\");\n const reenableRefresher2 = refresherService.disableRefresher(\"test-2\");\n expect(refresher.stop).toHaveBeenCalledTimes(1);\n reenableRefresher1();\n expect(refresher.start).not.toHaveBeenCalled();\n reenableRefresher2();\n expect(refresher.start).toHaveBeenCalled();\n });\n });\n});\n"],
5
+ "mappings": "AAEA,OAAmC,oBAAAA,MAAwB,qBAE3D,IAAIC,EACJ,SAAS,mBAAoB,IAAM,CACjC,IAAIC,EAGJ,MAAMC,EAA4B,GAAG,GAAG,IAAMD,CAAU,EAExD,WAAW,IAAM,CACfD,EAAY,CACV,MAAO,GAAG,GAAG,EACb,KAAM,GAAG,GAAG,CACd,EACAC,EAAa,CACX,KAAM,GAAG,GAAG,EACZ,KAAM,GAAG,GAAG,EACZ,MAAO,GAAG,GAAG,EACb,MAAO,GAAG,GAAG,EACb,YAAa,CAAC,CAChB,CACF,CAAC,EAED,GAAG,oBAAqB,IAAM,CAC5B,MAAME,EAAmB,IAAIJ,EAC3BG,EACAF,CACF,EACA,OAAOG,CAAgB,EAAE,YAAY,CACvC,CAAC,EAED,SAAS,sBAAuB,IAAM,CACpC,GAAG,+BAAgC,IAAM,CACd,IAAIJ,EAC3BG,EACAF,CACF,EACiB,iBAAiB,MAAM,EACxC,OAAOA,EAAU,IAAI,EAAE,iBAAiB,CAC1C,CAAC,EAED,GAAG,gCAAiC,IAAM,CACf,IAAID,EAC3BG,EACAF,CACF,EAC2C,iBAAiB,MAAM,EAChD,EAClB,OAAOA,EAAU,IAAI,EAAE,iBAAiB,EACxC,OAAOA,EAAU,KAAK,EAAE,iBAAiB,CAC3C,CAAC,CACH,CAAC,EAED,SAAS,mBAAoB,IAAM,CACjC,GAAG,iDAAkD,IAAM,CACzD,MAAMG,EAAmB,IAAIJ,EAC3BG,EACAF,CACF,EACAG,EAAiB,iBAAiB,MAAM,EACxCA,EAAiB,iBAAiB,QAAQ,EAC1C,OAAOH,EAAU,IAAI,EAAE,sBAAsB,CAAC,CAChD,CAAC,EAED,GAAG,iEAAkE,IAAM,CACzE,MAAMG,EAAmB,IAAIJ,EAC3BG,EACAF,CACF,EACMI,EAAqBD,EAAiB,iBAAiB,MAAM,EAC7DE,EAAqBF,EAAiB,iBAAiB,QAAQ,EACrE,OAAOH,EAAU,IAAI,EAAE,sBAAsB,CAAC,EAC9CI,EAAmB,EACnB,OAAOJ,EAAU,KAAK,EAAE,IAAI,iBAAiB,EAC7CK,EAAmB,EACnB,OAAOL,EAAU,KAAK,EAAE,iBAAiB,CAC3C,CAAC,CACH,CAAC,CACH,CAAC",
6
+ "names": ["RefresherService", "refresher", "mockLogger", "mockedLoggerModuleFactory", "refresherService", "reenableRefresher1", "reenableRefresher2"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var p=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var t=(o,e,i,s)=>{for(var c=s>1?void 0:s?m(e,i):e,v=o.length-1,n;v>=0;v--)(n=o[v])&&(c=(s?n(e,i,c):n(c))||c);return s&&c&&p(e,i,c),c},S=(o,e)=>(i,s)=>e(i,s,o);import{inject as D,injectable as d}from"inversify";import{deviceSessionTypes as f}from"../../device-session/di/deviceSessionTypes";let r=class{_sessionService;constructor(e){this._sessionService=e}execute(){const e=this._sessionService.getDeviceSessions();for(const i of e)i.close()}};r=t([d(),S(0,D(f.DeviceSessionService))],r);export{r as CloseSessionsUseCase};
1
+ var a=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var S=(o,e,i,s)=>{for(var r=s>1?void 0:s?m(e,i):e,t=o.length-1,n;t>=0;t--)(n=o[t])&&(r=(s?n(e,i,r):n(r))||r);return s&&r&&a(e,i,r),r},v=(o,e)=>(i,s)=>e(i,s,o);import{inject as p,injectable as D}from"inversify";import{deviceSessionTypes as d}from"../../device-session/di/deviceSessionTypes";import{transportDiTypes as f}from"../../transport/di/transportDiTypes";let c=class{_sessionService;_transportService;constructor(e,i){this._sessionService=e,this._transportService=i}execute(){const e=this._sessionService.getDeviceSessions();for(const i of e)this._transportService.closeConnection(i.connectedDevice),this._sessionService.removeDeviceSession(i.id)}};c=S([D(),v(0,p(d.DeviceSessionService)),v(1,p(f.TransportService))],c);export{c as CloseSessionsUseCase};
2
2
  //# sourceMappingURL=CloseSessionsUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/CloseSessionsUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\n\n@injectable()\nexport class CloseSessionsUseCase {\n private readonly _sessionService: DeviceSessionService;\n constructor(\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n ) {\n this._sessionService = sessionService;\n }\n\n execute() {\n const deviceSessions = this._sessionService.getDeviceSessions();\n\n for (const dSession of deviceSessions) {\n dSession.close();\n }\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAEnC,OAAS,sBAAAC,MAA0B,iDAI5B,IAAMC,EAAN,KAA2B,CACf,gBACjB,YAEEC,EACA,CACA,KAAK,gBAAkBA,CACzB,CAEA,SAAU,CACR,MAAMC,EAAiB,KAAK,gBAAgB,kBAAkB,EAE9D,UAAWC,KAAYD,EACrBC,EAAS,MAAM,CAEnB,CACF,EAhBaH,EAANI,EAAA,CADNC,EAAW,EAIPC,EAAA,EAAAC,EAAOC,EAAmB,oBAAoB,IAHtCR",
6
- "names": ["inject", "injectable", "deviceSessionTypes", "CloseSessionsUseCase", "sessionService", "deviceSessions", "dSession", "__decorateClass", "injectable", "__decorateParam", "inject", "deviceSessionTypes"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport type { TransportService } from \"@internal/transport/service/TransportService\";\n\n@injectable()\nexport class CloseSessionsUseCase {\n private readonly _sessionService: DeviceSessionService;\n private readonly _transportService: TransportService;\n constructor(\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n }\n\n execute() {\n const deviceSessions = this._sessionService.getDeviceSessions();\n\n for (const dSession of deviceSessions) {\n this._transportService.closeConnection(dSession.connectedDevice);\n this._sessionService.removeDeviceSession(dSession.id);\n }\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAEnC,OAAS,sBAAAC,MAA0B,iDAEnC,OAAS,oBAAAC,MAAwB,0CAI1B,IAAMC,EAAN,KAA2B,CACf,gBACA,kBACjB,YAEEC,EAEAC,EACA,CACA,KAAK,gBAAkBD,EACvB,KAAK,kBAAoBC,CAC3B,CAEA,SAAU,CACR,MAAMC,EAAiB,KAAK,gBAAgB,kBAAkB,EAE9D,UAAWC,KAAYD,EACrB,KAAK,kBAAkB,gBAAgBC,EAAS,eAAe,EAC/D,KAAK,gBAAgB,oBAAoBA,EAAS,EAAE,CAExD,CACF,EArBaJ,EAANK,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,oBAAoB,GAE9CF,EAAA,EAAAC,EAAOE,EAAiB,gBAAgB,IANhCV",
6
+ "names": ["inject", "injectable", "deviceSessionTypes", "transportDiTypes", "CloseSessionsUseCase", "sessionService", "transportService", "deviceSessions", "dSession", "__decorateClass", "injectable", "__decorateParam", "inject", "deviceSessionTypes", "transportDiTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{deviceSessionStubBuilder as m}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as S}from"../../device-session/service/DefaultDeviceSessionService";import{CloseSessionsUseCase as l}from"../../device-session/use-case/CloseSessionsUseCase";import{DefaultLoggerPublisherService as p}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as u}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as f}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as v}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as g}from"../../secure-channel/service/DefaultSecureChannelService";let r,a,t,n,c,o;describe("CloseSessionsUseCase",()=>{beforeEach(()=>{r=new p([],"close-sessions-use-case-test"),a=new u({}),t=new f(a),n=new v({}),c=new g(n),o=new S(()=>r)}),it("should be able to close every session",()=>{const i=[...Array(10).keys()].map(e=>{const s=m({id:e.toString()},()=>r,t,c);return vi.spyOn(s,"close"),s});i.forEach(e=>o.addDeviceSession(e)),new l(o).execute(),i.forEach(e=>{expect(e.close).toHaveBeenCalled()})})});
1
+ import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as S}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as m}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as p}from"../../device-session/service/DefaultDeviceSessionService";import{CloseSessionsUseCase as l}from"../../device-session/use-case/CloseSessionsUseCase";import{DefaultLoggerPublisherService as u}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as f}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as v}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as D}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as g}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as C}from"../../transport/service/__mocks__/DefaultTransportService";let o,i,t,a,n,r,c;describe("CloseSessionsUseCase",()=>{beforeEach(()=>{o=new u([],"close-sessions-use-case-test"),i=new f({}),t=new v(i),a=new D({}),n=new g(a),r=new p(()=>o),c=new C}),it("should be able to close every session",()=>{[...Array(10).keys()].map(e=>{const s=m({id:e.toString()},()=>o,t,n,S);return vi.spyOn(s,"close"),s}).forEach(e=>r.addDeviceSession(e)),new l(r,c).execute();for(const e of r.getDeviceSessions())expect(e.close).toHaveBeenCalled()})});
2
2
  //# sourceMappingURL=CloseSessionsUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/CloseSessionsUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nlet sessionService: DeviceSessionService;\n\ndescribe(\"CloseSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"close-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n it(\"should be able to close every session\", () => {\n //given\n const sessions = [...Array(10).keys()].map((id) => {\n const session = deviceSessionStubBuilder(\n { id: id.toString() },\n () => logger,\n managerApi,\n secureChannel,\n );\n vi.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService);\n //when\n useCase.execute();\n //then\n sessions.forEach((session) => {\n expect(session.close).toHaveBeenCalled();\n });\n });\n});\n"],
5
- "mappings": "AAEA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,wBAAAC,MAA4B,yDACrC,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfL,EAAS,IAAIL,EACX,CAAC,EACD,8BACF,EACAM,EAAuB,IAAIL,EAA0B,CAAC,CAAc,EACpEM,EAAa,IAAIL,EAAyBI,CAAoB,EAC9DE,EAA0B,IAAIL,EAC5B,CAAC,CACH,EACAM,EAAgB,IAAIL,EAA4BI,CAAuB,EACvEE,EAAiB,IAAIZ,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAED,GAAG,wCAAyC,IAAM,CAEhD,MAAMM,EAAW,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKC,GAAO,CACjD,MAAMC,EAAUhB,EACd,CAAE,GAAIe,EAAG,SAAS,CAAE,EACpB,IAAMP,EACNE,EACAE,CACF,EACA,UAAG,MAAMI,EAAS,OAAO,EAClBA,CACT,CAAC,EACDF,EAAS,QAASE,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAId,EAAqBW,CAAc,EAE/C,QAAQ,EAEhBC,EAAS,QAASE,GAAY,CAC5B,OAAOA,EAAQ,KAAK,EAAE,iBAAiB,CACzC,CAAC,CACH,CAAC,CACH,CAAC",
6
- "names": ["deviceSessionStubBuilder", "DefaultDeviceSessionService", "CloseSessionsUseCase", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "logger", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "sessionService", "sessions", "id", "session"]
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { CloseSessionsUseCase } from \"@internal/device-session/use-case/CloseSessionsUseCase\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/__mocks__/DefaultTransportService\";\n\nlet logger: LoggerPublisherService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\nlet sessionService: DeviceSessionService;\nlet transportService: DefaultTransportService;\n\n// @TODO Fix this test with vi.spyOn session close [SNAPSHOT PURPOSE]\ndescribe(\"CloseSessionsUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"close-sessions-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n transportService = new DefaultTransportService();\n });\n\n it(\"should be able to close every session\", () => {\n //given\n const sessions = [...Array(10).keys()].map((id) => {\n const session = deviceSessionStubBuilder(\n { id: id.toString() },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n vi.spyOn(session, \"close\");\n return session;\n });\n sessions.forEach((session) => sessionService.addDeviceSession(session));\n const useCase = new CloseSessionsUseCase(sessionService, transportService);\n //when\n useCase.execute();\n //then\n for (const session of sessionService.getDeviceSessions()) {\n expect(session.close).toHaveBeenCalled();\n }\n });\n});\n"],
5
+ "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,wBAAAC,MAA4B,yDACrC,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,2BAAAC,MAA+B,gEAExC,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGJ,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,8BACF,EACAO,EAAuB,IAAIN,EAA0B,CAAC,CAAc,EACpEO,EAAa,IAAIN,EAAyBK,CAAoB,EAC9DE,EAA0B,IAAIN,EAC5B,CAAC,CACH,EACAO,EAAgB,IAAIN,EAA4BK,CAAuB,EACvEE,EAAiB,IAAIb,EAA4B,IAAMQ,CAAM,EAC7DM,EAAmB,IAAIP,CACzB,CAAC,EAED,GAAG,wCAAyC,IAAM,CAE/B,CAAC,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,IAAKQ,GAAO,CACjD,MAAMC,EAAUjB,EACd,CAAE,GAAIgB,EAAG,SAAS,CAAE,EACpB,IAAMP,EACNE,EACAE,EACAd,CACF,EACA,UAAG,MAAMkB,EAAS,OAAO,EAClBA,CACT,CAAC,EACQ,QAASA,GAAYH,EAAe,iBAAiBG,CAAO,CAAC,EACtD,IAAIf,EAAqBY,EAAgBC,CAAgB,EAEjE,QAAQ,EAEhB,UAAWE,KAAWH,EAAe,kBAAkB,EACrD,OAAOG,EAAQ,KAAK,EAAE,iBAAiB,CAE3C,CAAC,CACH,CAAC",
6
+ "names": ["DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DefaultDeviceSessionService", "CloseSessionsUseCase", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "logger", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "sessionService", "transportService", "id", "session"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{deviceSessionStubBuilder as p}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as f}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as l}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as v}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as D}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as d}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as g}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as h}from"../../secure-channel/service/DefaultSecureChannelService";import{GetDeviceSessionStateUseCase as a}from"./GetDeviceSessionStateUseCase";vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let r,i,n,c,S,m;const t="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{r=new v([],"get-connected-device-use-case-test"),n=new D({}),c=new d(n),S=new g({}),m=new h(S),i=new l(()=>r)}),it("should retrieve deviceSession device state",()=>{const e=p({id:t},()=>r,c,m);i.addDeviceSession(e);const o=new a(i,()=>r).execute({sessionId:t}),u=e.state;e.close(),expect(o).toStrictEqual(u)}),it("should throw error when deviceSession is not found",()=>new Promise(e=>{const s=new a(i,()=>r);try{s.execute({sessionId:t}).subscribe()}catch(o){expect(o).toBeInstanceOf(f),e()}}))});
1
+ import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as p}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as f}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as l}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as v}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as D}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as d}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as g}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as h}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";import{GetDeviceSessionStateUseCase as a}from"./GetDeviceSessionStateUseCase";vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let r,o,n,c,S,m;const t="fakeSessionId";describe("GetDeviceSessionStateUseCase",()=>{beforeEach(()=>{r=new D([],"get-connected-device-use-case-test"),n=new d({}),c=new g(n),S=new h({}),m=new C(S),o=new v(()=>r)}),it("should retrieve deviceSession device state",()=>{const e=f({id:t},()=>r,c,m,p);o.addDeviceSession(e);const i=new a(o,()=>r).execute({sessionId:t}),u=e.state;e.close(),expect(i).toStrictEqual(u)}),it("should throw error when deviceSession is not found",()=>new Promise(e=>{const s=new a(o,()=>r);try{s.execute({sessionId:t}).subscribe()}catch(i){expect(i).toBeInstanceOf(l),e()}}))});
2
2
  //# sourceMappingURL=GetDeviceSessionStateUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/device-session/use-case/GetDeviceSessionStateUseCase.test.ts"],
4
- "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", () =>\n new Promise<void>((resolve) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n resolve();\n }\n }));\n});\n"],
5
- "mappings": "AAEA,OAAS,4BAAAA,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,gCAAAC,MAAoC,iCAE7C,GAAG,KAAK,sDAAsD,EAE9D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,oCACF,EACAQ,EAAuB,IAAIP,EAA0B,CAAC,CAAc,EACpEQ,EAAa,IAAIP,EAAyBM,CAAoB,EAC9DE,EAA0B,IAAIP,EAC5B,CAAC,CACH,EACAQ,EAAgB,IAAIP,EAA4BM,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMO,EAAgBhB,EACpB,CAAE,GAAIe,CAAc,EACpB,IAAMN,EACNG,EACAE,CACF,EACAJ,EAAe,iBAAiBM,CAAa,EAM7C,MAAMC,EALU,IAAIT,EAClBE,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWM,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAsD,IACvD,IAAI,QAAeC,GAAY,CAE7B,MAAMC,EAAU,IAAIZ,EAClBE,EACA,IAAMD,CACR,EAGA,GAAI,CACFW,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAepB,CAAqB,EAClDkB,EAAQ,CACV,CACF,CAAC,CAAC,CACN,CAAC",
6
- "names": ["deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "res", "expected", "resolve", "useCase", "error"]
4
+ "sourcesContent": ["import { type DmkConfig } from \"@api/DmkConfig\";\nimport { type LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { type DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\n\nimport { GetDeviceSessionStateUseCase } from \"./GetDeviceSessionStateUseCase\";\n\nvi.mock(\"@internal/manager-api/data/AxiosManagerApiDataSource\");\n\nlet logger: LoggerPublisherService;\nlet sessionService: DeviceSessionService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet managerApi: ManagerApiService;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst fakeSessionId = \"fakeSessionId\";\n\ndescribe(\"GetDeviceSessionStateUseCase\", () => {\n beforeEach(() => {\n logger = new DefaultLoggerPublisherService(\n [],\n \"get-connected-device-use-case-test\",\n );\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n sessionService = new DefaultDeviceSessionService(() => logger);\n });\n\n // TODO: This test does not close a subscription\n // \u00AF\\_(\u30C4)_/\u00AF I cannot find which one unfortunatly\n it(\"should retrieve deviceSession device state\", () => {\n // given\n const deviceSession = deviceSessionStubBuilder(\n { id: fakeSessionId },\n () => logger,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n sessionService.addDeviceSession(deviceSession);\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n const res = useCase.execute({ sessionId: fakeSessionId });\n const expected = deviceSession.state;\n\n deviceSession.close();\n\n // then\n expect(res).toStrictEqual(expected);\n });\n\n it(\"should throw error when deviceSession is not found\", () =>\n new Promise<void>((resolve) => {\n // given\n const useCase = new GetDeviceSessionStateUseCase(\n sessionService,\n () => logger,\n );\n\n // when\n try {\n useCase\n .execute({\n sessionId: fakeSessionId,\n })\n .subscribe();\n } catch (error) {\n // then\n expect(error).toBeInstanceOf(DeviceSessionNotFound);\n resolve();\n }\n }));\n});\n"],
5
+ "mappings": "AAEA,OAAS,4CAAAA,MAAgD,4DACzD,OAAS,4BAAAC,MAAgC,oDACzC,OAAS,yBAAAC,MAA6B,wCACtC,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,iCAAAC,MAAqC,mEAC9C,OAAS,6BAAAC,MAAiC,uDAE1C,OAAS,4BAAAC,MAAgC,yDAEzC,OAAS,kCAAAC,MAAsC,+DAE/C,OAAS,+BAAAC,MAAmC,+DAG5C,OAAS,gCAAAC,MAAoC,iCAE7C,GAAG,KAAK,sDAAsD,EAE9D,IAAIC,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,MAAMC,EAAgB,gBAEtB,SAAS,+BAAgC,IAAM,CAC7C,WAAW,IAAM,CACfN,EAAS,IAAIN,EACX,CAAC,EACD,oCACF,EACAQ,EAAuB,IAAIP,EAA0B,CAAC,CAAc,EACpEQ,EAAa,IAAIP,EAAyBM,CAAoB,EAC9DE,EAA0B,IAAIP,EAC5B,CAAC,CACH,EACAQ,EAAgB,IAAIP,EAA4BM,CAAuB,EACvEH,EAAiB,IAAIR,EAA4B,IAAMO,CAAM,CAC/D,CAAC,EAID,GAAG,6CAA8C,IAAM,CAErD,MAAMO,EAAgBhB,EACpB,CAAE,GAAIe,CAAc,EACpB,IAAMN,EACNG,EACAE,EACAf,CACF,EACAW,EAAe,iBAAiBM,CAAa,EAM7C,MAAMC,EALU,IAAIT,EAClBE,EACA,IAAMD,CACR,EAEoB,QAAQ,CAAE,UAAWM,CAAc,CAAC,EAClDG,EAAWF,EAAc,MAE/BA,EAAc,MAAM,EAGpB,OAAOC,CAAG,EAAE,cAAcC,CAAQ,CACpC,CAAC,EAED,GAAG,qDAAsD,IACvD,IAAI,QAAeC,GAAY,CAE7B,MAAMC,EAAU,IAAIZ,EAClBE,EACA,IAAMD,CACR,EAGA,GAAI,CACFW,EACG,QAAQ,CACP,UAAWL,CACb,CAAC,EACA,UAAU,CACf,OAASM,EAAO,CAEd,OAAOA,CAAK,EAAE,eAAepB,CAAqB,EAClDkB,EAAQ,CACV,CACF,CAAC,CAAC,CACN,CAAC",
6
+ "names": ["DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "GetDeviceSessionStateUseCase", "logger", "sessionService", "managerApiDataSource", "managerApi", "secureChannelDataSource", "secureChannel", "fakeSessionId", "deviceSession", "res", "expected", "resolve", "useCase", "error"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ const o=n=>{if(typeof n!="object"||n===null)return!1;const e=n;return typeof e.name=="string"&&typeof e.version=="string"};export{o as isGetAppAndVersionResponse};
2
+ //# sourceMappingURL=deviceSessionUtils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/device-session/utils/deviceSessionUtils.ts"],
4
+ "sourcesContent": ["import { type GetAppAndVersionResponse } from \"@api/index\";\n\nexport const isGetAppAndVersionResponse = (\n response: unknown,\n): response is GetAppAndVersionResponse => {\n if (typeof response !== \"object\" || response === null) return false;\n const rec = response as Record<string, unknown>;\n return typeof rec[\"name\"] === \"string\" && typeof rec[\"version\"] === \"string\";\n};\n"],
5
+ "mappings": "AAEO,MAAMA,EACXC,GACyC,CACzC,GAAI,OAAOA,GAAa,UAAYA,IAAa,KAAM,MAAO,GAC9D,MAAMC,EAAMD,EACZ,OAAO,OAAOC,EAAI,MAAY,UAAY,OAAOA,EAAI,SAAe,QACtE",
6
+ "names": ["isGetAppAndVersionResponse", "response", "rec"]
7
+ }
@@ -1,2 +1,2 @@
1
- var S=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=(n,i,o,e)=>{for(var r=e>1?void 0:e?m(i,o):i,t=n.length-1,v;t>=0;t--)(v=n[t])&&(r=(e?v(i,o,r):v(r))||r);return e&&r&&S(i,o,r),r},s=(n,i)=>(o,e)=>i(o,e,n);import{inject as c,injectable as g}from"inversify";import{EitherAsync as h}from"purify-ts";import{TransportNotSupportedError as l}from"../../../api/transport/model/Errors";import{deviceSessionTypes as d}from"../../device-session/di/deviceSessionTypes";import{DeviceSession as y}from"../../device-session/model/DeviceSession";import{loggerTypes as D}from"../../logger-publisher/di/loggerTypes";import{managerApiTypes as f}from"../../manager-api/di/managerApiTypes";import{secureChannelTypes as u}from"../../secure-channel/di/secureChannelTypes";import{transportDiTypes as _}from"../../transport/di/transportDiTypes";let a=class{_transportService;_sessionService;_loggerFactory;_managerApi;_secureChannel;_logger;constructor(i,o,e,r,t){this._sessionService=o,this._transportService=i,this._loggerFactory=e,this._logger=e("ConnectUseCase"),this._managerApi=r,this._secureChannel=t}handleDeviceDisconnect(i){this._sessionService.getDeviceSessionByDeviceId(i).map(e=>{this._sessionService.removeDeviceSession(e.id)})}async execute({device:i}){const o=this._transportService.getTransport(i.transport);return h.liftEither(o.toEither(new l(new Error("Unknown transport")))).chain(async e=>e.connect({deviceId:i.id,onDisconnect:r=>this.handleDeviceDisconnect(r)})).ifLeft(e=>{this._logger.error("Error connecting to device",{data:{deviceId:i.id,error:e}})}).map(async e=>{const r=new y({connectedDevice:e},this._loggerFactory,this._managerApi,this._secureChannel);return this._sessionService.addDeviceSession(r),await r.waitIsReady(),r.id}).caseOf({Left:e=>{throw e},Right:e=>e})}};a=p([g(),s(0,c(_.TransportService)),s(1,c(d.DeviceSessionService)),s(2,c(D.LoggerPublisherServiceFactory)),s(3,c(f.ManagerApiService)),s(4,c(u.SecureChannelService))],a);export{a as ConnectUseCase};
1
+ var S=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=(t,r,o,i)=>{for(var e=i>1?void 0:i?m(r,o):r,s=t.length-1,v;s>=0;s--)(v=t[s])&&(e=(i?v(r,o,e):v(e))||e);return i&&e&&S(r,o,e),e},n=(t,r)=>(o,i)=>r(o,i,t);import{inject as c,injectable as g}from"inversify";import{EitherAsync as h}from"purify-ts";import{TransportNotSupportedError as l}from"../../../api/transport/model/Errors";import{deviceSessionTypes as d}from"../../device-session/di/deviceSessionTypes";import{DeviceSession as D}from"../../device-session/model/DeviceSession";import{loggerTypes as f}from"../../logger-publisher/di/loggerTypes";import{managerApiTypes as y}from"../../manager-api/di/managerApiTypes";import{secureChannelTypes as u}from"../../secure-channel/di/secureChannelTypes";import{transportDiTypes as _}from"../../transport/di/transportDiTypes";let a=class{_transportService;_sessionService;_loggerFactory;_managerApi;_secureChannel;_logger;constructor(r,o,i,e,s){this._sessionService=o,this._transportService=r,this._loggerFactory=i,this._logger=i("ConnectUseCase"),this._managerApi=e,this._secureChannel=s}handleDeviceDisconnect(r){this._sessionService.getDeviceSessionByDeviceId(r).map(i=>{this._sessionService.removeDeviceSession(i.id)})}async execute({device:r,sessionRefresherOptions:o}){const i=this._transportService.getTransport(r.transport);return h.liftEither(i.toEither(new l(new Error("Unknown transport")))).chain(async e=>e.connect({deviceId:r.id,onDisconnect:s=>this.handleDeviceDisconnect(s)})).ifLeft(e=>{this._logger.error("Error connecting to device",{data:{deviceId:r.id,error:e}})}).map(async e=>{const s=new D({connectedDevice:e},this._loggerFactory,this._managerApi,this._secureChannel,o);return this._sessionService.addDeviceSession(s),await s.initialiseSession(),s.id}).caseOf({Left:e=>{throw e},Right:e=>e})}};a=p([g(),n(0,c(_.TransportService)),n(1,c(d.DeviceSessionService)),n(2,c(f.LoggerPublisherServiceFactory)),n(3,c(y.ManagerApiService)),n(4,c(u.SecureChannelService))],a);export{a as ConnectUseCase};
2
2
  //# sourceMappingURL=ConnectUseCase.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/ConnectUseCase.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { DeviceSessionId } from \"@api/device-session/types\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { DeviceId } from \"@api/types\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport { DeviceSession } from \"@internal/device-session/model/DeviceSession\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport type { SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * The arguments for the ConnectUseCase.\n */\nexport type ConnectUseCaseArgs = {\n /**\n * UUID of the device got from device discovery `StartDiscoveringUseCase`\n */\n device: DiscoveredDevice;\n};\n\n/**\n * Connects to a discovered device.\n */\n@injectable()\nexport class ConnectUseCase {\n private readonly _transportService: TransportService;\n private readonly _sessionService: DeviceSessionService;\n private readonly _loggerFactory: (tag: string) => LoggerPublisherService;\n private readonly _managerApi: ManagerApiService;\n private readonly _secureChannel: SecureChannelService;\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n @inject(managerApiTypes.ManagerApiService)\n managerApi: ManagerApiService,\n @inject(secureChannelTypes.SecureChannelService)\n secureChannel: SecureChannelService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n this._loggerFactory = loggerFactory;\n this._logger = loggerFactory(\"ConnectUseCase\");\n this._managerApi = managerApi;\n this._secureChannel = secureChannel;\n }\n\n private handleDeviceDisconnect(deviceId: DeviceId) {\n const deviceSessionOrError =\n this._sessionService.getDeviceSessionByDeviceId(deviceId);\n deviceSessionOrError.map((deviceSession) => {\n this._sessionService.removeDeviceSession(deviceSession.id);\n });\n }\n\n async execute({ device }: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n const transport = this._transportService.getTransport(device.transport);\n\n return EitherAsync.liftEither(\n transport.toEither(\n new TransportNotSupportedError(new Error(\"Unknown transport\")),\n ),\n )\n .chain(async (t) => {\n return t.connect({\n deviceId: device.id,\n onDisconnect: (dId) => this.handleDeviceDisconnect(dId),\n });\n })\n .ifLeft((error) => {\n this._logger.error(\"Error connecting to device\", {\n data: { deviceId: device.id, error },\n });\n })\n .map(async (connectedDevice) => {\n const deviceSession = new DeviceSession(\n { connectedDevice },\n this._loggerFactory,\n this._managerApi,\n this._secureChannel,\n );\n this._sessionService.addDeviceSession(deviceSession);\n await deviceSession.waitIsReady();\n return deviceSession.id;\n })\n .caseOf({\n Left: (error) => {\n throw error;\n },\n Right: (s) => s,\n });\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAK5B,OAAS,8BAAAC,MAAkC,8BAE3C,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,iBAAAC,MAAqB,+CAE9B,OAAS,eAAAC,MAAmB,4CAC5B,OAAS,mBAAAC,MAAuB,2CAEhC,OAAS,sBAAAC,MAA0B,iDAEnC,OAAS,oBAAAC,MAAwB,0CAiB1B,IAAMC,EAAN,KAAqB,CACT,kBACA,gBACA,eACA,YACA,eACA,QAEjB,YAEEC,EAEAC,EAEAC,EAEAC,EAEAC,EACA,CACA,KAAK,gBAAkBH,EACvB,KAAK,kBAAoBD,EACzB,KAAK,eAAiBE,EACtB,KAAK,QAAUA,EAAc,gBAAgB,EAC7C,KAAK,YAAcC,EACnB,KAAK,eAAiBC,CACxB,CAEQ,uBAAuBC,EAAoB,CAE/C,KAAK,gBAAgB,2BAA2BA,CAAQ,EACrC,IAAKC,GAAkB,CAC1C,KAAK,gBAAgB,oBAAoBA,EAAc,EAAE,CAC3D,CAAC,CACH,CAEA,MAAM,QAAQ,CAAE,OAAAC,CAAO,EAAiD,CACtE,MAAMC,EAAY,KAAK,kBAAkB,aAAaD,EAAO,SAAS,EAEtE,OAAOE,EAAY,WACjBD,EAAU,SACR,IAAIE,EAA2B,IAAI,MAAM,mBAAmB,CAAC,CAC/D,CACF,EACG,MAAM,MAAOC,GACLA,EAAE,QAAQ,CACf,SAAUJ,EAAO,GACjB,aAAeK,GAAQ,KAAK,uBAAuBA,CAAG,CACxD,CAAC,CACF,EACA,OAAQC,GAAU,CACjB,KAAK,QAAQ,MAAM,6BAA8B,CAC/C,KAAM,CAAE,SAAUN,EAAO,GAAI,MAAAM,CAAM,CACrC,CAAC,CACH,CAAC,EACA,IAAI,MAAOC,GAAoB,CAC9B,MAAMR,EAAgB,IAAIS,EACxB,CAAE,gBAAAD,CAAgB,EAClB,KAAK,eACL,KAAK,YACL,KAAK,cACP,EACA,YAAK,gBAAgB,iBAAiBR,CAAa,EACnD,MAAMA,EAAc,YAAY,EACzBA,EAAc,EACvB,CAAC,EACA,OAAO,CACN,KAAOO,GAAU,CACf,MAAMA,CACR,EACA,MAAQG,GAAMA,CAChB,CAAC,CACL,CACF,EAzEajB,EAANkB,EAAA,CADNC,EAAW,EAUPC,EAAA,EAAAC,EAAOC,EAAiB,gBAAgB,GAExCF,EAAA,EAAAC,EAAOE,EAAmB,oBAAoB,GAE9CH,EAAA,EAAAC,EAAOG,EAAY,6BAA6B,GAEhDJ,EAAA,EAAAC,EAAOI,EAAgB,iBAAiB,GAExCL,EAAA,EAAAC,EAAOK,EAAmB,oBAAoB,IAjBtC1B",
6
- "names": ["inject", "injectable", "EitherAsync", "TransportNotSupportedError", "deviceSessionTypes", "DeviceSession", "loggerTypes", "managerApiTypes", "secureChannelTypes", "transportDiTypes", "ConnectUseCase", "transportService", "sessionService", "loggerFactory", "managerApi", "secureChannel", "deviceId", "deviceSession", "device", "transport", "EitherAsync", "TransportNotSupportedError", "t", "dId", "error", "connectedDevice", "DeviceSession", "s", "__decorateClass", "injectable", "__decorateParam", "inject", "transportDiTypes", "deviceSessionTypes", "loggerTypes", "managerApiTypes", "secureChannelTypes"]
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport { EitherAsync } from \"purify-ts\";\n\nimport { DeviceSessionId } from \"@api/device-session/types\";\nimport { LoggerPublisherService } from \"@api/logger-publisher/service/LoggerPublisherService\";\nimport { DiscoveredDevice } from \"@api/transport/model/DiscoveredDevice\";\nimport { TransportNotSupportedError } from \"@api/transport/model/Errors\";\nimport { DeviceId } from \"@api/types\";\nimport { deviceSessionTypes } from \"@internal/device-session/di/deviceSessionTypes\";\nimport {\n DeviceSession,\n DeviceSessionRefresherOptions,\n} from \"@internal/device-session/model/DeviceSession\";\nimport type { DeviceSessionService } from \"@internal/device-session/service/DeviceSessionService\";\nimport { loggerTypes } from \"@internal/logger-publisher/di/loggerTypes\";\nimport { managerApiTypes } from \"@internal/manager-api/di/managerApiTypes\";\nimport type { ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport type { SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { transportDiTypes } from \"@internal/transport/di/transportDiTypes\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\n/**\n * The arguments for the ConnectUseCase.\n */\nexport type ConnectUseCaseArgs = {\n /**\n * UUID of the device got from device discovery `StartDiscoveringUseCase`\n */\n device: DiscoveredDevice;\n\n /**\n * sessionRefresherOptions - optional\n * isRefresherDisabled - whether the refresher is disabled\n * pollingInterval - optional - the refresh interval in milliseconds\n */\n sessionRefresherOptions?: DeviceSessionRefresherOptions;\n};\n\n/**\n * Connects to a discovered device.\n */\n@injectable()\nexport class ConnectUseCase {\n private readonly _transportService: TransportService;\n private readonly _sessionService: DeviceSessionService;\n private readonly _loggerFactory: (tag: string) => LoggerPublisherService;\n private readonly _managerApi: ManagerApiService;\n private readonly _secureChannel: SecureChannelService;\n private readonly _logger: LoggerPublisherService;\n\n constructor(\n @inject(transportDiTypes.TransportService)\n transportService: TransportService,\n @inject(deviceSessionTypes.DeviceSessionService)\n sessionService: DeviceSessionService,\n @inject(loggerTypes.LoggerPublisherServiceFactory)\n loggerFactory: (tag: string) => LoggerPublisherService,\n @inject(managerApiTypes.ManagerApiService)\n managerApi: ManagerApiService,\n @inject(secureChannelTypes.SecureChannelService)\n secureChannel: SecureChannelService,\n ) {\n this._sessionService = sessionService;\n this._transportService = transportService;\n this._loggerFactory = loggerFactory;\n this._logger = loggerFactory(\"ConnectUseCase\");\n this._managerApi = managerApi;\n this._secureChannel = secureChannel;\n }\n\n private handleDeviceDisconnect(deviceId: DeviceId) {\n const deviceSessionOrError =\n this._sessionService.getDeviceSessionByDeviceId(deviceId);\n deviceSessionOrError.map((deviceSession) => {\n this._sessionService.removeDeviceSession(deviceSession.id);\n });\n }\n\n async execute({\n device,\n sessionRefresherOptions,\n }: ConnectUseCaseArgs): Promise<DeviceSessionId> {\n const transport = this._transportService.getTransport(device.transport);\n\n return EitherAsync.liftEither(\n transport.toEither(\n new TransportNotSupportedError(new Error(\"Unknown transport\")),\n ),\n )\n .chain(async (t) => {\n return t.connect({\n deviceId: device.id,\n onDisconnect: (dId) => this.handleDeviceDisconnect(dId),\n });\n })\n .ifLeft((error) => {\n this._logger.error(\"Error connecting to device\", {\n data: { deviceId: device.id, error },\n });\n })\n .map(async (connectedDevice) => {\n const deviceSession = new DeviceSession(\n { connectedDevice },\n this._loggerFactory,\n this._managerApi,\n this._secureChannel,\n sessionRefresherOptions,\n );\n this._sessionService.addDeviceSession(deviceSession);\n await deviceSession.initialiseSession();\n return deviceSession.id;\n })\n .caseOf({\n Left: (error) => {\n throw error;\n },\n Right: (s) => s,\n });\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAS,eAAAC,MAAmB,YAK5B,OAAS,8BAAAC,MAAkC,8BAE3C,OAAS,sBAAAC,MAA0B,iDACnC,OACE,iBAAAC,MAEK,+CAEP,OAAS,eAAAC,MAAmB,4CAC5B,OAAS,mBAAAC,MAAuB,2CAEhC,OAAS,sBAAAC,MAA0B,iDAEnC,OAAS,oBAAAC,MAAwB,0CAwB1B,IAAMC,EAAN,KAAqB,CACT,kBACA,gBACA,eACA,YACA,eACA,QAEjB,YAEEC,EAEAC,EAEAC,EAEAC,EAEAC,EACA,CACA,KAAK,gBAAkBH,EACvB,KAAK,kBAAoBD,EACzB,KAAK,eAAiBE,EACtB,KAAK,QAAUA,EAAc,gBAAgB,EAC7C,KAAK,YAAcC,EACnB,KAAK,eAAiBC,CACxB,CAEQ,uBAAuBC,EAAoB,CAE/C,KAAK,gBAAgB,2BAA2BA,CAAQ,EACrC,IAAKC,GAAkB,CAC1C,KAAK,gBAAgB,oBAAoBA,EAAc,EAAE,CAC3D,CAAC,CACH,CAEA,MAAM,QAAQ,CACZ,OAAAC,EACA,wBAAAC,CACF,EAAiD,CAC/C,MAAMC,EAAY,KAAK,kBAAkB,aAAaF,EAAO,SAAS,EAEtE,OAAOG,EAAY,WACjBD,EAAU,SACR,IAAIE,EAA2B,IAAI,MAAM,mBAAmB,CAAC,CAC/D,CACF,EACG,MAAM,MAAOC,GACLA,EAAE,QAAQ,CACf,SAAUL,EAAO,GACjB,aAAeM,GAAQ,KAAK,uBAAuBA,CAAG,CACxD,CAAC,CACF,EACA,OAAQC,GAAU,CACjB,KAAK,QAAQ,MAAM,6BAA8B,CAC/C,KAAM,CAAE,SAAUP,EAAO,GAAI,MAAAO,CAAM,CACrC,CAAC,CACH,CAAC,EACA,IAAI,MAAOC,GAAoB,CAC9B,MAAMT,EAAgB,IAAIU,EACxB,CAAE,gBAAAD,CAAgB,EAClB,KAAK,eACL,KAAK,YACL,KAAK,eACLP,CACF,EACA,YAAK,gBAAgB,iBAAiBF,CAAa,EACnD,MAAMA,EAAc,kBAAkB,EAC/BA,EAAc,EACvB,CAAC,EACA,OAAO,CACN,KAAOQ,GAAU,CACf,MAAMA,CACR,EACA,MAAQG,GAAMA,CAChB,CAAC,CACL,CACF,EA7EalB,EAANmB,EAAA,CADNC,EAAW,EAUPC,EAAA,EAAAC,EAAOC,EAAiB,gBAAgB,GAExCF,EAAA,EAAAC,EAAOE,EAAmB,oBAAoB,GAE9CH,EAAA,EAAAC,EAAOG,EAAY,6BAA6B,GAEhDJ,EAAA,EAAAC,EAAOI,EAAgB,iBAAiB,GAExCL,EAAA,EAAAC,EAAOK,EAAmB,oBAAoB,IAjBtC3B",
6
+ "names": ["inject", "injectable", "EitherAsync", "TransportNotSupportedError", "deviceSessionTypes", "DeviceSession", "loggerTypes", "managerApiTypes", "secureChannelTypes", "transportDiTypes", "ConnectUseCase", "transportService", "sessionService", "loggerFactory", "managerApi", "secureChannel", "deviceId", "deviceSession", "device", "sessionRefresherOptions", "transport", "EitherAsync", "TransportNotSupportedError", "t", "dId", "error", "connectedDevice", "DeviceSession", "s", "__decorateClass", "injectable", "__decorateParam", "inject", "transportDiTypes", "deviceSessionTypes", "loggerTypes", "managerApiTypes", "secureChannelTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Left as d,Maybe as D,Right as s}from"purify-ts";import{TransportMock as y}from"../../../api/transport/model/__mocks__/TransportMock";import{DisconnectError as v}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as h}from"../../../api/transport/model/TransportConnectedDevice.stub";import{deviceSessionStubBuilder as u}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as C}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as w}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as g}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as k}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as T}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as x}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as M}from"../../transport/service/DefaultTransportService";import{DisconnectUseCase as a}from"./DisconnectUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let e,p,c=[];const r=vi.fn().mockReturnValue(new g([],"DisconnectUseCaseTest"));let i,m,S,f,l;const n="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new y,c=[p],e=new w(r),i=new M,vi.spyOn(i,"getTransport").mockReturnValue(D.of(p))}),it("should disconnect from a device",async()=>{const t=h();S=new k({}),m=new A(S),f=new T({}),l=new x(f);const o=u({id:n,connectedDevice:t},r,m,l);vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(o)),vi.spyOn(o,"close"),vi.spyOn(e,"removeDeviceSession"),vi.spyOn(c[0],"disconnect").mockImplementation(()=>Promise.resolve(s(void 0))),await new a(i,e,r).execute({sessionId:n}),expect(o.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(n),expect(c[0].disconnect).toHaveBeenCalledWith({connectedDevice:t})}),it("should throw an error when deviceSession not found",async()=>{const t=new a(i,e,r);try{await t.execute({sessionId:n})}catch(o){expect(o).toStrictEqual(new C)}}),it("should throw an error if usb hid disconnection fails",async()=>{vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(u({id:n},r,m,l))),vi.spyOn(c[0],"disconnect").mockResolvedValue(d(new v));const t=new a(i,e,r);try{await t.execute({sessionId:n})}catch(o){expect(o).toStrictEqual(new v)}})});
1
+ import{Left as D,Maybe as y,Right as s}from"purify-ts";import{TransportMock as C}from"../../../api/transport/model/__mocks__/TransportMock";import{DisconnectError as S}from"../../../api/transport/model/Errors";import{connectedDeviceStubBuilder as h}from"../../../api/transport/model/TransportConnectedDevice.stub";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as u}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as v}from"../../device-session/model/DeviceSession.stub";import{DeviceSessionNotFound as w}from"../../device-session/model/Errors";import{DefaultDeviceSessionService as g}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as T}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as k}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as A}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as E}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as I}from"../../secure-channel/service/DefaultSecureChannelService";import{DefaultTransportService as O}from"../../transport/service/DefaultTransportService";import{DisconnectUseCase as a}from"./DisconnectUseCase";vi.mock("@internal/transport/service/DefaultTransportService");let e,p,c=[];const r=vi.fn().mockReturnValue(new T([],"DisconnectUseCaseTest"));let i,m,f,d,l;const n="sessionId";describe("DisconnectUseCase",()=>{beforeAll(()=>{p=new C,c=[p],e=new g(r),i=new O,vi.spyOn(i,"getTransport").mockReturnValue(y.of(p))}),it("should disconnect from a device",async()=>{const t=h();f=new k({}),m=new A(f),d=new E({}),l=new I(d);const o=v({id:n,connectedDevice:t},r,m,l,u);vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(o)),vi.spyOn(o,"close"),vi.spyOn(e,"removeDeviceSession"),vi.spyOn(c[0],"disconnect").mockImplementation(()=>Promise.resolve(s(void 0))),await new a(i,e,r).execute({sessionId:n}),expect(o.close).toHaveBeenCalled(),expect(e.removeDeviceSession).toHaveBeenCalledWith(n),expect(c[0].disconnect).toHaveBeenCalledWith({connectedDevice:t})}),it("should throw an error when deviceSession not found",async()=>{const t=new a(i,e,r);try{await t.execute({sessionId:n})}catch(o){expect(o).toStrictEqual(new w)}}),it("should throw an error if usb hid disconnection fails",async()=>{vi.spyOn(e,"getDeviceSessionById").mockImplementation(()=>s(v({id:n},r,m,l,u))),vi.spyOn(c[0],"disconnect").mockResolvedValue(D(new S));const t=new a(i,e,r);try{await t.execute({sessionId:n})}catch(o){expect(o).toStrictEqual(new S)}})});
2
2
  //# sourceMappingURL=DisconnectUseCase.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/discovery/use-case/DisconnectUseCase.test.ts"],
4
- "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = vi\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n secureChannel,\n );\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(deviceSession),\n );\n vi.spyOn(deviceSession, \"close\");\n vi.spyOn(sessionService, \"removeDeviceSession\");\n vi.spyOn(transports[0]!, \"disconnect\").mockImplementation(() =>\n Promise.resolve(Right(void 0)),\n );\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n secureChannel,\n ),\n ),\n );\n\n vi.spyOn(transports[0]!, \"disconnect\").mockResolvedValue(\n Left(new DisconnectError()),\n );\n\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["Left", "Maybe", "Right", "TransportMock", "DisconnectError", "connectedDeviceStubBuilder", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
4
+ "sourcesContent": ["import { Left, Maybe, Right } from \"purify-ts\";\n\nimport { TransportMock } from \"@api/transport/model/__mocks__/TransportMock\";\nimport { DisconnectError } from \"@api/transport/model/Errors\";\nimport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nimport type { DmkConfig, Transport } from \"@api/types\";\nimport { DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS } from \"@internal/device-session/data/DeviceSessionRefresherConst\";\nimport { deviceSessionStubBuilder } from \"@internal/device-session/model/DeviceSession.stub\";\nimport { DeviceSessionNotFound } from \"@internal/device-session/model/Errors\";\nimport { DefaultDeviceSessionService } from \"@internal/device-session/service/DefaultDeviceSessionService\";\nimport { DefaultLoggerPublisherService } from \"@internal/logger-publisher/service/DefaultLoggerPublisherService\";\nimport { AxiosManagerApiDataSource } from \"@internal/manager-api/data/AxiosManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"@internal/manager-api/data/ManagerApiDataSource\";\nimport { DefaultManagerApiService } from \"@internal/manager-api/service/DefaultManagerApiService\";\nimport { type ManagerApiService } from \"@internal/manager-api/service/ManagerApiService\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { type SecureChannelService } from \"@internal/secure-channel/service/SecureChannelService\";\nimport { DefaultTransportService } from \"@internal/transport/service/DefaultTransportService\";\nimport { type TransportService } from \"@internal/transport/service/TransportService\";\n\nimport { DisconnectUseCase } from \"./DisconnectUseCase\";\n\nvi.mock(\"@internal/transport/service/DefaultTransportService\");\n\nlet sessionService: DefaultDeviceSessionService;\n// TODO test several transports\nlet transport: Transport;\nlet transports: Transport[] = [];\nconst loggerFactory = vi\n .fn()\n .mockReturnValue(\n new DefaultLoggerPublisherService([], \"DisconnectUseCaseTest\"),\n );\nlet transportService: TransportService;\nlet managerApi: ManagerApiService;\nlet managerApiDataSource: ManagerApiDataSource;\nlet secureChannelDataSource: SecureChannelDataSource;\nlet secureChannel: SecureChannelService;\n\nconst sessionId = \"sessionId\";\n\ndescribe(\"DisconnectUseCase\", () => {\n beforeAll(() => {\n transport = new TransportMock();\n transports = [transport];\n sessionService = new DefaultDeviceSessionService(loggerFactory);\n // @ts-expect-error mock\n transportService = new DefaultTransportService();\n vi.spyOn(transportService, \"getTransport\").mockReturnValue(\n Maybe.of(transport),\n );\n });\n\n it(\"should disconnect from a device\", async () => {\n // Given\n const connectedDevice = connectedDeviceStubBuilder();\n managerApiDataSource = new AxiosManagerApiDataSource({} as DmkConfig);\n managerApi = new DefaultManagerApiService(managerApiDataSource);\n secureChannelDataSource = new DefaultSecureChannelDataSource(\n {} as DmkConfig,\n );\n secureChannel = new DefaultSecureChannelService(secureChannelDataSource);\n const deviceSession = deviceSessionStubBuilder(\n {\n id: sessionId,\n connectedDevice,\n },\n loggerFactory,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n );\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(deviceSession),\n );\n vi.spyOn(deviceSession, \"close\");\n vi.spyOn(sessionService, \"removeDeviceSession\");\n vi.spyOn(transports[0]!, \"disconnect\").mockImplementation(() =>\n Promise.resolve(Right(undefined)),\n );\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n // When\n await disconnectUseCase.execute({ sessionId });\n\n // Then\n expect(deviceSession.close).toHaveBeenCalled();\n expect(sessionService.removeDeviceSession).toHaveBeenCalledWith(sessionId);\n expect(transports[0]!.disconnect).toHaveBeenCalledWith({\n connectedDevice,\n });\n });\n\n it(\"should throw an error when deviceSession not found\", async () => {\n // Given\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DeviceSessionNotFound());\n }\n });\n\n it(\"should throw an error if usb hid disconnection fails\", async () => {\n // Given\n vi.spyOn(sessionService, \"getDeviceSessionById\").mockImplementation(() =>\n Right(\n deviceSessionStubBuilder(\n { id: sessionId },\n loggerFactory,\n managerApi,\n secureChannel,\n DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS,\n ),\n ),\n );\n\n vi.spyOn(transports[0]!, \"disconnect\").mockResolvedValue(\n Left(new DisconnectError()),\n );\n\n const disconnectUseCase = new DisconnectUseCase(\n transportService,\n sessionService,\n loggerFactory,\n );\n\n // When\n try {\n await disconnectUseCase.execute({ sessionId });\n } catch (e) {\n // Then\n expect(e).toStrictEqual(new DisconnectError());\n }\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Left", "Maybe", "Right", "TransportMock", "DisconnectError", "connectedDeviceStubBuilder", "DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS", "deviceSessionStubBuilder", "DeviceSessionNotFound", "DefaultDeviceSessionService", "DefaultLoggerPublisherService", "AxiosManagerApiDataSource", "DefaultManagerApiService", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "DefaultTransportService", "DisconnectUseCase", "sessionService", "transport", "transports", "loggerFactory", "transportService", "managerApi", "managerApiDataSource", "secureChannelDataSource", "secureChannel", "sessionId", "connectedDevice", "deviceSession", "disconnectUseCase", "e"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ConnectedDevice as s}from"../../../api/transport/model/ConnectedDevice";import{deviceSessionStubBuilder as a}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as v}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as f}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as l}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as d}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as D}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as g}from"../../secure-channel/service/DefaultSecureChannelService";import{GetConnectedDeviceUseCase as m}from"./GetConnectedDeviceUseCase";vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let r,o,S,t,p,c;const i="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{r=new f([],"get-connected-device-use-case"),S=new l({}),t=new d(S),p=new D({}),c=new g(p),o=new v(()=>r)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=a({id:i},()=>r,t,c);o.addDeviceSession(e);const n=new m(o,()=>r).execute({sessionId:i});e.close(),expect(n).toBeInstanceOf(s)}),it("should retrieve correct device from session",()=>{const e=a({id:i},()=>r,t,c);o.addDeviceSession(e);const n=new m(o,()=>r).execute({sessionId:i});e.close(),expect(n).toStrictEqual(new s({sessionId:i,transportConnectedDevice:e.connectedDevice}))})});
1
+ import{ConnectedDevice as s}from"../../../api/transport/model/ConnectedDevice";import{DEVICE_SESSION_REFRESHER_DEFAULT_OPTIONS as a}from"../../device-session/data/DeviceSessionRefresherConst";import{deviceSessionStubBuilder as S}from"../../device-session/model/DeviceSession.stub";import{DefaultDeviceSessionService as f}from"../../device-session/service/DefaultDeviceSessionService";import{DefaultLoggerPublisherService as l}from"../../logger-publisher/service/DefaultLoggerPublisherService";import{AxiosManagerApiDataSource as D}from"../../manager-api/data/AxiosManagerApiDataSource";import{DefaultManagerApiService as d}from"../../manager-api/service/DefaultManagerApiService";import{DefaultSecureChannelDataSource as g}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as C}from"../../secure-channel/service/DefaultSecureChannelService";import{GetConnectedDeviceUseCase as m}from"./GetConnectedDeviceUseCase";vi.mock("@internal/manager-api/data/AxiosManagerApiDataSource");let r,o,p,t,u,c;const i="fakeSessionId";describe("GetConnectedDevice",()=>{beforeEach(()=>{r=new l([],"get-connected-device-use-case"),p=new D({}),t=new d(p),u=new g({}),c=new C(u),o=new f(()=>r)}),it("should retrieve an instance of ConnectedDevice",()=>{const e=S({id:i},()=>r,t,c,a);o.addDeviceSession(e);const n=new m(o,()=>r).execute({sessionId:i});e.close(),expect(n).toBeInstanceOf(s)}),it("should retrieve correct device from session",()=>{const e=S({id:i},()=>r,t,c,a);o.addDeviceSession(e);const n=new m(o,()=>r).execute({sessionId:i});e.close(),expect(n).toStrictEqual(new s({sessionId:i,transportConnectedDevice:e.connectedDevice}))})});
2
2
  //# sourceMappingURL=GetConnectedDeviceUseCase.test.js.map