@ledgerhq/device-management-kit 1.9.0 → 1.10.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 (108) hide show
  1. package/README.md +21 -0
  2. package/lib/cjs/package.json +1 -1
  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/command/os/GetOsVersionCommand.js +1 -1
  8. package/lib/cjs/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  9. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  10. package/lib/cjs/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  11. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js +1 -1
  12. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.js.map +3 -3
  13. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js +1 -1
  14. package/lib/cjs/src/api/command/os/SecureElementFlagsParser.test.js.map +3 -3
  15. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  16. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +3 -3
  17. package/lib/cjs/src/api/device/SecureElementFlags.js +1 -1
  18. package/lib/cjs/src/api/device/SecureElementFlags.js.map +3 -3
  19. package/lib/cjs/src/api/index.js +1 -1
  20. package/lib/cjs/src/api/index.js.map +3 -3
  21. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
  22. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +3 -3
  23. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
  24. package/lib/cjs/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +3 -3
  25. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  26. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  27. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  28. package/lib/cjs/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  29. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js +1 -1
  30. package/lib/cjs/src/internal/secure-channel/data/SecureChannelDataSource.js.map +1 -1
  31. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +1 -1
  32. package/lib/cjs/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +2 -2
  33. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  34. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  35. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  36. package/lib/cjs/src/internal/secure-channel/di/secureChannelModule.test.js.map +3 -3
  37. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js +1 -1
  38. package/lib/cjs/src/internal/secure-channel/di/secureChannelTypes.js.map +2 -2
  39. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js +2 -0
  40. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js.map +7 -0
  41. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js +2 -0
  42. package/lib/cjs/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js.map +7 -0
  43. package/lib/esm/package.json +1 -1
  44. package/lib/esm/src/api/DeviceManagementKit.js +1 -1
  45. package/lib/esm/src/api/DeviceManagementKit.js.map +3 -3
  46. package/lib/esm/src/api/DeviceManagementKit.test.js +1 -1
  47. package/lib/esm/src/api/DeviceManagementKit.test.js.map +3 -3
  48. package/lib/esm/src/api/command/os/GetOsVersionCommand.js +1 -1
  49. package/lib/esm/src/api/command/os/GetOsVersionCommand.js.map +3 -3
  50. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js +1 -1
  51. package/lib/esm/src/api/command/os/GetOsVersionCommand.test.js.map +3 -3
  52. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js +1 -1
  53. package/lib/esm/src/api/command/os/SecureElementFlagsParser.js.map +3 -3
  54. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js +1 -1
  55. package/lib/esm/src/api/command/os/SecureElementFlagsParser.test.js.map +3 -3
  56. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  57. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +3 -3
  58. package/lib/esm/src/api/device/SecureElementFlags.js +1 -0
  59. package/lib/esm/src/api/device/SecureElementFlags.js.map +4 -4
  60. package/lib/esm/src/api/index.js +1 -1
  61. package/lib/esm/src/api/index.js.map +3 -3
  62. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js +1 -1
  63. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.js.map +3 -3
  64. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js +1 -1
  65. package/lib/esm/src/internal/manager-api/data/HttpManagerApiDataSource.test.js.map +3 -3
  66. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js +1 -1
  67. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.js.map +2 -2
  68. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js +1 -1
  69. package/lib/esm/src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.js.map +2 -2
  70. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js +1 -1
  71. package/lib/esm/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.js.map +2 -2
  72. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js +1 -1
  73. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.js.map +3 -3
  74. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js +1 -1
  75. package/lib/esm/src/internal/secure-channel/di/secureChannelModule.test.js.map +3 -3
  76. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js +1 -1
  77. package/lib/esm/src/internal/secure-channel/di/secureChannelTypes.js.map +2 -2
  78. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js +2 -0
  79. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.js.map +7 -0
  80. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js +2 -0
  81. package/lib/esm/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.js.map +7 -0
  82. package/lib/types/src/api/DeviceManagementKit.d.ts +10 -0
  83. package/lib/types/src/api/DeviceManagementKit.d.ts.map +1 -1
  84. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts +2 -2
  85. package/lib/types/src/api/command/os/GetOsVersionCommand.d.ts.map +1 -1
  86. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts +0 -3
  87. package/lib/types/src/api/command/os/SecureElementFlagsParser.d.ts.map +1 -1
  88. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  89. package/lib/types/src/api/device/SecureElementFlags.d.ts +78 -3
  90. package/lib/types/src/api/device/SecureElementFlags.d.ts.map +1 -1
  91. package/lib/types/src/api/index.d.ts +2 -1
  92. package/lib/types/src/api/index.d.ts.map +1 -1
  93. package/lib/types/src/internal/manager-api/data/HttpManagerApiDataSource.d.ts.map +1 -1
  94. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts +3 -1
  95. package/lib/types/src/internal/secure-channel/data/DefaultSecureChannelDataSource.d.ts.map +1 -1
  96. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts +10 -0
  97. package/lib/types/src/internal/secure-channel/data/SecureChannelDataSource.d.ts.map +1 -1
  98. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts +2 -0
  99. package/lib/types/src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.d.ts.map +1 -1
  100. package/lib/types/src/internal/secure-channel/di/secureChannelModule.d.ts.map +1 -1
  101. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts +1 -0
  102. package/lib/types/src/internal/secure-channel/di/secureChannelTypes.d.ts.map +1 -1
  103. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.d.ts +10 -0
  104. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.d.ts.map +1 -0
  105. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.d.ts +2 -0
  106. package/lib/types/src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.d.ts.map +1 -0
  107. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  108. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/manager-api/data/HttpManagerApiDataSource.test.ts"],
4
- "sourcesContent": ["import { Just, Left, Nothing, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { HttpManagerApiDataSource } from \"./HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\ndescribe(\"HttpManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, ETH_APP_METADATA];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n const { versionId, ...rest } = BTC_APP_METADATA;\n const apps = [{ versionId: \"invalidVersion\", ...rest }];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([BTC_APP_METADATA])),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([])),\n );\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n ),\n );\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should fail if payload don't match the dto\", async () => {\n const { versionId, ...rest } = BTC_APP_METADATA;\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([{ versionId: \"invalidVersion\", ...rest }]),\n ),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps.isRight()).toEqual(false);\n });\n\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 17,\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right({ id: 17 }));\n });\n\n it(\"should return an error if payload don't match dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"setProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 1,\n } as DmkConfig);\n });\n\n it(\"should not change the provider if the new value is the same\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(initialProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should not change the provider if the new value is less than 1\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(0); // invalid\n api.setProvider(-5); // invalid\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should update the provider if a valid and different value is provided\", () => {\n // given\n const newProvider = 2;\n\n // when\n api.setProvider(newProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n newProvider,\n );\n });\n });\n\n describe(\"getFirmwareVersionById\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersionById(42);\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the latest firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right(\n Just({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n ),\n );\n });\n\n it(\"should return nothing when no latest firmware version is available\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"null\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(Nothing));\n });\n\n it(\"should return an error if result is not success\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"failed\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: \"InvalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete OSU firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the langage packages version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n language_package_id: 57,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 20800,\n date_creation: \"2025-03-04T10:48:27.910630Z\",\n date_last_modified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n language_package_id: 56,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 46592,\n date_creation: \"2025-03-04T10:48:26.218729Z\",\n date_last_modified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n languagePackageId: 57,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n bytes: 20800,\n dateCreation: \"2025-03-04T10:48:27.910630Z\",\n dateLastModified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n languagePackageId: 56,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n bytes: 46592,\n dateCreation: \"2025-03-04T10:48:26.218729Z\",\n dateLastModified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n version: \"0.0.4\",\n language_package_id: \"invalid\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getMcuList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the list of MCUs\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: 1,\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [1],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n {\n id: 2,\n mcu: 1,\n name: \"1.1\",\n description: null,\n providers: [1, 2],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.339966Z\",\n date_last_modified: \"2018-09-20T13:30:50.340031Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(\n Right([\n {\n id: 1,\n name: \"1.0\",\n fromBootloaderVersion: \"1.0\",\n providers: [1],\n },\n {\n id: 2,\n name: \"1.1\",\n fromBootloaderVersion: \"1.0\",\n providers: [1, 2],\n },\n ]),\n );\n });\n\n it(\"should return an error when the payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: \"invalid id\",\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should return the initial provider\", () => {\n expect(api.getProvider()).toBe(123);\n });\n\n it(\"should return the updated provider after setProvider is called\", () => {\n api.setProvider(321);\n expect(api.getProvider()).toBe(321);\n });\n });\n});\n"],
5
- "mappings": "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",
6
- "names": ["Just", "Left", "Nothing", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "ETH_APP_METADATA", "HttpFetchApiError", "HttpManagerApiDataSource", "api", "apps", "response", "versionId", "rest", "error", "hashes", "err", "initialProvider"]
4
+ "sourcesContent": ["import { Just, Left, Nothing, Right } from \"purify-ts\";\n\nimport {\n BTC_APP,\n BTC_APP_METADATA,\n CUSTOM_LOCK_SCREEN_APP,\n CUSTOM_LOCK_SCREEN_APP_METADATA,\n ETH_APP_METADATA,\n} from \"@api/device-action/__test-utils__/data\";\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { HttpFetchApiError } from \"@internal/manager-api/model/Errors\";\n\nimport { HttpManagerApiDataSource } from \"./HttpManagerApiDataSource\";\nimport { type ManagerApiDataSource } from \"./ManagerApiDataSource\";\n\ndescribe(\"HttpManagerApiDataSource\", () => {\n describe(\"getAppList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a list of applications\", async () => {\n // given\n const apps = [BTC_APP_METADATA, ETH_APP_METADATA];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Right(apps));\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n const { versionId, ...rest } = BTC_APP_METADATA;\n const apps = [{ versionId: \"invalidVersion\", ...rest }];\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify(apps)),\n );\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getAppList({\n targetId: \"targetId\",\n firmwareVersionName: \"firmwareVersionName\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getAppsByHash\", () => {\n describe(\"success cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([BTC_APP_METADATA])),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([BTC_APP_METADATA]));\n });\n\n it(\"with no apps, should return an empty list\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(JSON.stringify([])),\n );\n\n const hashes: string[] = [];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(Right([]));\n });\n\n it(\"with BTC app and custom lock screen, should return the metadata\", async () => {\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n ),\n );\n\n const hashes = [\n BTC_APP.appFullHash,\n CUSTOM_LOCK_SCREEN_APP.appFullHash,\n ];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps).toEqual(\n Right([BTC_APP_METADATA, CUSTOM_LOCK_SCREEN_APP_METADATA]),\n );\n });\n });\n\n describe(\"error cases\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"with BTC app, should fail if payload don't match the dto\", async () => {\n const { versionId, ...rest } = BTC_APP_METADATA;\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([{ versionId: \"invalidVersion\", ...rest }]),\n ),\n );\n\n const hashes = [BTC_APP.appFullHash];\n\n const apps = await api.getAppsByHash({ hashes });\n\n expect(apps.isRight()).toEqual(false);\n });\n\n it(\"should throw an error if the request fails\", async () => {\n // given\n const api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n\n const err = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(err);\n\n const hashes = [BTC_APP.appFullHash];\n\n // when\n const response = await api.getAppsByHash({ hashes });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(err)));\n });\n });\n });\n\n describe(\"getDeviceVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete device version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 17,\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Right({ id: 17 }));\n });\n\n it(\"should return an error if payload don't match dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n target_id: \"857735172\",\n }),\n ),\n );\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getDeviceVersion({\n targetId: \"targetId\",\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"setProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 1,\n } as DmkConfig);\n });\n\n it(\"should not change the provider if the new value is the same\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(initialProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should not change the provider if the new value is less than 1\", () => {\n // given\n const initialProvider = (api as unknown as { _provider: number })\n ._provider;\n\n // when\n api.setProvider(0); // invalid\n api.setProvider(-5); // invalid\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n initialProvider,\n );\n });\n\n it(\"should update the provider if a valid and different value is provided\", () => {\n // given\n const newProvider = 2;\n\n // when\n api.setProvider(newProvider);\n\n // then\n expect((api as unknown as { _provider: number })._provider).toBe(\n newProvider,\n );\n });\n });\n\n describe(\"getFirmwareVersionById\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmware_key: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcu_versions: [1, 5, 7],\n }),\n ),\n );\n\n // when\n const response = await api.getFirmwareVersionById(42);\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n version: \"1.6.0\",\n perso: \"perso_11\",\n firmware: null,\n firmwareKey: \"testKey\",\n hash: \"hash\",\n bytes: 194,\n mcuVersions: [1, 5, 7],\n }),\n );\n });\n });\n\n describe(\"getLatestFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the latest firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right(\n Just({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n ),\n );\n });\n\n it(\"should return nothing when no latest firmware version is available\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"null\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Right(Nothing));\n });\n\n it(\"should return an error if result is not success\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"failed\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"success\",\n se_firmware_osu_version: {\n id: \"InvalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n },\n }),\n ),\n );\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n it(\"should request the firmware params without the legacy livecommonversion param\", async () => {\n // given\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n provider: 82,\n firmwareDistributionSalt: \"distribution-salt\",\n } as DmkConfig);\n const fetchSpy = vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n result: \"null\",\n se_firmware_osu_version: null,\n }),\n ),\n );\n\n // when\n await api.getLatestFirmwareVersion({\n currentFinalFirmwareId: 200,\n deviceId: 42,\n });\n\n // then\n const requestUrl = new URL(String(fetchSpy.mock.calls[0]![0]));\n expect(requestUrl.pathname).toEqual(\"/get_latest_firmware\");\n expect(requestUrl.searchParams.has(\"livecommonversion\")).toEqual(false);\n expect(Object.fromEntries(requestUrl.searchParams)).toEqual({\n current_se_firmware_final_version: \"200\",\n device_version: \"42\",\n provider: \"82\",\n salt: \"distribution-salt\",\n });\n });\n });\n\n describe(\"getOsuFirmwareVersion\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return a complete OSU firmware version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right({\n id: 361,\n perso: \"perso_11\",\n notes: \"notes\",\n firmware: \"test\",\n firmwareKey: \"testKey\",\n hash: \"hash\",\n nextFinalFirmware: 567,\n }),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify({\n id: \"invalidId\",\n perso: \"perso_11\",\n firmware: \"test\",\n firmware_key: \"testKey\",\n hash: \"hash\",\n next_se_firmware_final_version: 567,\n }),\n ),\n );\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getOsuFirmwareVersion({\n version: \"versionName\",\n deviceId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getLanguagePackages\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the langage packages version\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n language_package_id: 57,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 20800,\n date_creation: \"2025-03-04T10:48:27.910630Z\",\n date_last_modified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n language_package_id: 56,\n apdu_install_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apdu_uninstall_url:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n device_versions: [17],\n se_firmware_final_versions: [432],\n bytes: 46592,\n date_creation: \"2025-03-04T10:48:26.218729Z\",\n date_last_modified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(\n Right([\n {\n language: \"turkish\",\n languagePackageVersionId: 474,\n version: \"0.0.4\",\n languagePackageId: 57,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/turkish/bolos_1.6.2_pack_0.0.4_tr_del.apdu\",\n bytes: 20800,\n dateCreation: \"2025-03-04T10:48:27.910630Z\",\n dateLastModified: \"2025-03-04T10:48:27.910630Z\",\n },\n {\n language: \"russian\",\n languagePackageVersionId: 470,\n version: \"0.0.4\",\n languagePackageId: 56,\n apduInstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru.apdu\",\n apduUninstallUrl:\n \"https://download.languages.ledger.com/stax/russian/bolos_1.6.2_pack_0.0.4_ru_del.apdu\",\n bytes: 46592,\n dateCreation: \"2025-03-04T10:48:26.218729Z\",\n dateLastModified: \"2025-03-04T10:48:26.218729Z\",\n },\n ]),\n );\n });\n it(\"should return an error if payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n language: \"turkish\",\n version: \"0.0.4\",\n language_package_id: \"invalid\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getLanguagePackages({\n deviceId: 1,\n currentFinalFirmwareId: 42,\n });\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n\n describe(\"getMcuList\", () => {\n let api: ManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://localhost\",\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n it(\"should return the list of MCUs\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: 1,\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [1],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n {\n id: 2,\n mcu: 1,\n name: \"1.1\",\n description: null,\n providers: [1, 2],\n device_versions: [1, 2],\n from_bootloader_version: \"1.0\",\n from_bootloader_version_id: 2,\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.339966Z\",\n date_last_modified: \"2018-09-20T13:30:50.340031Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(\n Right([\n {\n id: 1,\n name: \"1.0\",\n fromBootloaderVersion: \"1.0\",\n providers: [1],\n },\n {\n id: 2,\n name: \"1.1\",\n fromBootloaderVersion: \"1.0\",\n providers: [1, 2],\n },\n ]),\n );\n });\n\n it(\"should return an error when the payload don't match the dto\", async () => {\n // given\n vi.spyOn(globalThis, \"fetch\").mockResolvedValue(\n new Response(\n JSON.stringify([\n {\n id: \"invalid id\",\n mcu: 1,\n name: \"1.0\",\n description: null,\n providers: [],\n se_firmware_final_versions: [7, 12, 13, 14, 15],\n date_creation: \"2018-09-20T13:30:50.156394Z\",\n date_last_modified: \"2018-09-20T13:30:50.156453Z\",\n },\n ]),\n ),\n );\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response.isRight()).toEqual(false);\n });\n\n it(\"should return an error if the request fails\", async () => {\n // given\n const error = new Error(\"fetch error\");\n vi.spyOn(globalThis, \"fetch\").mockRejectedValue(error);\n\n // when\n const response = await api.getMcuList();\n\n // then\n expect(response).toEqual(Left(new HttpFetchApiError(error)));\n });\n });\n describe(\"getProvider\", () => {\n let api: HttpManagerApiDataSource;\n beforeEach(() => {\n api = new HttpManagerApiDataSource({\n managerApiUrl: \"http://fake-url.com\",\n provider: 123,\n } as DmkConfig);\n });\n afterEach(() => {\n vi.restoreAllMocks();\n });\n\n it(\"should return the initial provider\", () => {\n expect(api.getProvider()).toBe(123);\n });\n\n it(\"should return the updated provider after setProvider is called\", () => {\n api.setProvider(321);\n expect(api.getProvider()).toBe(321);\n });\n });\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["Just", "Left", "Nothing", "Right", "BTC_APP", "BTC_APP_METADATA", "CUSTOM_LOCK_SCREEN_APP", "CUSTOM_LOCK_SCREEN_APP_METADATA", "ETH_APP_METADATA", "HttpFetchApiError", "HttpManagerApiDataSource", "api", "apps", "response", "versionId", "rest", "error", "hashes", "err", "initialProvider", "fetchSpy", "requestUrl"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var b=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var l=(n,e,t,o)=>{for(var r=o>1?void 0:o?m(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(r=(o?a(e,t,r):a(r))||r);return o&&r&&b(e,t,r),r},p=(n,e)=>(t,o)=>e(t,o,n);import{inject as k,injectable as S}from"inversify";import h from"isomorphic-ws";import{Left as d,Right as u}from"purify-ts";import{buildUrl as s}from"../../../api/network/DmkNetworkClientHelpers";import{secureChannelTypes as W}from"../../secure-channel/di/secureChannelTypes";import{WebSocketConnectionError as U}from"../../secure-channel/model/Errors";let c=class{webSocketBaseUrl;constructor({webSocketUrl:e}){this.webSocketBaseUrl=e}genuineCheck(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/genuine",params:e});return this._connectWebSocket(t)}installApp(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}listInstalledApps(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/apps/list",params:e});return this._connectWebSocket(t)}uninstallApp(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}updateFirmware(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}updateMcu(e){const t=s({baseUrl:this.webSocketBaseUrl,url:"/mcu",params:e});return this._connectWebSocket(t)}_connectWebSocket(e){try{return u(new h(e))}catch(t){return d(new U(t))}}};c=l([S(),p(0,k(W.DmkConfig))],c);export{c as DefaultSecureChannelDataSource};
1
+ var k=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var l=(n,e,t,s)=>{for(var r=s>1?void 0:s?p(e,t):e,i=n.length-1,a;i>=0;i--)(a=n[i])&&(r=(s?a(e,t,r):a(r))||r);return s&&r&&k(e,t,r),r},b=(n,e)=>(t,s)=>e(t,s,n);import{inject as m,injectable as S}from"inversify";import h from"isomorphic-ws";import{Left as u,Right as W}from"purify-ts";import{buildUrl as o}from"../../../api/network/DmkNetworkClientHelpers";import{secureChannelTypes as U}from"../../secure-channel/di/secureChannelTypes";import{WebSocketConnectionError as d}from"../../secure-channel/model/Errors";let c=class{webSocketBaseUrl;constructor({webSocketUrl:e}){this.webSocketBaseUrl=e}setWebSocketUrl(e){this.webSocketBaseUrl===e||e.length===0||(this.webSocketBaseUrl=e)}getWebSocketUrl(){return this.webSocketBaseUrl}genuineCheck(e){const t=o({baseUrl:this.webSocketBaseUrl,url:"/genuine",params:e});return this._connectWebSocket(t)}installApp(e){const t=o({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}listInstalledApps(e){const t=o({baseUrl:this.webSocketBaseUrl,url:"/apps/list",params:e});return this._connectWebSocket(t)}uninstallApp(e){const t=o({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}updateFirmware(e){const t=o({baseUrl:this.webSocketBaseUrl,url:"/install",params:e});return this._connectWebSocket(t)}updateMcu(e){const t=o({baseUrl:this.webSocketBaseUrl,url:"/mcu",params:e});return this._connectWebSocket(t)}_connectWebSocket(e){try{return W(new h(e))}catch(t){return u(new d(t))}}};c=l([S(),b(0,m(U.DmkConfig))],c);export{c as DefaultSecureChannelDataSource};
2
2
  //# sourceMappingURL=DefaultSecureChannelDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/data/DefaultSecureChannelDataSource.ts"],
4
- "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { buildUrl } from \"@api/network/DmkNetworkClientHelpers\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\nimport {\n GenuineCheckParams,\n InstallAppsParams,\n ListInstalledAppsParams,\n UninstallAppsParams,\n UpdateFirmwareParams,\n UpdateMcuParams,\n} from \"@internal/secure-channel/model/Params\";\n\nimport { SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\n@injectable()\nexport class DefaultSecureChannelDataSource implements SecureChannelDataSource {\n private readonly webSocketBaseUrl: string;\n\n constructor(\n @inject(secureChannelTypes.DmkConfig)\n { webSocketUrl }: DmkConfig,\n ) {\n this.webSocketBaseUrl = webSocketUrl;\n }\n\n genuineCheck(\n params: GenuineCheckParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/genuine\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n installApp(\n params: InstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n listInstalledApps(\n params: ListInstalledAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/apps/list\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n uninstallApp(\n params: UninstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n updateFirmware(\n params: UpdateFirmwareParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n updateMcu(\n params: UpdateMcuParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/mcu\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n _connectWebSocket(\n address: string,\n ): Either<WebSocketConnectionError, WebSocket> {\n try {\n return Right(new WebSocket(address));\n } catch (error) {\n return Left(new WebSocketConnectionError(error));\n }\n }\n}\n"],
5
- "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAOC,MAAe,gBACtB,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAGpC,OAAS,YAAAC,MAAgB,uCACzB,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,4BAAAC,MAAgC,wCAalC,IAAMC,EAAN,KAAwE,CAC5D,iBAEjB,YAEE,CAAE,aAAAC,CAAa,EACf,CACA,KAAK,iBAAmBA,CAC1B,CAEA,aACEC,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,WACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,aACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,aACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,eACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,UACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,OACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACEA,EAC6C,CAC7C,GAAI,CACF,OAAOE,EAAM,IAAIC,EAAUH,CAAO,CAAC,CACrC,OAASI,EAAO,CACd,OAAOC,EAAK,IAAIC,EAAyBF,CAAK,CAAC,CACjD,CACF,CACF,EArFaP,EAANU,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,SAAS,IAJ3Bd",
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\nimport WebSocket from \"isomorphic-ws\";\nimport { Either, Left, Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { buildUrl } from \"@api/network/DmkNetworkClientHelpers\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\nimport {\n GenuineCheckParams,\n InstallAppsParams,\n ListInstalledAppsParams,\n UninstallAppsParams,\n UpdateFirmwareParams,\n UpdateMcuParams,\n} from \"@internal/secure-channel/model/Params\";\n\nimport { SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\n@injectable()\nexport class DefaultSecureChannelDataSource implements SecureChannelDataSource {\n private webSocketBaseUrl: string;\n\n constructor(\n @inject(secureChannelTypes.DmkConfig)\n { webSocketUrl }: DmkConfig,\n ) {\n this.webSocketBaseUrl = webSocketUrl;\n }\n\n setWebSocketUrl(webSocketUrl: string): void {\n if (this.webSocketBaseUrl === webSocketUrl || webSocketUrl.length === 0) {\n return;\n }\n this.webSocketBaseUrl = webSocketUrl;\n }\n\n getWebSocketUrl(): string {\n return this.webSocketBaseUrl;\n }\n\n genuineCheck(\n params: GenuineCheckParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/genuine\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n installApp(\n params: InstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n listInstalledApps(\n params: ListInstalledAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/apps/list\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n uninstallApp(\n params: UninstallAppsParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n updateFirmware(\n params: UpdateFirmwareParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/install\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n updateMcu(\n params: UpdateMcuParams,\n ): Either<WebSocketConnectionError, WebSocket> {\n const address = buildUrl({\n baseUrl: this.webSocketBaseUrl,\n url: \"/mcu\",\n params,\n });\n return this._connectWebSocket(address);\n }\n\n _connectWebSocket(\n address: string,\n ): Either<WebSocketConnectionError, WebSocket> {\n try {\n return Right(new WebSocket(address));\n } catch (error) {\n return Left(new WebSocketConnectionError(error));\n }\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YACnC,OAAOC,MAAe,gBACtB,OAAiB,QAAAC,EAAM,SAAAC,MAAa,YAGpC,OAAS,YAAAC,MAAgB,uCACzB,OAAS,sBAAAC,MAA0B,iDACnC,OAAS,4BAAAC,MAAgC,wCAalC,IAAMC,EAAN,KAAwE,CACrE,iBAER,YAEE,CAAE,aAAAC,CAAa,EACf,CACA,KAAK,iBAAmBA,CAC1B,CAEA,gBAAgBA,EAA4B,CACtC,KAAK,mBAAqBA,GAAgBA,EAAa,SAAW,IAGtE,KAAK,iBAAmBA,EAC1B,CAEA,iBAA0B,CACxB,OAAO,KAAK,gBACd,CAEA,aACEC,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,WACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,aACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,aACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,eACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,WACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,UACED,EAC6C,CAC7C,MAAMC,EAAUC,EAAS,CACvB,QAAS,KAAK,iBACd,IAAK,OACL,OAAAF,CACF,CAAC,EACD,OAAO,KAAK,kBAAkBC,CAAO,CACvC,CAEA,kBACEA,EAC6C,CAC7C,GAAI,CACF,OAAOE,EAAM,IAAIC,EAAUH,CAAO,CAAC,CACrC,OAASI,EAAO,CACd,OAAOC,EAAK,IAAIC,EAAyBF,CAAK,CAAC,CACjD,CACF,CACF,EAhGaP,EAANU,EAAA,CADNC,EAAW,EAKPC,EAAA,EAAAC,EAAOC,EAAmB,SAAS,IAJ3Bd",
6
6
  "names": ["inject", "injectable", "WebSocket", "Left", "Right", "buildUrl", "secureChannelTypes", "WebSocketConnectionError", "DefaultSecureChannelDataSource", "webSocketUrl", "params", "address", "buildUrl", "Right", "WebSocket", "error", "Left", "WebSocketConnectionError", "__decorateClass", "injectable", "__decorateParam", "inject", "secureChannelTypes"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import c from"isomorphic-ws";import{Right as t}from"purify-ts";import{WebSocketConnectionError as o}from"../../secure-channel/model/Errors";import{DefaultSecureChannelDataSource as a}from"./DefaultSecureChannelDataSource";vi.mock("isomorphic-ws",()=>({default:vi.fn().mockImplementationOnce(()=>{}).mockImplementationOnce(()=>{throw new Error("WebSocket connection failed")})}));describe("Secure Channel Data Source",()=>{describe("Connection establishment",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should return a WebSocket if the WebSocket connection succeeds",()=>{const r=new a({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(c).toHaveBeenCalledWith("wss://test-websocket-url/test"),expect(r.extract()).toBeInstanceOf(c)}),it("should return an error if the WebSocket connection fails",()=>{const r=new a({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(r.extract()).toBeInstanceOf(o)})}),describe("Connections with different pathname",()=>{let e;beforeEach(()=>{e=new a({webSocketUrl:"wss://test-websocket-url"})}),afterEach(()=>{vi.clearAllMocks()}),it("should call _connectWebSocket with parameters for genuineCheck",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=targetId&perso=perso")}),it("GIVEN a trailing slash base URL and special query characters WHEN genuineCheck connects THEN it builds one encoded URL string",()=>{e=new a({webSocketUrl:"wss://test-websocket-url/"}),vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"target id",perso:"perso&value"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=target%20id&perso=perso%26value")}),it("should call _connectWebSocket with parameters for listInstalledApps",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.listInstalledApps({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/apps/list?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for updateMcu",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateMcu({targetId:"targetId",version:"version"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/mcu?targetId=targetId&version=version")}),it("should call _connectWebSocket with parameters for updateFirmware",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateFirmware({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey")}),it("should call _connectWebSocket with parameters for installApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.installApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")}),it("should call _connectWebSocket with parameters for uninstallApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.uninstallApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")})})});
1
+ import c from"isomorphic-ws";import{Right as t}from"purify-ts";import{WebSocketConnectionError as o}from"../../secure-channel/model/Errors";import{DefaultSecureChannelDataSource as r}from"./DefaultSecureChannelDataSource";vi.mock("isomorphic-ws",()=>({default:vi.fn().mockImplementationOnce(()=>{}).mockImplementationOnce(()=>{throw new Error("WebSocket connection failed")})}));describe("Secure Channel Data Source",()=>{describe("Connection establishment",()=>{afterEach(()=>{vi.clearAllMocks()}),it("should return a WebSocket if the WebSocket connection succeeds",()=>{const a=new r({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(c).toHaveBeenCalledWith("wss://test-websocket-url/test"),expect(a.extract()).toBeInstanceOf(c)}),it("should return an error if the WebSocket connection fails",()=>{const a=new r({webSocketUrl:"wss://test-websocket-url"})._connectWebSocket("wss://test-websocket-url/test");expect(a.extract()).toBeInstanceOf(o)})}),describe("Connections with different pathname",()=>{let e;beforeEach(()=>{e=new r({webSocketUrl:"wss://test-websocket-url"})}),afterEach(()=>{vi.clearAllMocks()}),it("should call _connectWebSocket with parameters for genuineCheck",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=targetId&perso=perso")}),it("GIVEN a trailing slash base URL and special query characters WHEN genuineCheck connects THEN it builds one encoded URL string",()=>{e=new r({webSocketUrl:"wss://test-websocket-url/"}),vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.genuineCheck({targetId:"target id",perso:"perso&value"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/genuine?targetId=target%20id&perso=perso%26value")}),it("should call _connectWebSocket with parameters for listInstalledApps",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.listInstalledApps({targetId:"targetId",perso:"perso"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/apps/list?targetId=targetId&perso=perso")}),it("should call _connectWebSocket with parameters for updateMcu",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateMcu({targetId:"targetId",version:"version"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/mcu?targetId=targetId&version=version")}),it("should call _connectWebSocket with parameters for updateFirmware",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.updateFirmware({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey")}),it("should call _connectWebSocket with parameters for installApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.installApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")}),it("should call _connectWebSocket with parameters for uninstallApp",()=>{vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({})),e.uninstallApp({targetId:"targetId",perso:"perso",firmware:"firmware",firmwareKey:"firmwareKey",hash:"hash"}),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash")})}),describe("Given a configured WebSocket base URL",()=>{let e;beforeEach(()=>{e=new r({webSocketUrl:"wss://test-websocket-url"}),vi.spyOn(e,"_connectWebSocket").mockReturnValue(t({}))}),afterEach(()=>{vi.clearAllMocks()}),describe("When getWebSocketUrl is called",()=>{it("Then it should return the configured URL",()=>{expect(e.getWebSocketUrl()).toBe("wss://test-websocket-url")})}),describe("When setWebSocketUrl is called with a different URL",()=>{it("Then it should use the new URL for subsequent connections",()=>{e.setWebSocketUrl("wss://overridden-websocket-url"),e.genuineCheck({targetId:"targetId",perso:"perso"}),expect(e.getWebSocketUrl()).toBe("wss://overridden-websocket-url"),expect(e._connectWebSocket).toHaveBeenCalledWith("wss://overridden-websocket-url/genuine?targetId=targetId&perso=perso")})}),describe("When setWebSocketUrl is called with an empty string",()=>{it("Then it should keep the current URL",()=>{e.setWebSocketUrl(""),expect(e.getWebSocketUrl()).toBe("wss://test-websocket-url")})}),describe("When setWebSocketUrl is called with the same URL",()=>{it("Then it should keep the current URL",()=>{e.setWebSocketUrl("wss://test-websocket-url"),expect(e.getWebSocketUrl()).toBe("wss://test-websocket-url")})})})});
2
2
  //# sourceMappingURL=DefaultSecureChannelDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/data/DefaultSecureChannelDataSource.test.ts"],
4
- "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\n\nimport { DefaultSecureChannelDataSource } from \"./DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\nvi.mock(\"isomorphic-ws\", () => {\n // The chained mockImplementationOnce is used to simulate the WebSocket connection success and failure respectively, the order is important\n return {\n default: vi\n .fn()\n .mockImplementationOnce(() => {})\n .mockImplementationOnce(() => {\n throw new Error(\"WebSocket connection failed\");\n }),\n };\n});\n\ndescribe(\"Secure Channel Data Source\", () => {\n describe(\"Connection establishment\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should return a WebSocket if the WebSocket connection succeeds\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(WebSocket).toHaveBeenCalledWith(\"wss://test-websocket-url/test\");\n expect(res.extract()).toBeInstanceOf(WebSocket);\n });\n\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(res.extract()).toBeInstanceOf(WebSocketConnectionError);\n });\n });\n describe(\"Connections with different pathname\", () => {\n let api: SecureChannelDataSource;\n\n beforeEach(() => {\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should call _connectWebSocket with parameters for genuineCheck\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"GIVEN a trailing slash base URL and special query characters WHEN genuineCheck connects THEN it builds one encoded URL string\", () => {\n // given\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url/\",\n } as DmkConfig);\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"target id\",\n perso: \"perso&value\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=target%20id&perso=perso%26value\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for listInstalledApps\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.listInstalledApps({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/apps/list?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateMcu\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateMcu({\n targetId: \"targetId\",\n version: \"version\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/mcu?targetId=targetId&version=version\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateFirmware\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateFirmware({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for installApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.installApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for uninstallApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.uninstallApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import WebSocket from \"isomorphic-ws\";\nimport { Right } from \"purify-ts\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { WebSocketConnectionError } from \"@internal/secure-channel/model/Errors\";\n\nimport { DefaultSecureChannelDataSource } from \"./DefaultSecureChannelDataSource\";\nimport { type SecureChannelDataSource } from \"./SecureChannelDataSource\";\n\nvi.mock(\"isomorphic-ws\", () => {\n // The chained mockImplementationOnce is used to simulate the WebSocket connection success and failure respectively, the order is important\n return {\n default: vi\n .fn()\n .mockImplementationOnce(() => {})\n .mockImplementationOnce(() => {\n throw new Error(\"WebSocket connection failed\");\n }),\n };\n});\n\ndescribe(\"Secure Channel Data Source\", () => {\n describe(\"Connection establishment\", () => {\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should return a WebSocket if the WebSocket connection succeeds\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(WebSocket).toHaveBeenCalledWith(\"wss://test-websocket-url/test\");\n expect(res.extract()).toBeInstanceOf(WebSocket);\n });\n\n it(\"should return an error if the WebSocket connection fails\", () => {\n // given\n const api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n\n // when\n const res = api._connectWebSocket(\"wss://test-websocket-url/test\");\n\n // then\n expect(res.extract()).toBeInstanceOf(WebSocketConnectionError);\n });\n });\n describe(\"Connections with different pathname\", () => {\n let api: SecureChannelDataSource;\n\n beforeEach(() => {\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should call _connectWebSocket with parameters for genuineCheck\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"GIVEN a trailing slash base URL and special query characters WHEN genuineCheck connects THEN it builds one encoded URL string\", () => {\n // given\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url/\",\n } as DmkConfig);\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.genuineCheck({\n targetId: \"target id\",\n perso: \"perso&value\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/genuine?targetId=target%20id&perso=perso%26value\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for listInstalledApps\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.listInstalledApps({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/apps/list?targetId=targetId&perso=perso\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateMcu\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateMcu({\n targetId: \"targetId\",\n version: \"version\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/mcu?targetId=targetId&version=version\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for updateFirmware\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.updateFirmware({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for installApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.installApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n\n it(\"should call _connectWebSocket with parameters for uninstallApp\", () => {\n // given\n vi.spyOn(\n api as DefaultSecureChannelDataSource,\n \"_connectWebSocket\",\n ).mockReturnValue(Right({} as WebSocket));\n\n // when\n api.uninstallApp({\n targetId: \"targetId\",\n perso: \"perso\",\n firmware: \"firmware\",\n firmwareKey: \"firmwareKey\",\n hash: \"hash\",\n });\n\n // then\n expect(\n (api as DefaultSecureChannelDataSource)._connectWebSocket,\n ).toHaveBeenCalledWith(\n \"wss://test-websocket-url/install?targetId=targetId&perso=perso&firmware=firmware&firmwareKey=firmwareKey&hash=hash\",\n );\n });\n });\n\n describe(\"Given a configured WebSocket base URL\", () => {\n let api: DefaultSecureChannelDataSource;\n\n beforeEach(() => {\n api = new DefaultSecureChannelDataSource({\n webSocketUrl: \"wss://test-websocket-url\",\n } as DmkConfig);\n vi.spyOn(api, \"_connectWebSocket\").mockReturnValue(\n Right({} as WebSocket),\n );\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n describe(\"When getWebSocketUrl is called\", () => {\n it(\"Then it should return the configured URL\", () => {\n expect(api.getWebSocketUrl()).toBe(\"wss://test-websocket-url\");\n });\n });\n\n describe(\"When setWebSocketUrl is called with a different URL\", () => {\n it(\"Then it should use the new URL for subsequent connections\", () => {\n api.setWebSocketUrl(\"wss://overridden-websocket-url\");\n\n api.genuineCheck({\n targetId: \"targetId\",\n perso: \"perso\",\n });\n\n expect(api.getWebSocketUrl()).toBe(\"wss://overridden-websocket-url\");\n expect(api._connectWebSocket).toHaveBeenCalledWith(\n \"wss://overridden-websocket-url/genuine?targetId=targetId&perso=perso\",\n );\n });\n });\n\n describe(\"When setWebSocketUrl is called with an empty string\", () => {\n it(\"Then it should keep the current URL\", () => {\n api.setWebSocketUrl(\"\");\n\n expect(api.getWebSocketUrl()).toBe(\"wss://test-websocket-url\");\n });\n });\n\n describe(\"When setWebSocketUrl is called with the same URL\", () => {\n it(\"Then it should keep the current URL\", () => {\n api.setWebSocketUrl(\"wss://test-websocket-url\");\n\n expect(api.getWebSocketUrl()).toBe(\"wss://test-websocket-url\");\n });\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["WebSocket", "Right", "WebSocketConnectionError", "DefaultSecureChannelDataSource", "res", "api"]
7
7
  }
@@ -1,2 +1,2 @@
1
- class n{genuineCheck=vi.fn();listInstalledApps=vi.fn();updateMcu=vi.fn();updateFirmware=vi.fn();installApp=vi.fn();uninstallApp=vi.fn()}export{n as DefaultSecureChannelDataSource};
1
+ class n{genuineCheck=vi.fn();listInstalledApps=vi.fn();updateMcu=vi.fn();updateFirmware=vi.fn();installApp=vi.fn();uninstallApp=vi.fn();setWebSocketUrl=vi.fn();getWebSocketUrl=vi.fn()}export{n as DefaultSecureChannelDataSource};
2
2
  //# sourceMappingURL=DefaultSecureChannelDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/internal/secure-channel/data/__mocks__/DefaultSecureChannelDataSource.ts"],
4
- "sourcesContent": ["import { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\n\nexport class DefaultSecureChannelDataSource implements SecureChannelDataSource {\n genuineCheck = vi.fn();\n listInstalledApps = vi.fn();\n updateMcu = vi.fn();\n updateFirmware = vi.fn();\n installApp = vi.fn();\n uninstallApp = vi.fn();\n}\n"],
5
- "mappings": "AAEO,MAAMA,CAAkE,CAC7E,aAAe,GAAG,GAAG,EACrB,kBAAoB,GAAG,GAAG,EAC1B,UAAY,GAAG,GAAG,EAClB,eAAiB,GAAG,GAAG,EACvB,WAAa,GAAG,GAAG,EACnB,aAAe,GAAG,GAAG,CACvB",
4
+ "sourcesContent": ["import { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\n\nexport class DefaultSecureChannelDataSource implements SecureChannelDataSource {\n genuineCheck = vi.fn();\n listInstalledApps = vi.fn();\n updateMcu = vi.fn();\n updateFirmware = vi.fn();\n installApp = vi.fn();\n uninstallApp = vi.fn();\n setWebSocketUrl = vi.fn();\n getWebSocketUrl = vi.fn();\n}\n"],
5
+ "mappings": "AAEO,MAAMA,CAAkE,CAC7E,aAAe,GAAG,GAAG,EACrB,kBAAoB,GAAG,GAAG,EAC1B,UAAY,GAAG,GAAG,EAClB,eAAiB,GAAG,GAAG,EACvB,WAAa,GAAG,GAAG,EACnB,aAAe,GAAG,GAAG,EACrB,gBAAkB,GAAG,GAAG,EACxB,gBAAkB,GAAG,GAAG,CAC1B",
6
6
  "names": ["DefaultSecureChannelDataSource"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{ContainerModule as n}from"inversify";import{DefaultSecureChannelDataSource as a}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as c}from"../../secure-channel/service/DefaultSecureChannelService";import{secureChannelTypes as o}from"./secureChannelTypes";const i=({stub:r,config:t})=>new n(({bind:e})=>{e(o.DmkConfig).toConstantValue(t),e(o.SecureChannelDataSource).to(a),e(o.SecureChannelService).to(c)});export{i as secureChannelModuleFactory};
1
+ import{ContainerModule as n}from"inversify";import{DefaultSecureChannelDataSource as c}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as m}from"../../secure-channel/service/DefaultSecureChannelService";import{SetWebSocketUrlUseCase as S}from"../../secure-channel/use-case/SetWebSocketUrlUseCase";import{StubUseCase as l}from"../../../../src/di.stub";import{secureChannelTypes as e}from"./secureChannelTypes";const D=({stub:t,config:r})=>new n(({bind:o,rebindSync:a})=>{o(e.DmkConfig).toConstantValue(r),o(e.SecureChannelDataSource).to(c).inSingletonScope(),o(e.SecureChannelService).to(m),o(e.SetWebSocketUrlUseCase).to(S),t&&a(e.SetWebSocketUrlUseCase).to(l)});export{D as secureChannelModuleFactory};
2
2
  //# sourceMappingURL=secureChannelModule.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/di/secureChannelModule.ts"],
4
- "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\n\nimport { secureChannelTypes } from \"./secureChannelTypes\";\n\ntype FactoryProps = {\n stub?: boolean;\n config: DmkConfig;\n};\n\nexport const secureChannelModuleFactory = ({ stub, config }: FactoryProps) =>\n new ContainerModule(({ bind }) => {\n bind(secureChannelTypes.DmkConfig).toConstantValue(config);\n\n bind(secureChannelTypes.SecureChannelDataSource).to(\n DefaultSecureChannelDataSource,\n );\n bind(secureChannelTypes.SecureChannelService).to(\n DefaultSecureChannelService,\n );\n\n if (stub) {\n /* empty */\n }\n });\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAGhC,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,sBAAAC,MAA0B,uBAO5B,MAAMC,EAA6B,CAAC,CAAE,KAAAC,EAAM,OAAAC,CAAO,IACxD,IAAIN,EAAgB,CAAC,CAAE,KAAAO,CAAK,IAAM,CAChCA,EAAKJ,EAAmB,SAAS,EAAE,gBAAgBG,CAAM,EAEzDC,EAAKJ,EAAmB,uBAAuB,EAAE,GAC/CF,CACF,EACAM,EAAKJ,EAAmB,oBAAoB,EAAE,GAC5CD,CACF,CAKF,CAAC",
6
- "names": ["ContainerModule", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "secureChannelTypes", "secureChannelModuleFactory", "stub", "config", "bind"]
4
+ "sourcesContent": ["import { ContainerModule } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/DmkConfig\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { SetWebSocketUrlUseCase } from \"@internal/secure-channel/use-case/SetWebSocketUrlUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { secureChannelTypes } from \"./secureChannelTypes\";\n\ntype FactoryProps = {\n stub?: boolean;\n config: DmkConfig;\n};\n\nexport const secureChannelModuleFactory = ({ stub, config }: FactoryProps) =>\n new ContainerModule(({ bind, rebindSync }) => {\n bind(secureChannelTypes.DmkConfig).toConstantValue(config);\n\n bind(secureChannelTypes.SecureChannelDataSource)\n .to(DefaultSecureChannelDataSource)\n .inSingletonScope();\n bind(secureChannelTypes.SecureChannelService).to(\n DefaultSecureChannelService,\n );\n bind(secureChannelTypes.SetWebSocketUrlUseCase).to(SetWebSocketUrlUseCase);\n\n if (stub) {\n rebindSync(secureChannelTypes.SetWebSocketUrlUseCase).to(StubUseCase);\n }\n });\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,YAGhC,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,+BAAAC,MAAmC,+DAC5C,OAAS,0BAAAC,MAA8B,2DACvC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,sBAAAC,MAA0B,uBAO5B,MAAMC,EAA6B,CAAC,CAAE,KAAAC,EAAM,OAAAC,CAAO,IACxD,IAAIR,EAAgB,CAAC,CAAE,KAAAS,EAAM,WAAAC,CAAW,IAAM,CAC5CD,EAAKJ,EAAmB,SAAS,EAAE,gBAAgBG,CAAM,EAEzDC,EAAKJ,EAAmB,uBAAuB,EAC5C,GAAGJ,CAA8B,EACjC,iBAAiB,EACpBQ,EAAKJ,EAAmB,oBAAoB,EAAE,GAC5CH,CACF,EACAO,EAAKJ,EAAmB,sBAAsB,EAAE,GAAGF,CAAsB,EAErEI,GACFG,EAAWL,EAAmB,sBAAsB,EAAE,GAAGD,CAAW,CAExE,CAAC",
6
+ "names": ["ContainerModule", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "SetWebSocketUrlUseCase", "StubUseCase", "secureChannelTypes", "secureChannelModuleFactory", "stub", "config", "bind", "rebindSync"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Container as u}from"inversify";import{DefaultSecureChannelDataSource as l}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as s}from"../../secure-channel/service/DefaultSecureChannelService";import{secureChannelModuleFactory as f}from"./secureChannelModule";import{secureChannelTypes as o}from"./secureChannelTypes";describe("secureChannelModuleFactory default use case",()=>{const n={webSocketUrl:"http://fake-websocket.url"};let e,t;beforeEach(()=>{t=f({stub:!1,config:n}),e=new u,e.loadSync(t)}),it("the secure channel module should be defined",()=>{expect(t).toBeDefined()}),it("should return default use cases instead of stub",()=>{const c=e.get(o.DmkConfig);expect(c).toEqual({webSocketUrl:"http://fake-websocket.url"});const r=e.get(o.SecureChannelDataSource);expect(r).toBeInstanceOf(l);const a=e.get(o.SecureChannelService);expect(a).toBeInstanceOf(s)})});
1
+ import{Container as a}from"inversify";import{DefaultSecureChannelDataSource as f}from"../../secure-channel/data/DefaultSecureChannelDataSource";import{DefaultSecureChannelService as i}from"../../secure-channel/service/DefaultSecureChannelService";import{SetWebSocketUrlUseCase as C}from"../../secure-channel/use-case/SetWebSocketUrlUseCase";import{StubUseCase as S}from"../../../../src/di.stub";import{secureChannelModuleFactory as s}from"./secureChannelModule";import{secureChannelTypes as o}from"./secureChannelTypes";describe("secureChannelModuleFactory default use case",()=>{const n={webSocketUrl:"http://fake-websocket.url"};let e,t;beforeEach(()=>{t=s({stub:!1,config:n}),e=new a,e.loadSync(t)}),it("the secure channel module should be defined",()=>{expect(t).toBeDefined()}),it("should return default use cases instead of stub",()=>{const c=e.get(o.DmkConfig);expect(c).toEqual({webSocketUrl:"http://fake-websocket.url"});const r=e.get(o.SecureChannelDataSource);expect(r).toBeInstanceOf(f),expect(e.get(o.SecureChannelDataSource)).toBe(r);const u=e.get(o.SecureChannelService);expect(u).toBeInstanceOf(i);const l=e.get(o.SetWebSocketUrlUseCase);expect(l).toBeInstanceOf(C)})});describe("secureChannelModuleFactory stubbed",()=>{const n={webSocketUrl:"http://fake-websocket.url"};let e,t;beforeEach(()=>{t=s({stub:!0,config:n}),e=new a,e.loadSync(t)}),it("should return a stubbed SetWebSocketUrlUseCase",()=>{const c=e.get(o.SetWebSocketUrlUseCase);expect(c).toBeInstanceOf(S)})});
2
2
  //# sourceMappingURL=secureChannelModule.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/di/secureChannelModule.test.ts"],
4
- "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/index\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\n\nimport { secureChannelModuleFactory } from \"./secureChannelModule\";\nimport { secureChannelTypes } from \"./secureChannelTypes\";\n\ndescribe(\"secureChannelModuleFactory default use case\", () => {\n const mockDmkConfig = {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig;\n\n let container: Container;\n let mod: ReturnType<typeof secureChannelModuleFactory>;\n\n beforeEach(() => {\n mod = secureChannelModuleFactory({\n stub: false,\n config: mockDmkConfig,\n });\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"the secure channel module should be defined\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return default use cases instead of stub\", () => {\n const config = container.get(secureChannelTypes.DmkConfig);\n expect(config).toEqual({\n webSocketUrl: \"http://fake-websocket.url\",\n });\n\n const secureChannelDataSource = container.get(\n secureChannelTypes.SecureChannelDataSource,\n );\n expect(secureChannelDataSource).toBeInstanceOf(\n DefaultSecureChannelDataSource,\n );\n\n const secureChannelService = container.get(\n secureChannelTypes.SecureChannelService,\n );\n expect(secureChannelService).toBeInstanceOf(DefaultSecureChannelService);\n });\n});\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAG1B,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,+BAAAC,MAAmC,+DAE5C,OAAS,8BAAAC,MAAkC,wBAC3C,OAAS,sBAAAC,MAA0B,uBAEnC,SAAS,8CAA+C,IAAM,CAC5D,MAAMC,EAAgB,CACpB,aAAc,2BAChB,EAEA,IAAIC,EACAC,EAEJ,WAAW,IAAM,CACfA,EAAMJ,EAA2B,CAC/B,KAAM,GACN,OAAQE,CACV,CAAC,EACDC,EAAY,IAAIN,EAChBM,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,MAAMC,EAASF,EAAU,IAAIF,EAAmB,SAAS,EACzD,OAAOI,CAAM,EAAE,QAAQ,CACrB,aAAc,2BAChB,CAAC,EAED,MAAMC,EAA0BH,EAAU,IACxCF,EAAmB,uBACrB,EACA,OAAOK,CAAuB,EAAE,eAC9BR,CACF,EAEA,MAAMS,EAAuBJ,EAAU,IACrCF,EAAmB,oBACrB,EACA,OAAOM,CAAoB,EAAE,eAAeR,CAA2B,CACzE,CAAC,CACH,CAAC",
6
- "names": ["Container", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "secureChannelModuleFactory", "secureChannelTypes", "mockDmkConfig", "container", "mod", "config", "secureChannelDataSource", "secureChannelService"]
4
+ "sourcesContent": ["import { Container } from \"inversify\";\n\nimport { type DmkConfig } from \"@api/index\";\nimport { DefaultSecureChannelDataSource } from \"@internal/secure-channel/data/DefaultSecureChannelDataSource\";\nimport { DefaultSecureChannelService } from \"@internal/secure-channel/service/DefaultSecureChannelService\";\nimport { SetWebSocketUrlUseCase } from \"@internal/secure-channel/use-case/SetWebSocketUrlUseCase\";\nimport { StubUseCase } from \"@root/src/di.stub\";\n\nimport { secureChannelModuleFactory } from \"./secureChannelModule\";\nimport { secureChannelTypes } from \"./secureChannelTypes\";\n\ndescribe(\"secureChannelModuleFactory default use case\", () => {\n const mockDmkConfig = {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig;\n\n let container: Container;\n let mod: ReturnType<typeof secureChannelModuleFactory>;\n\n beforeEach(() => {\n mod = secureChannelModuleFactory({\n stub: false,\n config: mockDmkConfig,\n });\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"the secure channel module should be defined\", () => {\n expect(mod).toBeDefined();\n });\n\n it(\"should return default use cases instead of stub\", () => {\n const config = container.get(secureChannelTypes.DmkConfig);\n expect(config).toEqual({\n webSocketUrl: \"http://fake-websocket.url\",\n });\n\n const secureChannelDataSource = container.get(\n secureChannelTypes.SecureChannelDataSource,\n );\n expect(secureChannelDataSource).toBeInstanceOf(\n DefaultSecureChannelDataSource,\n );\n expect(container.get(secureChannelTypes.SecureChannelDataSource)).toBe(\n secureChannelDataSource,\n );\n\n const secureChannelService = container.get(\n secureChannelTypes.SecureChannelService,\n );\n expect(secureChannelService).toBeInstanceOf(DefaultSecureChannelService);\n\n const setWebSocketUrlUseCase = container.get(\n secureChannelTypes.SetWebSocketUrlUseCase,\n );\n expect(setWebSocketUrlUseCase).toBeInstanceOf(SetWebSocketUrlUseCase);\n });\n});\n\ndescribe(\"secureChannelModuleFactory stubbed\", () => {\n const mockDmkConfig = {\n webSocketUrl: \"http://fake-websocket.url\",\n } as DmkConfig;\n\n let container: Container;\n let mod: ReturnType<typeof secureChannelModuleFactory>;\n\n beforeEach(() => {\n mod = secureChannelModuleFactory({\n stub: true,\n config: mockDmkConfig,\n });\n container = new Container();\n container.loadSync(mod);\n });\n\n it(\"should return a stubbed SetWebSocketUrlUseCase\", () => {\n const setWebSocketUrlUseCase = container.get(\n secureChannelTypes.SetWebSocketUrlUseCase,\n );\n expect(setWebSocketUrlUseCase).toBeInstanceOf(StubUseCase);\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,aAAAA,MAAiB,YAG1B,OAAS,kCAAAC,MAAsC,+DAC/C,OAAS,+BAAAC,MAAmC,+DAC5C,OAAS,0BAAAC,MAA8B,2DACvC,OAAS,eAAAC,MAAmB,oBAE5B,OAAS,8BAAAC,MAAkC,wBAC3C,OAAS,sBAAAC,MAA0B,uBAEnC,SAAS,8CAA+C,IAAM,CAC5D,MAAMC,EAAgB,CACpB,aAAc,2BAChB,EAEA,IAAIC,EACAC,EAEJ,WAAW,IAAM,CACfA,EAAMJ,EAA2B,CAC/B,KAAM,GACN,OAAQE,CACV,CAAC,EACDC,EAAY,IAAIR,EAChBQ,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,8CAA+C,IAAM,CACtD,OAAOA,CAAG,EAAE,YAAY,CAC1B,CAAC,EAED,GAAG,kDAAmD,IAAM,CAC1D,MAAMC,EAASF,EAAU,IAAIF,EAAmB,SAAS,EACzD,OAAOI,CAAM,EAAE,QAAQ,CACrB,aAAc,2BAChB,CAAC,EAED,MAAMC,EAA0BH,EAAU,IACxCF,EAAmB,uBACrB,EACA,OAAOK,CAAuB,EAAE,eAC9BV,CACF,EACA,OAAOO,EAAU,IAAIF,EAAmB,uBAAuB,CAAC,EAAE,KAChEK,CACF,EAEA,MAAMC,EAAuBJ,EAAU,IACrCF,EAAmB,oBACrB,EACA,OAAOM,CAAoB,EAAE,eAAeV,CAA2B,EAEvE,MAAMW,EAAyBL,EAAU,IACvCF,EAAmB,sBACrB,EACA,OAAOO,CAAsB,EAAE,eAAeV,CAAsB,CACtE,CAAC,CACH,CAAC,EAED,SAAS,qCAAsC,IAAM,CACnD,MAAMI,EAAgB,CACpB,aAAc,2BAChB,EAEA,IAAIC,EACAC,EAEJ,WAAW,IAAM,CACfA,EAAMJ,EAA2B,CAC/B,KAAM,GACN,OAAQE,CACV,CAAC,EACDC,EAAY,IAAIR,EAChBQ,EAAU,SAASC,CAAG,CACxB,CAAC,EAED,GAAG,iDAAkD,IAAM,CACzD,MAAMI,EAAyBL,EAAU,IACvCF,EAAmB,sBACrB,EACA,OAAOO,CAAsB,EAAE,eAAeT,CAAW,CAC3D,CAAC,CACH,CAAC",
6
+ "names": ["Container", "DefaultSecureChannelDataSource", "DefaultSecureChannelService", "SetWebSocketUrlUseCase", "StubUseCase", "secureChannelModuleFactory", "secureChannelTypes", "mockDmkConfig", "container", "mod", "config", "secureChannelDataSource", "secureChannelService", "setWebSocketUrlUseCase"]
7
7
  }
@@ -1,2 +1,2 @@
1
- const e={SecureChannelService:Symbol.for("SecureChannelService"),SecureChannelDataSource:Symbol.for("SecureChannelDataSource"),DmkConfig:Symbol.for("SecureChannelDmkConfig")};export{e as secureChannelTypes};
1
+ const e={SecureChannelService:Symbol.for("SecureChannelService"),SecureChannelDataSource:Symbol.for("SecureChannelDataSource"),DmkConfig:Symbol.for("SecureChannelDmkConfig"),SetWebSocketUrlUseCase:Symbol.for("SetWebSocketUrlUseCase")};export{e as secureChannelTypes};
2
2
  //# sourceMappingURL=secureChannelTypes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/internal/secure-channel/di/secureChannelTypes.ts"],
4
- "sourcesContent": ["export const secureChannelTypes = {\n SecureChannelService: Symbol.for(\"SecureChannelService\"),\n SecureChannelDataSource: Symbol.for(\"SecureChannelDataSource\"),\n DmkConfig: Symbol.for(\"SecureChannelDmkConfig\"),\n};\n"],
5
- "mappings": "AAAO,MAAMA,EAAqB,CAChC,qBAAsB,OAAO,IAAI,sBAAsB,EACvD,wBAAyB,OAAO,IAAI,yBAAyB,EAC7D,UAAW,OAAO,IAAI,wBAAwB,CAChD",
4
+ "sourcesContent": ["export const secureChannelTypes = {\n SecureChannelService: Symbol.for(\"SecureChannelService\"),\n SecureChannelDataSource: Symbol.for(\"SecureChannelDataSource\"),\n DmkConfig: Symbol.for(\"SecureChannelDmkConfig\"),\n SetWebSocketUrlUseCase: Symbol.for(\"SetWebSocketUrlUseCase\"),\n};\n"],
5
+ "mappings": "AAAO,MAAMA,EAAqB,CAChC,qBAAsB,OAAO,IAAI,sBAAsB,EACvD,wBAAyB,OAAO,IAAI,yBAAyB,EAC7D,UAAW,OAAO,IAAI,wBAAwB,EAC9C,uBAAwB,OAAO,IAAI,wBAAwB,CAC7D",
6
6
  "names": ["secureChannelTypes"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ var l=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var i=(n,e,c,a)=>{for(var r=a>1?void 0:a?p(e,c):e,o=n.length-1,u;o>=0;o--)(u=n[o])&&(r=(a?u(e,c,r):u(r))||r);return a&&r&&l(e,c,r),r},h=(n,e)=>(c,a)=>e(c,a,n);import{inject as m,injectable as D}from"inversify";import{secureChannelTypes as s}from"../../secure-channel/di/secureChannelTypes";let t=class{constructor(e){this.secureChannelDataSource=e}execute(e){this.secureChannelDataSource.setWebSocketUrl(e)}};t=i([D(),h(0,m(s.SecureChannelDataSource))],t);export{t as SetWebSocketUrlUseCase};
2
+ //# sourceMappingURL=SetWebSocketUrlUseCase.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.ts"],
4
+ "sourcesContent": ["import { inject, injectable } from \"inversify\";\n\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\nimport { secureChannelTypes } from \"@internal/secure-channel/di/secureChannelTypes\";\n\n/**\n * Use case to set the secure channel WebSocket base URL at runtime.\n */\n@injectable()\nexport class SetWebSocketUrlUseCase {\n constructor(\n @inject(secureChannelTypes.SecureChannelDataSource)\n private readonly secureChannelDataSource: SecureChannelDataSource,\n ) {}\n\n execute(webSocketUrl: string) {\n this.secureChannelDataSource.setWebSocketUrl(webSocketUrl);\n }\n}\n"],
5
+ "mappings": "iOAAA,OAAS,UAAAA,EAAQ,cAAAC,MAAkB,YAGnC,OAAS,sBAAAC,MAA0B,iDAM5B,IAAMC,EAAN,KAA6B,CAClC,YAEmBC,EACjB,CADiB,6BAAAA,CAChB,CAEH,QAAQC,EAAsB,CAC5B,KAAK,wBAAwB,gBAAgBA,CAAY,CAC3D,CACF,EATaF,EAANG,EAAA,CADNC,EAAW,EAGPC,EAAA,EAAAC,EAAOC,EAAmB,uBAAuB,IAFzCP",
6
+ "names": ["inject", "injectable", "secureChannelTypes", "SetWebSocketUrlUseCase", "secureChannelDataSource", "webSocketUrl", "__decorateClass", "injectable", "__decorateParam", "inject", "secureChannelTypes"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{describe as a,expect as r,it as n,vi as c}from"vitest";import{SetWebSocketUrlUseCase as s}from"./SetWebSocketUrlUseCase";a("SetWebSocketUrlUseCase",()=>{const e={setWebSocketUrl:c.fn()};beforeEach(()=>{c.clearAllMocks()}),n("should call setWebSocketUrl on SecureChannelDataSource with the given URL",()=>{const o=new s(e),t="wss://custom-websocket.url/update";o.execute(t),r(e.setWebSocketUrl).toHaveBeenCalledWith(t)})});
2
+ //# sourceMappingURL=SetWebSocketUrlUseCase.test.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../src/internal/secure-channel/use-case/SetWebSocketUrlUseCase.test.ts"],
4
+ "sourcesContent": ["import { describe, expect, it, vi } from \"vitest\";\n\nimport { type SecureChannelDataSource } from \"@internal/secure-channel/data/SecureChannelDataSource\";\n\nimport { SetWebSocketUrlUseCase } from \"./SetWebSocketUrlUseCase\";\n\ndescribe(\"SetWebSocketUrlUseCase\", () => {\n const mockSecureChannelDataSource: SecureChannelDataSource = {\n setWebSocketUrl: vi.fn(),\n } as unknown as SecureChannelDataSource;\n\n beforeEach(() => {\n vi.clearAllMocks();\n });\n\n it(\"should call setWebSocketUrl on SecureChannelDataSource with the given URL\", () => {\n const useCase = new SetWebSocketUrlUseCase(mockSecureChannelDataSource);\n const webSocketUrl = \"wss://custom-websocket.url/update\";\n\n useCase.execute(webSocketUrl);\n\n expect(mockSecureChannelDataSource.setWebSocketUrl).toHaveBeenCalledWith(\n webSocketUrl,\n );\n });\n});\n"],
5
+ "mappings": "AAAA,OAAS,YAAAA,EAAU,UAAAC,EAAQ,MAAAC,EAAI,MAAAC,MAAU,SAIzC,OAAS,0BAAAC,MAA8B,2BAEvCJ,EAAS,yBAA0B,IAAM,CACvC,MAAMK,EAAuD,CAC3D,gBAAiBF,EAAG,GAAG,CACzB,EAEA,WAAW,IAAM,CACfA,EAAG,cAAc,CACnB,CAAC,EAEDD,EAAG,4EAA6E,IAAM,CACpF,MAAMI,EAAU,IAAIF,EAAuBC,CAA2B,EAChEE,EAAe,oCAErBD,EAAQ,QAAQC,CAAY,EAE5BN,EAAOI,EAA4B,eAAe,EAAE,qBAClDE,CACF,CACF,CAAC,CACH,CAAC",
6
+ "names": ["describe", "expect", "it", "vi", "SetWebSocketUrlUseCase", "mockSecureChannelDataSource", "useCase", "webSocketUrl"]
7
+ }
@@ -153,6 +153,16 @@ export declare class DeviceManagementKit {
153
153
  * Returns the current provider value from the manager API data source.
154
154
  */
155
155
  getProvider(): number;
156
+ /**
157
+ * Sets the secure channel WebSocket base URL.
158
+ *
159
+ * @param {string} webSocketUrl - The WebSocket base URL to set.
160
+ */
161
+ setWebSocketUrl(webSocketUrl: string): void;
162
+ /**
163
+ * Returns the current secure channel WebSocket base URL.
164
+ */
165
+ getWebSocketUrl(): string;
156
166
  /**
157
167
  * Check if the current environment is supported by any transport.
158
168
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManagementKit.d.ts","sourceRoot":"","sources":["../../../../src/api/DeviceManagementKit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeviceManagementKit.d.ts","sourceRoot":"","sources":["../../../../src/api/DeviceManagementKit.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { type Apdu } from "../../apdu/model/Apdu";
2
2
  import { type Command } from "../../command/Command";
3
3
  import { type CommandResult } from "../../command/model/CommandResult";
4
4
  import { DeviceModelId } from "../../device/DeviceModel";
5
- import { type DeviceGeneralState, type EndorsementInformation, type OnboardingStatus, type WordsInformation } from "../../device/SecureElementFlags";
5
+ import { type SecureElementFlags } from "../../device/SecureElementFlags";
6
6
  import { type ApduResponse } from "../../device-session/ApduResponse";
7
7
  /**
8
8
  * Response of the GetOsVersionCommand.
@@ -75,7 +75,7 @@ export type GetOsVersionResponse = {
75
75
  /**
76
76
  * The parsed secure element flags.
77
77
  */
78
- readonly secureElementFlags: DeviceGeneralState & EndorsementInformation & WordsInformation & OnboardingStatus;
78
+ readonly secureElementFlags: SecureElementFlags;
79
79
  };
80
80
  export type GetOsVersionCommandResult = CommandResult<GetOsVersionResponse>;
81
81
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GetOsVersionCommand.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/os/GetOsVersionCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAIrE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,GAC7C,sBAAsB,GACtB,gBAAgB,GAChB,gBAAgB,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,mBAAoB,YAAW,OAAO,CAAC,oBAAoB,CAAC;IACvE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,IAAI,YAAa;IAE1B,OAAO,IAAI,IAAI;IAUf,aAAa,CACX,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC3B,yBAAyB;IA8G5B,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,kBAAkB;CAoB3B"}
1
+ {"version":3,"file":"GetOsVersionCommand.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/os/GetOsVersionCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAIrE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAE5E;;GAEG;AACH,qBAAa,mBAAoB,YAAW,OAAO,CAAC,oBAAoB,CAAC;IACvE,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,IAAI,YAAa;IAE1B,OAAO,IAAI,IAAI;IAUf,aAAa,CACX,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC3B,yBAAyB;IAkH5B,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,kBAAkB;CAoB3B"}
@@ -17,19 +17,16 @@ export declare class SecureElementFlagsParser {
17
17
  /**
18
18
  * Retrieves the endorsement information based on the secure element flags, which is the second byte of the flags.
19
19
  * @returns {EndorsementInformation}
20
- * @throws Will throw an error if the method is not implemented.
21
20
  */
22
21
  endorsementInformation(): EndorsementInformation;
23
22
  /**
24
23
  * Retrieves the words information based on the secure element flags, which is the third byte of the flags.
25
24
  * @returns {WordsInformation}
26
- * @throws Will throw an error if the method is not implemented.
27
25
  */
28
26
  wordsInformation(): WordsInformation;
29
27
  /**
30
28
  * Retrieves the onboarding status based on the secure element flags, which is the fourth byte of the flags.
31
29
  * @returns {OnboardingStatus}
32
- * @throws Will throw an error if the method is not implemented.
33
30
  */
34
31
  onboardingStatus(): OnboardingStatus;
35
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SecureElementFlagsParser.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/os/SecureElementFlagsParser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,wBAAwB;IAKvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC;;;OAGG;gBAC0B,OAAO,EAAE,UAAU;IAMhD;;;OAGG;IACH,kBAAkB,IAAI,kBAAkB;IAexC;;;;OAIG;IACH,sBAAsB,IAAI,sBAAsB;IAIhD;;;;OAIG;IACH,gBAAgB,IAAI,gBAAgB;IAIpC;;;;OAIG;IACH,gBAAgB,IAAI,gBAAgB;IAIpC;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;CAGrD"}
1
+ {"version":3,"file":"SecureElementFlagsParser.d.ts","sourceRoot":"","sources":["../../../../../../src/api/command/os/SecureElementFlagsParser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAE3B,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAsBxC;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IAErC;;;OAGG;gBACS,OAAO,EAAE,UAAU;IAK/B;;;OAGG;IACH,kBAAkB,IAAI,kBAAkB;IAexC;;;OAGG;IACH,sBAAsB,IAAI,sBAAsB;IAShD;;;OAGG;IACH,gBAAgB,IAAI,gBAAgB;IAgBpC;;;OAGG;IACH,gBAAgB,IAAI,gBAAgB;IASpC;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;CAGrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"GetOsVersionCommand.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/command/os/__mocks__/GetOsVersionCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,eAAO,MAAM,sCAAsC,GACjD,gBAAe,aAAqC,EACpD,QAAO,OAAO,CAAC,oBAAoB,CAAM,KACxC,oBAuJgB,CAAC"}
1
+ {"version":3,"file":"GetOsVersionCommand.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/command/os/__mocks__/GetOsVersionCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,eAAO,MAAM,sCAAsC,GACjD,gBAAe,aAAqC,EACpD,QAAO,OAAO,CAAC,oBAAoB,CAAM,KACxC,oBAqLgB,CAAC"}