@ledgerhq/device-management-kit 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/lib/cjs/package.json +1 -1
  2. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  3. package/lib/cjs/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  4. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  5. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  6. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  7. package/lib/cjs/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  8. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  9. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  10. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  11. package/lib/cjs/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  12. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js +2 -0
  13. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js.map +7 -0
  14. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +2 -0
  15. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +7 -0
  16. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/types.js +2 -0
  17. package/lib/cjs/src/api/device-action/os/WaitForAppAndVersion/types.js.map +7 -0
  18. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js +1 -1
  19. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.js.map +3 -3
  20. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js +1 -1
  21. package/lib/cjs/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +2 -2
  22. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  23. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  24. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  25. package/lib/cjs/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  26. package/lib/cjs/src/api/index.js +1 -1
  27. package/lib/cjs/src/api/index.js.map +3 -3
  28. package/lib/cjs/src/api/utils/AppName.js +1 -1
  29. package/lib/cjs/src/api/utils/AppName.js.map +3 -3
  30. package/lib/esm/package.json +1 -1
  31. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js +1 -1
  32. package/lib/esm/src/api/command/os/__mocks__/GetOsVersionCommand.js.map +2 -2
  33. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js +1 -1
  34. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.js.map +3 -3
  35. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js +1 -1
  36. package/lib/esm/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.test.js.map +3 -3
  37. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js +1 -1
  38. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.js.map +3 -3
  39. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js +1 -1
  40. package/lib/esm/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.test.js.map +3 -3
  41. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js +2 -0
  42. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.js.map +7 -0
  43. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js +2 -0
  44. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.js.map +7 -0
  45. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/types.js +2 -0
  46. package/lib/esm/src/api/device-action/os/WaitForAppAndVersion/types.js.map +7 -0
  47. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js +1 -1
  48. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.js.map +3 -3
  49. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js +1 -1
  50. package/lib/esm/src/api/device-action/task/PredictOutOfMemoryTask.test.js.map +2 -2
  51. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js +1 -1
  52. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.js.map +2 -2
  53. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js +1 -1
  54. package/lib/esm/src/api/device-model/data/StaticDeviceModelDataSource.test.js.map +2 -2
  55. package/lib/esm/src/api/index.js +1 -1
  56. package/lib/esm/src/api/index.js.map +3 -3
  57. package/lib/esm/src/api/utils/AppName.js +1 -1
  58. package/lib/esm/src/api/utils/AppName.js.map +3 -3
  59. package/lib/types/src/api/command/os/__mocks__/GetOsVersionCommand.d.ts.map +1 -1
  60. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts +3 -1
  61. package/lib/types/src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.d.ts.map +1 -1
  62. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts +0 -1
  63. package/lib/types/src/api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction.d.ts.map +1 -1
  64. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.d.ts +25 -0
  65. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.d.ts.map +1 -0
  66. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts +2 -0
  67. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction.test.d.ts.map +1 -0
  68. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/types.d.ts +22 -0
  69. package/lib/types/src/api/device-action/os/WaitForAppAndVersion/types.d.ts.map +1 -0
  70. package/lib/types/src/api/device-action/task/PredictOutOfMemoryTask.d.ts.map +1 -1
  71. package/lib/types/src/api/index.d.ts +2 -0
  72. package/lib/types/src/api/index.d.ts.map +1 -1
  73. package/lib/types/src/api/utils/AppName.d.ts +2 -1
  74. package/lib/types/src/api/utils/AppName.d.ts.map +1 -1
  75. package/lib/types/tsconfig.prod.tsbuildinfo +1 -1
  76. package/package.json +3 -3
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../src/api/device-action/os/WaitForAppAndVersion/types.ts"],
4
+ "sourcesContent": ["import { type CommandErrorResult } from \"@api/command/model/CommandResult\";\nimport { type GetAppAndVersionResponse } from \"@api/command/os/GetAppAndVersionCommand\";\nimport { type DeviceActionState } from \"@api/device-action/model/DeviceActionState\";\nimport { type UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nimport {\n type DeviceLockedError,\n type UnknownDAError,\n} from \"@api/device-action/os/Errors\";\n\nexport const waitForAppAndVersionDAStateStep = Object.freeze({\n GET_APP_AND_VERSION: \"os.waitForAppAndVersion.steps.getAppAndVersion\",\n UNLOCK_DEVICE: \"os.waitForAppAndVersion.steps.unlockDevice\",\n} as const);\n\nexport type WaitForAppAndVersionDAStateStep =\n (typeof waitForAppAndVersionDAStateStep)[keyof typeof waitForAppAndVersionDAStateStep];\n\nexport type WaitForAppAndVersionDAOutput = GetAppAndVersionResponse;\n\nexport type WaitForAppAndVersionDAInput = {\n readonly unlockTimeout?: number;\n};\n\nexport type WaitForAppAndVersionDAError =\n | DeviceLockedError\n | UnknownDAError\n | CommandErrorResult[\"error\"];\n\nexport type WaitForAppAndVersionDARequiredInteraction =\n | UserInteractionRequired.None\n | UserInteractionRequired.UnlockDevice;\n\nexport type WaitForAppAndVersionDAIntermediateValue = {\n requiredUserInteraction: WaitForAppAndVersionDARequiredInteraction;\n step: WaitForAppAndVersionDAStateStep;\n};\n\nexport type WaitForAppAndVersionDAState = DeviceActionState<\n WaitForAppAndVersionDAOutput,\n WaitForAppAndVersionDAError,\n WaitForAppAndVersionDAIntermediateValue\n>;\n"],
5
+ "mappings": "AASO,MAAMA,EAAkC,OAAO,OAAO,CAC3D,oBAAqB,iDACrB,cAAe,4CACjB,CAAU",
6
+ "names": ["waitForAppAndVersionDAStateStep"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{UnknownDAError as d}from"../../device-action/os/Errors";import{DeviceSessionStateType as u}from"../../device-session/DeviceSessionState";class M{constructor(e,t){this.api=e;this.args=t;this.deviceModel=e.getDeviceModel()}deviceModel;run(){const e=this.api.getDeviceSessionState();if(e.sessionStateType===u.Connected)return{error:new d("Invalid device state")};const{firmwareUpdateContext:t,customImage:r,firmwareVersion:o,installedLanguages:n,installedApps:a}=e;if(t===void 0||r===void 0||o===void 0||n===void 0)return{error:new d("Device metadata not fetched")};const{blockSize:i,totalMemoryBlocks:l}=this.getMemoryConstants(o),c=this.getCurrentMemoryBlocksUsage({firmwareUpdateContext:t,customImage:r,installedApps:a,installedLanguages:n,blockSize:i}),m=this.getInstallPlanMemoryBlocksUsage(this.args.installPlan,i);return{outOfMemory:c+m>l}}getMemoryConstants(e){const t=this.deviceModel.getBlockSize({firmwareVersion:e.os}),r=Math.floor(this.deviceModel.memorySize/t);return{blockSize:t,totalMemoryBlocks:r}}getCurrentMemoryBlocksUsage({firmwareUpdateContext:e,customImage:t,installedApps:r,installedLanguages:o,blockSize:n}){const a=s=>Math.ceil(s/n),i=a(e.currentFirmware.bytes||0),l=a(t.size||0),c=r.reduce((s,p)=>s+a(p.bytes||0),0),m=o.reduce((s,p)=>s+a(p.size),0);return i+l+c+m}getInstallPlanMemoryBlocksUsage(e,t){const r=o=>Math.ceil(o/t);return e.reduce((o,n)=>o+r(n.bytes||0),0)}}export{M as PredictOutOfMemoryTask};
1
+ import{UnknownDAError as d}from"../../device-action/os/Errors";import{DeviceSessionStateType as u}from"../../device-session/DeviceSessionState";const g=1;class f{constructor(e,t){this.api=e;this.args=t;this.deviceModel=e.getDeviceModel()}deviceModel;run(){const e=this.api.getDeviceSessionState();if(e.sessionStateType===u.Connected)return{error:new d("Invalid device state")};const{firmwareUpdateContext:t,customImage:r,firmwareVersion:o,installedLanguages:n,installedApps:a}=e;if(t===void 0||r===void 0||o===void 0||n===void 0)return{error:new d("Device metadata not fetched")};const{blockSize:i,totalMemoryBlocks:l}=this.getMemoryConstants(o),c=this.getCurrentMemoryBlocksUsage({firmwareUpdateContext:t,customImage:r,installedApps:a,installedLanguages:n,blockSize:i}),m=this.getInstallPlanMemoryBlocksUsage(this.args.installPlan,i);return{outOfMemory:c+m>=l-g}}getMemoryConstants(e){const t=this.deviceModel.getBlockSize({firmwareVersion:e.os}),r=Math.floor(this.deviceModel.memorySize/t);return{blockSize:t,totalMemoryBlocks:r}}getCurrentMemoryBlocksUsage({firmwareUpdateContext:e,customImage:t,installedApps:r,installedLanguages:o,blockSize:n}){const a=s=>Math.ceil(s/n),i=a(e.currentFirmware.bytes||0),l=a(t.size||0),c=r.reduce((s,p)=>s+a(p.bytes||0),0),m=o.reduce((s,p)=>s+a(p.size),0);return i+l+c+m}getInstallPlanMemoryBlocksUsage(e,t){const r=o=>Math.ceil(o/t);return e.reduce((o,n)=>o+r(n.bytes||0),0)}}export{f as PredictOutOfMemoryTask};
2
2
  //# sourceMappingURL=PredictOutOfMemoryTask.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/PredictOutOfMemoryTask.ts"],
4
- "sourcesContent": ["import type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport {\n type CustomImage,\n DeviceSessionStateType,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\n\nexport type PredictOutOfMemoryTaskArgs = {\n installPlan: Application[];\n};\n\nexport type PredictOutOfMemoryTaskResult =\n | {\n outOfMemory: boolean;\n }\n | {\n error: UnknownDAError;\n };\n\nexport class PredictOutOfMemoryTask {\n private readonly deviceModel: TransportDeviceModel;\n\n constructor(\n private readonly api: InternalApi,\n private readonly args: PredictOutOfMemoryTaskArgs,\n ) {\n this.deviceModel = api.getDeviceModel();\n }\n\n run(): PredictOutOfMemoryTaskResult {\n const deviceState = this.api.getDeviceSessionState();\n\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n return { error: new UnknownDAError(\"Invalid device state\") };\n }\n\n const {\n firmwareUpdateContext,\n customImage,\n firmwareVersion,\n installedLanguages,\n installedApps,\n } = deviceState;\n\n if (\n firmwareUpdateContext === undefined ||\n customImage === undefined ||\n firmwareVersion === undefined ||\n installedLanguages === undefined\n ) {\n return { error: new UnknownDAError(\"Device metadata not fetched\") };\n }\n\n const { blockSize, totalMemoryBlocks } =\n this.getMemoryConstants(firmwareVersion);\n\n const currentMemoryBlocksUsage = this.getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n });\n\n const installPlanBlocksUsage = this.getInstallPlanMemoryBlocksUsage(\n this.args.installPlan,\n blockSize,\n );\n\n return {\n outOfMemory:\n currentMemoryBlocksUsage + installPlanBlocksUsage > totalMemoryBlocks,\n };\n }\n\n private getMemoryConstants(firmwareVersion: FirmwareVersion): {\n blockSize: number;\n totalMemoryBlocks: number;\n } {\n const blockSize = this.deviceModel.getBlockSize({\n firmwareVersion: firmwareVersion.os,\n });\n const totalMemoryBlocks = Math.floor(\n this.deviceModel.memorySize / blockSize,\n );\n return { blockSize, totalMemoryBlocks };\n }\n\n private getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n }: {\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n installedApps: Application[];\n installedLanguages: InstalledLanguagePackage[];\n blockSize: number;\n }): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n const firmwareBlocks = bytesToBlocks(\n firmwareUpdateContext.currentFirmware.bytes || 0,\n );\n const customImageBlocks = bytesToBlocks(customImage.size || 0);\n const applicationsBlocks = installedApps.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n const languagesBlocks = installedLanguages.reduce(\n (size, lang) => size + bytesToBlocks(lang.size),\n 0,\n );\n return (\n firmwareBlocks + customImageBlocks + applicationsBlocks + languagesBlocks\n );\n }\n\n private getInstallPlanMemoryBlocksUsage(\n installPlan: Application[],\n blockSize: number,\n ): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n return installPlan.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n }\n}\n"],
5
- "mappings": "AACA,OAAS,kBAAAA,MAAsB,+BAE/B,OAEE,0BAAAC,MAIK,yCAeA,MAAMC,CAAuB,CAGlC,YACmBC,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,EAEjB,KAAK,YAAcD,EAAI,eAAe,CACxC,CAPiB,YASjB,KAAoC,CAClC,MAAME,EAAc,KAAK,IAAI,sBAAsB,EAEnD,GAAIA,EAAY,mBAAqBJ,EAAuB,UAC1D,MAAO,CAAE,MAAO,IAAID,EAAe,sBAAsB,CAAE,EAG7D,KAAM,CACJ,sBAAAM,EACA,YAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,cAAAC,CACF,EAAIL,EAEJ,GACEC,IAA0B,QAC1BC,IAAgB,QAChBC,IAAoB,QACpBC,IAAuB,OAEvB,MAAO,CAAE,MAAO,IAAIT,EAAe,6BAA6B,CAAE,EAGpE,KAAM,CAAE,UAAAW,EAAW,kBAAAC,CAAkB,EACnC,KAAK,mBAAmBJ,CAAe,EAEnCK,EAA2B,KAAK,4BAA4B,CAChE,sBAAAP,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,CAAC,EAEKG,EAAyB,KAAK,gCAClC,KAAK,KAAK,YACVH,CACF,EAEA,MAAO,CACL,YACEE,EAA2BC,EAAyBF,CACxD,CACF,CAEQ,mBAAmBJ,EAGzB,CACA,MAAMG,EAAY,KAAK,YAAY,aAAa,CAC9C,gBAAiBH,EAAgB,EACnC,CAAC,EACKI,EAAoB,KAAK,MAC7B,KAAK,YAAY,WAAaD,CAChC,EACA,MAAO,CAAE,UAAAA,EAAW,kBAAAC,CAAkB,CACxC,CAEQ,4BAA4B,CAClC,sBAAAN,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,EAMW,CACT,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAC5DM,EAAiBF,EACrBT,EAAsB,gBAAgB,OAAS,CACjD,EACMY,EAAoBH,EAAcR,EAAY,MAAQ,CAAC,EACvDY,EAAqBT,EAAc,OACvC,CAACM,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,EACMC,EAAkBZ,EAAmB,OACzC,CAACO,EAAMM,IAASN,EAAOD,EAAcO,EAAK,IAAI,EAC9C,CACF,EACA,OACEL,EAAiBC,EAAoBC,EAAqBE,CAE9D,CAEQ,gCACNE,EACAZ,EACQ,CACR,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAClE,OAAOY,EAAY,OACjB,CAACP,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,CACF,CACF",
6
- "names": ["UnknownDAError", "DeviceSessionStateType", "PredictOutOfMemoryTask", "api", "args", "deviceState", "firmwareUpdateContext", "customImage", "firmwareVersion", "installedLanguages", "installedApps", "blockSize", "totalMemoryBlocks", "currentMemoryBlocksUsage", "installPlanBlocksUsage", "bytesToBlocks", "size", "firmwareBlocks", "customImageBlocks", "applicationsBlocks", "app", "languagesBlocks", "lang", "installPlan"]
4
+ "sourcesContent": ["import type { InternalApi } from \"@api/device-action/DeviceAction\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport { type TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport {\n type CustomImage,\n DeviceSessionStateType,\n type FirmwareUpdateContext,\n type FirmwareVersion,\n type InstalledLanguagePackage,\n} from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\n\nexport type PredictOutOfMemoryTaskArgs = {\n installPlan: Application[];\n};\n\nexport type PredictOutOfMemoryTaskResult =\n | {\n outOfMemory: boolean;\n }\n | {\n error: UnknownDAError;\n };\n\nconst RESERVED_BLOCKS = 1;\n\nexport class PredictOutOfMemoryTask {\n private readonly deviceModel: TransportDeviceModel;\n\n constructor(\n private readonly api: InternalApi,\n private readonly args: PredictOutOfMemoryTaskArgs,\n ) {\n this.deviceModel = api.getDeviceModel();\n }\n\n run(): PredictOutOfMemoryTaskResult {\n const deviceState = this.api.getDeviceSessionState();\n\n if (deviceState.sessionStateType === DeviceSessionStateType.Connected) {\n return { error: new UnknownDAError(\"Invalid device state\") };\n }\n\n const {\n firmwareUpdateContext,\n customImage,\n firmwareVersion,\n installedLanguages,\n installedApps,\n } = deviceState;\n\n if (\n firmwareUpdateContext === undefined ||\n customImage === undefined ||\n firmwareVersion === undefined ||\n installedLanguages === undefined\n ) {\n return { error: new UnknownDAError(\"Device metadata not fetched\") };\n }\n\n const { blockSize, totalMemoryBlocks } =\n this.getMemoryConstants(firmwareVersion);\n\n const currentMemoryBlocksUsage = this.getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n });\n\n const installPlanBlocksUsage = this.getInstallPlanMemoryBlocksUsage(\n this.args.installPlan,\n blockSize,\n );\n\n return {\n outOfMemory:\n currentMemoryBlocksUsage + installPlanBlocksUsage >=\n totalMemoryBlocks - RESERVED_BLOCKS,\n };\n }\n\n private getMemoryConstants(firmwareVersion: FirmwareVersion): {\n blockSize: number;\n totalMemoryBlocks: number;\n } {\n const blockSize = this.deviceModel.getBlockSize({\n firmwareVersion: firmwareVersion.os,\n });\n const totalMemoryBlocks = Math.floor(\n this.deviceModel.memorySize / blockSize,\n );\n return { blockSize, totalMemoryBlocks };\n }\n\n private getCurrentMemoryBlocksUsage({\n firmwareUpdateContext,\n customImage,\n installedApps,\n installedLanguages,\n blockSize,\n }: {\n firmwareUpdateContext: FirmwareUpdateContext;\n customImage: CustomImage;\n installedApps: Application[];\n installedLanguages: InstalledLanguagePackage[];\n blockSize: number;\n }): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n const firmwareBlocks = bytesToBlocks(\n firmwareUpdateContext.currentFirmware.bytes || 0,\n );\n const customImageBlocks = bytesToBlocks(customImage.size || 0);\n const applicationsBlocks = installedApps.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n const languagesBlocks = installedLanguages.reduce(\n (size, lang) => size + bytesToBlocks(lang.size),\n 0,\n );\n return (\n firmwareBlocks + customImageBlocks + applicationsBlocks + languagesBlocks\n );\n }\n\n private getInstallPlanMemoryBlocksUsage(\n installPlan: Application[],\n blockSize: number,\n ): number {\n const bytesToBlocks = (size: number) => Math.ceil(size / blockSize);\n return installPlan.reduce(\n (size, app) => size + bytesToBlocks(app.bytes || 0),\n 0,\n );\n }\n}\n"],
5
+ "mappings": "AACA,OAAS,kBAAAA,MAAsB,+BAE/B,OAEE,0BAAAC,MAIK,yCAeP,MAAMC,EAAkB,EAEjB,MAAMC,CAAuB,CAGlC,YACmBC,EACAC,EACjB,CAFiB,SAAAD,EACA,UAAAC,EAEjB,KAAK,YAAcD,EAAI,eAAe,CACxC,CAPiB,YASjB,KAAoC,CAClC,MAAME,EAAc,KAAK,IAAI,sBAAsB,EAEnD,GAAIA,EAAY,mBAAqBL,EAAuB,UAC1D,MAAO,CAAE,MAAO,IAAID,EAAe,sBAAsB,CAAE,EAG7D,KAAM,CACJ,sBAAAO,EACA,YAAAC,EACA,gBAAAC,EACA,mBAAAC,EACA,cAAAC,CACF,EAAIL,EAEJ,GACEC,IAA0B,QAC1BC,IAAgB,QAChBC,IAAoB,QACpBC,IAAuB,OAEvB,MAAO,CAAE,MAAO,IAAIV,EAAe,6BAA6B,CAAE,EAGpE,KAAM,CAAE,UAAAY,EAAW,kBAAAC,CAAkB,EACnC,KAAK,mBAAmBJ,CAAe,EAEnCK,EAA2B,KAAK,4BAA4B,CAChE,sBAAAP,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,CAAC,EAEKG,EAAyB,KAAK,gCAClC,KAAK,KAAK,YACVH,CACF,EAEA,MAAO,CACL,YACEE,EAA2BC,GAC3BF,EAAoBX,CACxB,CACF,CAEQ,mBAAmBO,EAGzB,CACA,MAAMG,EAAY,KAAK,YAAY,aAAa,CAC9C,gBAAiBH,EAAgB,EACnC,CAAC,EACKI,EAAoB,KAAK,MAC7B,KAAK,YAAY,WAAaD,CAChC,EACA,MAAO,CAAE,UAAAA,EAAW,kBAAAC,CAAkB,CACxC,CAEQ,4BAA4B,CAClC,sBAAAN,EACA,YAAAC,EACA,cAAAG,EACA,mBAAAD,EACA,UAAAE,CACF,EAMW,CACT,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAC5DM,EAAiBF,EACrBT,EAAsB,gBAAgB,OAAS,CACjD,EACMY,EAAoBH,EAAcR,EAAY,MAAQ,CAAC,EACvDY,EAAqBT,EAAc,OACvC,CAACM,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,EACMC,EAAkBZ,EAAmB,OACzC,CAACO,EAAMM,IAASN,EAAOD,EAAcO,EAAK,IAAI,EAC9C,CACF,EACA,OACEL,EAAiBC,EAAoBC,EAAqBE,CAE9D,CAEQ,gCACNE,EACAZ,EACQ,CACR,MAAMI,EAAiBC,GAAiB,KAAK,KAAKA,EAAOL,CAAS,EAClE,OAAOY,EAAY,OACjB,CAACP,EAAMI,IAAQJ,EAAOD,EAAcK,EAAI,OAAS,CAAC,EAClD,CACF,CACF,CACF",
6
+ "names": ["UnknownDAError", "DeviceSessionStateType", "RESERVED_BLOCKS", "PredictOutOfMemoryTask", "api", "args", "deviceState", "firmwareUpdateContext", "customImage", "firmwareVersion", "installedLanguages", "installedApps", "blockSize", "totalMemoryBlocks", "currentMemoryBlocksUsage", "installPlanBlocksUsage", "bytesToBlocks", "size", "firmwareBlocks", "customImageBlocks", "applicationsBlocks", "app", "languagesBlocks", "lang", "installPlan"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import i from"semver";import{DeviceStatus as n}from"../../device/DeviceStatus";import{makeDeviceActionInternalApiMock as c}from"../../device-action/__test-utils__/makeInternalApi";import{UnknownDAError as r}from"../../device-action/os/Errors";import{DeviceSessionStateType as s}from"../../device-session/DeviceSessionState";import{PredictOutOfMemoryTask as a}from"./PredictOutOfMemoryTask";describe("PredictOutOfMemoryTask",()=>{const e=c();beforeEach(()=>{vi.clearAllMocks(),e.getDeviceModel.mockReturnValue({memorySize:1569792,getBlockSize:()=>32})}),it("Success enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:1324},{bytes:6559}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Success not enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:1324},{bytes:6559},{bytes:1}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success enough memory (recent Nano S, 2kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:o})=>i.lt(i.coerce(o)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Success not enough memory (old Nano S, 4kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:o})=>i.lt(i.coerce(o)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"1.0.0"}});const t=new a(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success undefined sizes",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{},installedApps:[{bytes:305442},{bytes:null},{bytes:271583}],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:1324},{bytes:6559}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Error when device is in incorrect state",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.Connected,deviceStatus:n.CONNECTED});const t=new a(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new r("Invalid device state")})}),it("Error when device session was not populated",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,installedApps:[]});const t=new a(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new r("Device metadata not fetched")})})});
1
+ import i from"semver";import{DeviceStatus as n}from"../../device/DeviceStatus";import{makeDeviceActionInternalApiMock as c}from"../../device-action/__test-utils__/makeInternalApi";import{UnknownDAError as r}from"../../device-action/os/Errors";import{DeviceSessionStateType as s}from"../../device-session/DeviceSessionState";import{PredictOutOfMemoryTask as a}from"./PredictOutOfMemoryTask";describe("PredictOutOfMemoryTask",()=>{const e=c();beforeEach(()=>{vi.clearAllMocks(),e.getDeviceModel.mockReturnValue({memorySize:1569792,getBlockSize:()=>32})}),it("Success enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:1324},{bytes:6496}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Success not enough memory",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{size:51893},installedApps:[{bytes:305442},{bytes:514598},{bytes:271583}],installedLanguages:[{id:1,size:20480}],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:1324},{bytes:6497}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success not enough memory with no remaining block (recent Nano S, 2kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:o})=>i.lt(i.coerce(o)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success not enough memory (old Nano S, 4kB block size)",()=>{e.getDeviceModel.mockReturnValueOnce({memorySize:12*1024,getBlockSize:({firmwareVersion:o})=>i.lt(i.coerce(o)??"","2.0.0")?4*1024:2*1024}),e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:6*1024}},customImage:{size:0},installedApps:[],installedLanguages:[],firmwareVersion:{os:"1.0.0"}});const t=new a(e,{installPlan:[{bytes:6*1024}]}).run();expect(t).toStrictEqual({outOfMemory:!0})}),it("Success undefined sizes",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,firmwareUpdateContext:{currentFirmware:{bytes:397824}},customImage:{},installedApps:[{bytes:305442},{bytes:null},{bytes:271583}],installedLanguages:[],firmwareVersion:{os:"2.0.0"}});const t=new a(e,{installPlan:[{bytes:1324},{bytes:6559}]}).run();expect(t).toStrictEqual({outOfMemory:!1})}),it("Error when device is in incorrect state",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.Connected,deviceStatus:n.CONNECTED});const t=new a(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new r("Invalid device state")})}),it("Error when device session was not populated",()=>{e.getDeviceSessionState.mockReturnValueOnce({sessionStateType:s.ReadyWithoutSecureChannel,deviceStatus:n.CONNECTED,installedApps:[]});const t=new a(e,{installPlan:[{bytes:1324}]}).run();expect(t).toStrictEqual({error:new r("Device metadata not fetched")})})});
2
2
  //# sourceMappingURL=PredictOutOfMemoryTask.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-action/task/PredictOutOfMemoryTask.test.ts"],
4
- "sourcesContent": ["import semver from \"semver\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport type { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport type { DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\nimport type { FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { PredictOutOfMemoryTask } from \"./PredictOutOfMemoryTask\";\n\ndescribe(\"PredictOutOfMemoryTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceModel.mockReturnValue({\n memorySize: 1569792,\n getBlockSize: () => 32,\n } as unknown as TransportDeviceModel);\n });\n\n it(\"Success enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Success not enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n { bytes: 1 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success enough memory (recent Nano S, 2kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 6x2kB blocks of total memory (12kB total)\n // -3*2kB block for firmware (to fit 6kB)\n // -3*2kB block for install plan (to fit 6kB)\n // = 0 blocks left, enough memory\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Success not enough memory (old Nano S, 4kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"1.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 3x4kB blocks of total memory (12kB total)\n // -2x4kB block for firmware (to fit 6kB)\n // -2x4kB blocks for install plan (to fit 6kB)\n // = -1 block left, not enough memory\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success undefined sizes\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: {},\n installedApps: [\n { bytes: 305442 },\n { bytes: null },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Error when device is in incorrect state\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Invalid device state\"),\n });\n });\n\n it(\"Error when device session was not populated\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Device metadata not fetched\"),\n });\n });\n});\n"],
5
- "mappings": "AAAA,OAAOA,MAAY,SAEnB,OAAS,gBAAAC,MAAoB,2BAC7B,OAAS,mCAAAC,MAAuC,oDAChD,OAAS,kBAAAC,MAAsB,+BAG/B,OAAS,0BAAAC,MAA8B,yCAIvC,OAAS,0BAAAC,MAA8B,2BAEvC,SAAS,yBAA0B,IAAM,CACvC,MAAMC,EAAUJ,EAAgC,EAEhD,WAAW,IAAM,CACf,GAAG,cAAc,EACjBI,EAAQ,eAAe,gBAAgB,CACrC,WAAY,QACZ,aAAc,IAAM,EACtB,CAAoC,CACtC,CAAC,EAED,GAAG,wBAAyB,IAAM,CAEhCA,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,0BACzC,aAAcH,EAAa,UAC3B,sBAAuB,CACrB,gBAAiB,CAAE,MAAO,MAAO,CACnC,EACA,YAAa,CAAE,KAAM,KAAM,EAC3B,cAAe,CACb,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,CAClB,EACA,mBAAoB,CAAC,CAAE,GAAI,EAAG,KAAM,KAAM,CAAC,EAC3C,gBAAiB,CAAE,GAAI,OAAQ,CACjC,CAAkC,EAGlC,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CACX,CAAE,MAAO,IAAK,EACd,CAAE,MAAO,IAAK,CAChB,CACF,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,cAAc,CAC3B,YAAa,EACf,CAAC,CACH,CAAC,EAED,GAAG,4BAA6B,IAAM,CAEpCD,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,0BACzC,aAAcH,EAAa,UAC3B,sBAAuB,CACrB,gBAAiB,CAAE,MAAO,MAAO,CACnC,EACA,YAAa,CAAE,KAAM,KAAM,EAC3B,cAAe,CACb,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,CAClB,EACA,mBAAoB,CAAC,CAAE,GAAI,EAAG,KAAM,KAAM,CAAC,EAC3C,gBAAiB,CAAE,GAAI,OAAQ,CACjC,CAAkC,EAGlC,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CACX,CAAE,MAAO,IAAK,EACd,CAAE,MAAO,IAAK,EACd,CAAE,MAAO,CAAE,CACb,CACF,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,cAAc,CAC3B,YAAa,EACf,CAAC,CACH,CAAC,EAED,GAAG,wDAAyD,IAAM,CAEhED,EAAQ,eAAe,oBAAoB,CACzC,WAAY,GAAK,KACjB,aAAc,CAAC,CAAE,gBAAAE,CAAgB,IACxBR,EAAO,GAAGA,EAAO,OAAOQ,CAAe,GAAK,GAAI,OAAO,EAC1D,EAAI,KACJ,EAAI,IAEZ,CAAoC,EAEpCF,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,0BACzC,aAAcH,EAAa,UAC3B,sBAAuB,CACrB,gBAAiB,CAAE,MAAO,EAAI,IAAK,CACrC,EACA,YAAa,CAAE,KAAM,CAAE,EACvB,cAAe,CAAC,EAChB,mBAAoB,CAAC,EACrB,gBAAiB,CAAE,GAAI,OAAQ,CACjC,CAAkC,EAGlC,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CAAC,CAAE,MAAO,EAAI,IAAK,CAAC,CACnC,CAAC,EAAE,IAAI,EAOP,OAAOC,CAAM,EAAE,cAAc,CAC3B,YAAa,EACf,CAAC,CACH,CAAC,EAED,GAAG,yDAA0D,IAAM,CAEjED,EAAQ,eAAe,oBAAoB,CACzC,WAAY,GAAK,KACjB,aAAc,CAAC,CAAE,gBAAAE,CAAgB,IACxBR,EAAO,GAAGA,EAAO,OAAOQ,CAAe,GAAK,GAAI,OAAO,EAC1D,EAAI,KACJ,EAAI,IAEZ,CAAoC,EAEpCF,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,0BACzC,aAAcH,EAAa,UAC3B,sBAAuB,CACrB,gBAAiB,CAAE,MAAO,EAAI,IAAK,CACrC,EACA,YAAa,CAAE,KAAM,CAAE,EACvB,cAAe,CAAC,EAChB,mBAAoB,CAAC,EACrB,gBAAiB,CAAE,GAAI,OAAQ,CACjC,CAAkC,EAGlC,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CAAC,CAAE,MAAO,EAAI,IAAK,CAAC,CACnC,CAAC,EAAE,IAAI,EAOP,OAAOC,CAAM,EAAE,cAAc,CAC3B,YAAa,EACf,CAAC,CACH,CAAC,EAED,GAAG,0BAA2B,IAAM,CAElCD,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,0BACzC,aAAcH,EAAa,UAC3B,sBAAuB,CACrB,gBAAiB,CAAE,MAAO,MAAO,CACnC,EACA,YAAa,CAAC,EACd,cAAe,CACb,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACd,CAAE,MAAO,MAAO,CAClB,EACA,mBAAoB,CAAC,EACrB,gBAAiB,CAAE,GAAI,OAAQ,CACjC,CAAkC,EAGlC,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CACX,CAAE,MAAO,IAAK,EACd,CAAE,MAAO,IAAK,CAChB,CACF,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,cAAc,CAC3B,YAAa,EACf,CAAC,CACH,CAAC,EAED,GAAG,0CAA2C,IAAM,CAElDD,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,UACzC,aAAcH,EAAa,SAC7B,CAAuB,EAGvB,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CAAC,CAAE,MAAO,IAAK,CAAC,CAC/B,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,cAAc,CAC3B,MAAO,IAAIJ,EAAe,sBAAsB,CAClD,CAAC,CACH,CAAC,EAED,GAAG,8CAA+C,IAAM,CAEtDG,EAAQ,sBAAsB,oBAAoB,CAChD,iBAAkBF,EAAuB,0BACzC,aAAcH,EAAa,UAC3B,cAAe,CAAC,CAClB,CAAkC,EAGlC,MAAMM,EAAS,IAAIF,EAAuBC,EAAS,CACjD,YAAa,CAAC,CAAE,MAAO,IAAK,CAAC,CAC/B,CAAC,EAAE,IAAI,EAGP,OAAOC,CAAM,EAAE,cAAc,CAC3B,MAAO,IAAIJ,EAAe,6BAA6B,CACzD,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import semver from \"semver\";\n\nimport { DeviceStatus } from \"@api/device/DeviceStatus\";\nimport { makeDeviceActionInternalApiMock } from \"@api/device-action/__test-utils__/makeInternalApi\";\nimport { UnknownDAError } from \"@api/device-action/os/Errors\";\nimport type { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nimport type { DeviceSessionState } from \"@api/device-session/DeviceSessionState\";\nimport { DeviceSessionStateType } from \"@api/device-session/DeviceSessionState\";\nimport type { Application } from \"@internal/manager-api/model/Application\";\nimport type { FinalFirmware } from \"@internal/manager-api/model/Firmware\";\n\nimport { PredictOutOfMemoryTask } from \"./PredictOutOfMemoryTask\";\n\ndescribe(\"PredictOutOfMemoryTask\", () => {\n const apiMock = makeDeviceActionInternalApiMock();\n\n beforeEach(() => {\n vi.clearAllMocks();\n apiMock.getDeviceModel.mockReturnValue({\n memorySize: 1569792,\n getBlockSize: () => 32,\n } as unknown as TransportDeviceModel);\n });\n\n it(\"Success enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6496 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Success not enough memory\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: { size: 51893 },\n installedApps: [\n { bytes: 305442 },\n { bytes: 514598 },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [{ id: 1, size: 20480 }],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6497 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success not enough memory with no remaining block (recent Nano S, 2kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 6x2kB blocks of total memory (12kB total)\n // -3*2kB block for firmware (to fit 6kB)\n // -3*2kB block for install plan (to fit 6kB)\n // = 0 blocks left, not enough memory\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success not enough memory (old Nano S, 4kB block size)\", () => {\n // GIVEN\n apiMock.getDeviceModel.mockReturnValueOnce({\n memorySize: 12 * 1024,\n getBlockSize: ({ firmwareVersion }: { firmwareVersion: string }) => {\n return semver.lt(semver.coerce(firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024;\n },\n } as unknown as TransportDeviceModel);\n\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 6 * 1024 } as FinalFirmware,\n },\n customImage: { size: 0 },\n installedApps: [],\n installedLanguages: [],\n firmwareVersion: { os: \"1.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 6 * 1024 }] as unknown as Application[],\n }).run();\n\n // THEN\n // 3x4kB blocks of total memory (12kB total)\n // -2x4kB block for firmware (to fit 6kB)\n // -2x4kB blocks for install plan (to fit 6kB)\n // = -1 block left, not enough memory\n expect(result).toStrictEqual({\n outOfMemory: true,\n });\n });\n\n it(\"Success undefined sizes\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n firmwareUpdateContext: {\n currentFirmware: { bytes: 397824 } as FinalFirmware,\n },\n customImage: {},\n installedApps: [\n { bytes: 305442 },\n { bytes: null },\n { bytes: 271583 },\n ] as unknown as Application[],\n installedLanguages: [],\n firmwareVersion: { os: \"2.0.0\" },\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [\n { bytes: 1324 },\n { bytes: 6559 },\n ] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n outOfMemory: false,\n });\n });\n\n it(\"Error when device is in incorrect state\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.Connected,\n deviceStatus: DeviceStatus.CONNECTED,\n } as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Invalid device state\"),\n });\n });\n\n it(\"Error when device session was not populated\", () => {\n // GIVEN\n apiMock.getDeviceSessionState.mockReturnValueOnce({\n sessionStateType: DeviceSessionStateType.ReadyWithoutSecureChannel,\n deviceStatus: DeviceStatus.CONNECTED,\n installedApps: [],\n } as unknown as DeviceSessionState);\n\n // WHEN\n const result = new PredictOutOfMemoryTask(apiMock, {\n installPlan: [{ bytes: 1324 }] as unknown as Application[],\n }).run();\n\n // THEN\n expect(result).toStrictEqual({\n error: new UnknownDAError(\"Device metadata not fetched\"),\n });\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["semver", "DeviceStatus", "makeDeviceActionInternalApiMock", "UnknownDAError", "DeviceSessionStateType", "PredictOutOfMemoryTask", "apiMock", "result", "firmwareVersion"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var n=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=(s,e,d)=>e in s?n(s,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[e]=d;var m=(s,e,d,t)=>{for(var o=t>1?void 0:t?v(e,d):e,c=s.length-1,l;c>=0;c--)(l=s[c])&&(o=(t?l(e,d,o):l(o))||o);return t&&o&&n(e,d,o),o};var U=(s,e,d)=>f(s,typeof e!="symbol"?e+"":e,d);import{injectable as p}from"inversify";import b from"semver";import{DeviceModelId as r}from"../../device/DeviceModel";import{BleDeviceInfos as y}from"../../device-model/model/BleDeviceInfos";import{TransportDeviceModel as u}from"../../device-model/model/DeviceModel";let i=class{getAllDeviceModels(){return Object.values(i.deviceModelByIds)}getDeviceModel(e){return i.deviceModelByIds[e.id]}filterDeviceModels(e){return this.getAllDeviceModels().filter(d=>Object.entries(e).every(([t,o])=>d[t]===o))}getBluetoothServicesInfos(){return Object.values(i.deviceModelByIds).reduce((e,d)=>{const{bluetoothSpec:t}=d;return t?{...e,...t.reduce((o,c)=>({...o,[c.serviceUuid]:new y(d,c.serviceUuid,c.writeUuid,c.writeCmdUuid,c.notifyUuid)}),{})}:e},{})}getBluetoothServices(){return Object.values(i.deviceModelByIds).map(e=>(e.bluetoothSpec||[]).map(d=>d.serviceUuid)).flat().filter(e=>!!e)}};U(i,"deviceModelByIds",{[r.NANO_S]:new u({id:r.NANO_S,productName:"Ledger Nano S",usbProductId:16,bootloaderUsbProductId:1,usbOnly:!0,memorySize:320*1024,getBlockSize:e=>b.lt(b.coerce(e.firmwareVersion)??"","2.0.0")?4*1024:2*1024,masks:[823132160]}),[r.NANO_SP]:new u({id:r.NANO_SP,productName:"Ledger Nano S Plus",usbProductId:80,bootloaderUsbProductId:5,usbOnly:!0,memorySize:1533*1024,getBlockSize:()=>32,masks:[856686592]}),[r.NANO_X]:new u({id:r.NANO_X,productName:"Ledger Nano X",usbProductId:64,bootloaderUsbProductId:4,usbOnly:!1,memorySize:2*1024*1024,getBlockSize:()=>4*1024,masks:[855638016],bluetoothSpec:[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",notifyUuid:"13d63400-2c97-0004-0001-4c6564676572",writeUuid:"13d63400-2c97-0004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-0004-0003-4c6564676572"}]}),[r.STAX]:new u({id:r.STAX,productName:"Ledger Stax",usbProductId:96,bootloaderUsbProductId:6,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>32,masks:[857735168],bluetoothSpec:[{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",notifyUuid:"13d63400-2c97-6004-0001-4c6564676572",writeUuid:"13d63400-2c97-6004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-6004-0003-4c6564676572"}]}),[r.FLEX]:new u({id:r.FLEX,productName:"Ledger Flex",usbProductId:112,bootloaderUsbProductId:7,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>32,masks:[858783744],bluetoothSpec:[{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",notifyUuid:"13d63400-2c97-3004-0001-4c6564676572",writeUuid:"13d63400-2c97-3004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-3004-0003-4c6564676572"}]}),[r.APEX]:new u({id:r.APEX,productName:"Ledger\xA0Nano\xA0Gen5",usbProductId:128,bootloaderUsbProductId:8,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>32,masks:[859832320],bluetoothSpec:[{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",notifyUuid:"13d63400-2c97-8004-0001-4c6564676572",writeUuid:"13d63400-2c97-8004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-8004-0003-4c6564676572"},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",notifyUuid:"13d63400-2c97-9004-0001-4c6564676572",writeUuid:"13d63400-2c97-9004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-9004-0003-4c6564676572"}]})}),i=m([p()],i);export{i as StaticDeviceModelDataSource};
1
+ var n=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var f=(s,e,d)=>e in s?n(s,e,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[e]=d;var m=(s,e,d,t)=>{for(var o=t>1?void 0:t?v(e,d):e,c=s.length-1,l;c>=0;c--)(l=s[c])&&(o=(t?l(e,d,o):l(o))||o);return t&&o&&n(e,d,o),o};var U=(s,e,d)=>f(s,typeof e!="symbol"?e+"":e,d);import{injectable as p}from"inversify";import b from"semver";import{DeviceModelId as r}from"../../device/DeviceModel";import{BleDeviceInfos as y}from"../../device-model/model/BleDeviceInfos";import{TransportDeviceModel as u}from"../../device-model/model/DeviceModel";let i=class{getAllDeviceModels(){return Object.values(i.deviceModelByIds)}getDeviceModel(e){return i.deviceModelByIds[e.id]}filterDeviceModels(e){return this.getAllDeviceModels().filter(d=>Object.entries(e).every(([t,o])=>d[t]===o))}getBluetoothServicesInfos(){return Object.values(i.deviceModelByIds).reduce((e,d)=>{const{bluetoothSpec:t}=d;return t?{...e,...t.reduce((o,c)=>({...o,[c.serviceUuid]:new y(d,c.serviceUuid,c.writeUuid,c.writeCmdUuid,c.notifyUuid)}),{})}:e},{})}getBluetoothServices(){return Object.values(i.deviceModelByIds).map(e=>(e.bluetoothSpec||[]).map(d=>d.serviceUuid)).flat().filter(e=>!!e)}};U(i,"deviceModelByIds",{[r.NANO_S]:new u({id:r.NANO_S,productName:"Ledger Nano S",usbProductId:16,bootloaderUsbProductId:1,usbOnly:!0,memorySize:320*1024,getBlockSize:e=>b.lt(b.coerce(e.firmwareVersion)??"","2.0.0")?4*1024:2*1024,masks:[823132160]}),[r.NANO_SP]:new u({id:r.NANO_SP,productName:"Ledger Nano S Plus",usbProductId:80,bootloaderUsbProductId:5,usbOnly:!0,memorySize:1533*1024,getBlockSize:()=>512,masks:[856686592]}),[r.NANO_X]:new u({id:r.NANO_X,productName:"Ledger Nano X",usbProductId:64,bootloaderUsbProductId:4,usbOnly:!1,memorySize:2*1024*1024,getBlockSize:()=>4*1024,masks:[855638016],bluetoothSpec:[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",notifyUuid:"13d63400-2c97-0004-0001-4c6564676572",writeUuid:"13d63400-2c97-0004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-0004-0003-4c6564676572"}]}),[r.STAX]:new u({id:r.STAX,productName:"Ledger Stax",usbProductId:96,bootloaderUsbProductId:6,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>512,masks:[857735168],bluetoothSpec:[{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",notifyUuid:"13d63400-2c97-6004-0001-4c6564676572",writeUuid:"13d63400-2c97-6004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-6004-0003-4c6564676572"}]}),[r.FLEX]:new u({id:r.FLEX,productName:"Ledger Flex",usbProductId:112,bootloaderUsbProductId:7,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>512,masks:[858783744],bluetoothSpec:[{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",notifyUuid:"13d63400-2c97-3004-0001-4c6564676572",writeUuid:"13d63400-2c97-3004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-3004-0003-4c6564676572"}]}),[r.APEX]:new u({id:r.APEX,productName:"Ledger\xA0Nano\xA0Gen5",usbProductId:128,bootloaderUsbProductId:8,usbOnly:!1,memorySize:1533*1024,getBlockSize:()=>512,masks:[859832320],bluetoothSpec:[{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",notifyUuid:"13d63400-2c97-8004-0001-4c6564676572",writeUuid:"13d63400-2c97-8004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-8004-0003-4c6564676572"},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",notifyUuid:"13d63400-2c97-9004-0001-4c6564676572",writeUuid:"13d63400-2c97-9004-0002-4c6564676572",writeCmdUuid:"13d63400-2c97-9004-0003-4c6564676572"}]})}),i=m([p()],i);export{i as StaticDeviceModelDataSource};
2
2
  //# sourceMappingURL=StaticDeviceModelDataSource.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-model/data/StaticDeviceModelDataSource.ts"],
4
- "sourcesContent": ["import { injectable } from \"inversify\";\nimport semver from \"semver\";\n\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nimport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\n\n/**\n * Static/in memory implementation of the device model data source\n */\n@injectable()\nexport class StaticDeviceModelDataSource implements DeviceModelDataSource {\n private static deviceModelByIds: {\n [_key in DeviceModelId]: TransportDeviceModel;\n } = {\n [DeviceModelId.NANO_S]: new TransportDeviceModel({\n id: DeviceModelId.NANO_S,\n productName: \"Ledger Nano S\",\n usbProductId: 0x10,\n bootloaderUsbProductId: 0x0001,\n usbOnly: true,\n memorySize: 320 * 1024,\n getBlockSize: (p: { firmwareVersion: string }) =>\n semver.lt(semver.coerce(p.firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024,\n masks: [0x31100000],\n }),\n [DeviceModelId.NANO_SP]: new TransportDeviceModel({\n id: DeviceModelId.NANO_SP,\n productName: \"Ledger Nano S Plus\",\n usbProductId: 0x50,\n bootloaderUsbProductId: 0x0005,\n usbOnly: true,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33100000],\n }),\n [DeviceModelId.NANO_X]: new TransportDeviceModel({\n id: DeviceModelId.NANO_X,\n productName: \"Ledger Nano X\",\n usbProductId: 0x40,\n bootloaderUsbProductId: 0x0004,\n usbOnly: false,\n memorySize: 2 * 1024 * 1024,\n getBlockSize: () => 4 * 1024,\n masks: [0x33000000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-0004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-0004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-0004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.STAX]: new TransportDeviceModel({\n id: DeviceModelId.STAX,\n productName: \"Ledger Stax\",\n usbProductId: 0x60,\n bootloaderUsbProductId: 0x0006,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33200000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-6004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-6004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-6004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.FLEX]: new TransportDeviceModel({\n id: DeviceModelId.FLEX,\n productName: \"Ledger Flex\",\n usbProductId: 0x70,\n bootloaderUsbProductId: 0x0007,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33300000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-3004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-3004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-3004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.APEX]: new TransportDeviceModel({\n id: DeviceModelId.APEX,\n productName: \"Ledger\u00A0Nano\u00A0Gen5\",\n usbProductId: 0x80,\n bootloaderUsbProductId: 0x0008,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 32,\n masks: [0x33400000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-8004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-8004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-8004-0003-4c6564676572\",\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-9004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-9004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-9004-0003-4c6564676572\",\n },\n ],\n }),\n };\n\n getAllDeviceModels(): TransportDeviceModel[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds);\n }\n\n getDeviceModel(params: { id: DeviceModelId }): TransportDeviceModel {\n return StaticDeviceModelDataSource.deviceModelByIds[params.id];\n }\n\n /**\n * Returns the list of device models that match all the given parameters\n */\n filterDeviceModels(\n params: Partial<TransportDeviceModel>,\n ): TransportDeviceModel[] {\n return this.getAllDeviceModels().filter((deviceModel) => {\n return Object.entries(params).every(([key, value]) => {\n return deviceModel[key as keyof TransportDeviceModel] === value;\n });\n });\n }\n\n /**\n * @returns A record of service UUIDs to BleDeviceInfos\n */\n getBluetoothServicesInfos(): Record<string, BleDeviceInfos> {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds).reduce<\n Record<string, BleDeviceInfos>\n >((acc, deviceModel) => {\n const { bluetoothSpec } = deviceModel;\n if (bluetoothSpec) {\n return {\n ...acc,\n ...bluetoothSpec.reduce<Record<string, BleDeviceInfos>>(\n (serviceToModel, bleSpec) => ({\n ...serviceToModel,\n [bleSpec.serviceUuid]: new BleDeviceInfos(\n deviceModel,\n bleSpec.serviceUuid,\n bleSpec.writeUuid,\n bleSpec.writeCmdUuid,\n bleSpec.notifyUuid,\n ),\n }),\n {},\n ),\n };\n }\n return acc;\n }, {});\n }\n\n getBluetoothServices(): string[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds)\n .map((deviceModel) =>\n (deviceModel.bluetoothSpec || []).map((spec) => spec.serviceUuid),\n )\n .flat()\n .filter((uuid) => !!uuid);\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { injectable } from \"inversify\";\nimport semver from \"semver\";\n\nimport { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { DeviceModelDataSource } from \"@api/device-model/data/DeviceModelDataSource\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nimport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\n\n/**\n * Static/in memory implementation of the device model data source\n */\n@injectable()\nexport class StaticDeviceModelDataSource implements DeviceModelDataSource {\n private static deviceModelByIds: {\n [_key in DeviceModelId]: TransportDeviceModel;\n } = {\n [DeviceModelId.NANO_S]: new TransportDeviceModel({\n id: DeviceModelId.NANO_S,\n productName: \"Ledger Nano S\",\n usbProductId: 0x10,\n bootloaderUsbProductId: 0x0001,\n usbOnly: true,\n memorySize: 320 * 1024,\n getBlockSize: (p: { firmwareVersion: string }) =>\n semver.lt(semver.coerce(p.firmwareVersion) ?? \"\", \"2.0.0\")\n ? 4 * 1024\n : 2 * 1024,\n masks: [0x31100000],\n }),\n [DeviceModelId.NANO_SP]: new TransportDeviceModel({\n id: DeviceModelId.NANO_SP,\n productName: \"Ledger Nano S Plus\",\n usbProductId: 0x50,\n bootloaderUsbProductId: 0x0005,\n usbOnly: true,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33100000],\n }),\n [DeviceModelId.NANO_X]: new TransportDeviceModel({\n id: DeviceModelId.NANO_X,\n productName: \"Ledger Nano X\",\n usbProductId: 0x40,\n bootloaderUsbProductId: 0x0004,\n usbOnly: false,\n memorySize: 2 * 1024 * 1024,\n getBlockSize: () => 4 * 1024,\n masks: [0x33000000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-0004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-0004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-0004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.STAX]: new TransportDeviceModel({\n id: DeviceModelId.STAX,\n productName: \"Ledger Stax\",\n usbProductId: 0x60,\n bootloaderUsbProductId: 0x0006,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33200000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-6004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-6004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-6004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.FLEX]: new TransportDeviceModel({\n id: DeviceModelId.FLEX,\n productName: \"Ledger Flex\",\n usbProductId: 0x70,\n bootloaderUsbProductId: 0x0007,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33300000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-3004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-3004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-3004-0003-4c6564676572\",\n },\n ],\n }),\n [DeviceModelId.APEX]: new TransportDeviceModel({\n id: DeviceModelId.APEX,\n productName: \"Ledger\u00A0Nano\u00A0Gen5\",\n usbProductId: 0x80,\n bootloaderUsbProductId: 0x0008,\n usbOnly: false,\n memorySize: 1533 * 1024,\n getBlockSize: () => 512,\n masks: [0x33400000],\n bluetoothSpec: [\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-8004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-8004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-8004-0003-4c6564676572\",\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n notifyUuid: \"13d63400-2c97-9004-0001-4c6564676572\",\n writeUuid: \"13d63400-2c97-9004-0002-4c6564676572\",\n writeCmdUuid: \"13d63400-2c97-9004-0003-4c6564676572\",\n },\n ],\n }),\n };\n\n getAllDeviceModels(): TransportDeviceModel[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds);\n }\n\n getDeviceModel(params: { id: DeviceModelId }): TransportDeviceModel {\n return StaticDeviceModelDataSource.deviceModelByIds[params.id];\n }\n\n /**\n * Returns the list of device models that match all the given parameters\n */\n filterDeviceModels(\n params: Partial<TransportDeviceModel>,\n ): TransportDeviceModel[] {\n return this.getAllDeviceModels().filter((deviceModel) => {\n return Object.entries(params).every(([key, value]) => {\n return deviceModel[key as keyof TransportDeviceModel] === value;\n });\n });\n }\n\n /**\n * @returns A record of service UUIDs to BleDeviceInfos\n */\n getBluetoothServicesInfos(): Record<string, BleDeviceInfos> {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds).reduce<\n Record<string, BleDeviceInfos>\n >((acc, deviceModel) => {\n const { bluetoothSpec } = deviceModel;\n if (bluetoothSpec) {\n return {\n ...acc,\n ...bluetoothSpec.reduce<Record<string, BleDeviceInfos>>(\n (serviceToModel, bleSpec) => ({\n ...serviceToModel,\n [bleSpec.serviceUuid]: new BleDeviceInfos(\n deviceModel,\n bleSpec.serviceUuid,\n bleSpec.writeUuid,\n bleSpec.writeCmdUuid,\n bleSpec.notifyUuid,\n ),\n }),\n {},\n ),\n };\n }\n return acc;\n }, {});\n }\n\n getBluetoothServices(): string[] {\n return Object.values(StaticDeviceModelDataSource.deviceModelByIds)\n .map((deviceModel) =>\n (deviceModel.bluetoothSpec || []).map((spec) => spec.serviceUuid),\n )\n .flat()\n .filter((uuid) => !!uuid);\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["injectable", "semver", "DeviceModelId", "BleDeviceInfos", "TransportDeviceModel", "StaticDeviceModelDataSource", "params", "deviceModel", "key", "value", "acc", "bluetoothSpec", "serviceToModel", "bleSpec", "BleDeviceInfos", "spec", "uuid", "__publicField", "DeviceModelId", "TransportDeviceModel", "p", "semver", "__decorateClass", "injectable"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{DeviceModelId as e}from"../../device/DeviceModel";import{BleDeviceInfos as r}from"../../device-model/model/BleDeviceInfos";import{StaticDeviceModelDataSource as n}from"./StaticDeviceModelDataSource";describe("StaticDeviceModelDataSource",()=>{describe("getAllDeviceModels",()=>{it("should return all device models",()=>{const c=new n().getAllDeviceModels();expect(c.length).toEqual(6),expect(c).toContainEqual(expect.objectContaining({id:e.APEX})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_S})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_X})),expect(c).toContainEqual(expect.objectContaining({id:e.STAX})),expect(c).toContainEqual(expect.objectContaining({id:e.FLEX}))})}),describe("getDeviceModel",()=>{it("should return the associated device model",()=>{const t=new n,c=t.getDeviceModel({id:e.NANO_S});expect(c).toEqual(expect.objectContaining({id:e.NANO_S}));const o=t.getDeviceModel({id:e.NANO_SP});expect(o).toEqual(expect.objectContaining({id:e.NANO_SP}));const i=t.getDeviceModel({id:e.NANO_X});expect(i).toEqual(expect.objectContaining({id:e.NANO_X}));const d=t.getDeviceModel({id:e.STAX});expect(d).toEqual(expect.objectContaining({id:e.STAX}));const l=t.getDeviceModel({id:e.FLEX});expect(l).toEqual(expect.objectContaining({id:e.FLEX}))})}),describe("filterDeviceModels",()=>{it("should return the device models that match the given single parameter",()=>{const t=new n,c=t.filterDeviceModels({usbOnly:!0});expect(c.length).toEqual(2),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_S}));const o=t.filterDeviceModels({usbProductId:16});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.NANO_S}));const i=t.filterDeviceModels({usbProductId:64});expect(i.length).toEqual(1),expect(i[0]).toEqual(expect.objectContaining({id:e.NANO_X}));const d=t.filterDeviceModels({usbProductId:80});expect(d.length).toEqual(1),expect(d[0]).toEqual(expect.objectContaining({id:e.NANO_SP}));const l=t.filterDeviceModels({usbProductId:96});expect(l.length).toEqual(1),expect(l[0]).toEqual(expect.objectContaining({id:e.STAX}));const s=t.filterDeviceModels({usbProductId:0});expect(s.length).toEqual(0)}),it("should return the device models that match the given multiple parameters",()=>{const t=new n,c=t.filterDeviceModels({usbOnly:!1,usbProductId:64});expect(c.length).toEqual(1),expect(c[0]).toEqual(expect.objectContaining({id:e.NANO_X}));const o=t.filterDeviceModels({usbOnly:!0,usbProductId:80});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.NANO_SP}));const i=t.filterDeviceModels({usbOnly:!1,usbProductId:16});expect(i.length).toEqual(0)})}),describe("getBluetoothServicesInfos",()=>{it("should return the ble service infos record",()=>{const c=new n,o=c.getBluetoothServicesInfos();expect(o).toStrictEqual({"13d63400-2c97-0004-0000-4c6564676572":new r(c.getDeviceModel({id:e.NANO_X}),"13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-0004-0002-4c6564676572","13d63400-2c97-0004-0003-4c6564676572","13d63400-2c97-0004-0001-4c6564676572"),"13d63400-2c97-6004-0000-4c6564676572":new r(c.getDeviceModel({id:e.STAX}),"13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-6004-0002-4c6564676572","13d63400-2c97-6004-0003-4c6564676572","13d63400-2c97-6004-0001-4c6564676572"),"13d63400-2c97-3004-0000-4c6564676572":new r(c.getDeviceModel({id:e.FLEX}),"13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-3004-0002-4c6564676572","13d63400-2c97-3004-0003-4c6564676572","13d63400-2c97-3004-0001-4c6564676572"),"13d63400-2c97-8004-0000-4c6564676572":new r(c.getDeviceModel({id:e.APEX}),"13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-8004-0002-4c6564676572","13d63400-2c97-8004-0003-4c6564676572","13d63400-2c97-8004-0001-4c6564676572"),"13d63400-2c97-9004-0000-4c6564676572":new r(c.getDeviceModel({id:e.APEX}),"13d63400-2c97-9004-0000-4c6564676572","13d63400-2c97-9004-0002-4c6564676572","13d63400-2c97-9004-0003-4c6564676572","13d63400-2c97-9004-0001-4c6564676572")})});const t=[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",deviceModel:e.NANO_X},{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",deviceModel:e.STAX},{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",deviceModel:e.FLEX},{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",deviceModel:e.APEX},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",deviceModel:e.APEX}];it.each(t)("should properly map the service UUID $serviceUuid to the device model $deviceModel",({serviceUuid:c,deviceModel:o})=>{const d=new n().getBluetoothServicesInfos();expect(d[c]?.deviceModel.id).toEqual(o)})}),describe("getBluetoothServices",()=>{it("should return the bluetooth services",()=>{const c=new n().getBluetoothServices();expect(c).toStrictEqual(["13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-9004-0000-4c6564676572"])})}),describe("getBlockSize",()=>{const t={[e.NANO_S]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096},{firmwareVersion:"1.0.0-rc1",expectedBlockSize:4096},{firmwareVersion:"2.0.0",expectedBlockSize:2048},{firmwareVersion:"2.0.0-rc1",expectedBlockSize:2048}],[e.NANO_SP]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}],[e.NANO_X]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096}],[e.STAX]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}],[e.FLEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}],[e.APEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:32}]};describe.each(Object.entries(t))("Device Model: %s",(c,o)=>{it.each(o)("should return $expectedBlockSize for firmware version $firmwareVersion",({firmwareVersion:i,expectedBlockSize:d})=>{const l=new n().getDeviceModel({id:c});expect(l.getBlockSize({firmwareVersion:i})).toBe(d)})})})});
1
+ import{DeviceModelId as e}from"../../device/DeviceModel";import{BleDeviceInfos as r}from"../../device-model/model/BleDeviceInfos";import{StaticDeviceModelDataSource as n}from"./StaticDeviceModelDataSource";describe("StaticDeviceModelDataSource",()=>{describe("getAllDeviceModels",()=>{it("should return all device models",()=>{const c=new n().getAllDeviceModels();expect(c.length).toEqual(6),expect(c).toContainEqual(expect.objectContaining({id:e.APEX})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_S})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_X})),expect(c).toContainEqual(expect.objectContaining({id:e.STAX})),expect(c).toContainEqual(expect.objectContaining({id:e.FLEX}))})}),describe("getDeviceModel",()=>{it("should return the associated device model",()=>{const t=new n,c=t.getDeviceModel({id:e.NANO_S});expect(c).toEqual(expect.objectContaining({id:e.NANO_S}));const o=t.getDeviceModel({id:e.NANO_SP});expect(o).toEqual(expect.objectContaining({id:e.NANO_SP}));const i=t.getDeviceModel({id:e.NANO_X});expect(i).toEqual(expect.objectContaining({id:e.NANO_X}));const d=t.getDeviceModel({id:e.STAX});expect(d).toEqual(expect.objectContaining({id:e.STAX}));const l=t.getDeviceModel({id:e.FLEX});expect(l).toEqual(expect.objectContaining({id:e.FLEX}))})}),describe("filterDeviceModels",()=>{it("should return the device models that match the given single parameter",()=>{const t=new n,c=t.filterDeviceModels({usbOnly:!0});expect(c.length).toEqual(2),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_SP})),expect(c).toContainEqual(expect.objectContaining({id:e.NANO_S}));const o=t.filterDeviceModels({usbProductId:16});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.NANO_S}));const i=t.filterDeviceModels({usbProductId:64});expect(i.length).toEqual(1),expect(i[0]).toEqual(expect.objectContaining({id:e.NANO_X}));const d=t.filterDeviceModels({usbProductId:80});expect(d.length).toEqual(1),expect(d[0]).toEqual(expect.objectContaining({id:e.NANO_SP}));const l=t.filterDeviceModels({usbProductId:96});expect(l.length).toEqual(1),expect(l[0]).toEqual(expect.objectContaining({id:e.STAX}));const s=t.filterDeviceModels({usbProductId:0});expect(s.length).toEqual(0)}),it("should return the device models that match the given multiple parameters",()=>{const t=new n,c=t.filterDeviceModels({usbOnly:!1,usbProductId:64});expect(c.length).toEqual(1),expect(c[0]).toEqual(expect.objectContaining({id:e.NANO_X}));const o=t.filterDeviceModels({usbOnly:!0,usbProductId:80});expect(o.length).toEqual(1),expect(o[0]).toEqual(expect.objectContaining({id:e.NANO_SP}));const i=t.filterDeviceModels({usbOnly:!1,usbProductId:16});expect(i.length).toEqual(0)})}),describe("getBluetoothServicesInfos",()=>{it("should return the ble service infos record",()=>{const c=new n,o=c.getBluetoothServicesInfos();expect(o).toStrictEqual({"13d63400-2c97-0004-0000-4c6564676572":new r(c.getDeviceModel({id:e.NANO_X}),"13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-0004-0002-4c6564676572","13d63400-2c97-0004-0003-4c6564676572","13d63400-2c97-0004-0001-4c6564676572"),"13d63400-2c97-6004-0000-4c6564676572":new r(c.getDeviceModel({id:e.STAX}),"13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-6004-0002-4c6564676572","13d63400-2c97-6004-0003-4c6564676572","13d63400-2c97-6004-0001-4c6564676572"),"13d63400-2c97-3004-0000-4c6564676572":new r(c.getDeviceModel({id:e.FLEX}),"13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-3004-0002-4c6564676572","13d63400-2c97-3004-0003-4c6564676572","13d63400-2c97-3004-0001-4c6564676572"),"13d63400-2c97-8004-0000-4c6564676572":new r(c.getDeviceModel({id:e.APEX}),"13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-8004-0002-4c6564676572","13d63400-2c97-8004-0003-4c6564676572","13d63400-2c97-8004-0001-4c6564676572"),"13d63400-2c97-9004-0000-4c6564676572":new r(c.getDeviceModel({id:e.APEX}),"13d63400-2c97-9004-0000-4c6564676572","13d63400-2c97-9004-0002-4c6564676572","13d63400-2c97-9004-0003-4c6564676572","13d63400-2c97-9004-0001-4c6564676572")})});const t=[{serviceUuid:"13d63400-2c97-0004-0000-4c6564676572",deviceModel:e.NANO_X},{serviceUuid:"13d63400-2c97-6004-0000-4c6564676572",deviceModel:e.STAX},{serviceUuid:"13d63400-2c97-3004-0000-4c6564676572",deviceModel:e.FLEX},{serviceUuid:"13d63400-2c97-8004-0000-4c6564676572",deviceModel:e.APEX},{serviceUuid:"13d63400-2c97-9004-0000-4c6564676572",deviceModel:e.APEX}];it.each(t)("should properly map the service UUID $serviceUuid to the device model $deviceModel",({serviceUuid:c,deviceModel:o})=>{const d=new n().getBluetoothServicesInfos();expect(d[c]?.deviceModel.id).toEqual(o)})}),describe("getBluetoothServices",()=>{it("should return the bluetooth services",()=>{const c=new n().getBluetoothServices();expect(c).toStrictEqual(["13d63400-2c97-0004-0000-4c6564676572","13d63400-2c97-6004-0000-4c6564676572","13d63400-2c97-3004-0000-4c6564676572","13d63400-2c97-8004-0000-4c6564676572","13d63400-2c97-9004-0000-4c6564676572"])})}),describe("getBlockSize",()=>{const t={[e.NANO_S]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096},{firmwareVersion:"1.0.0-rc1",expectedBlockSize:4096},{firmwareVersion:"2.0.0",expectedBlockSize:2048},{firmwareVersion:"2.0.0-rc1",expectedBlockSize:2048}],[e.NANO_SP]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}],[e.NANO_X]:[{firmwareVersion:"1.0.0",expectedBlockSize:4096}],[e.STAX]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}],[e.FLEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}],[e.APEX]:[{firmwareVersion:"1.0.0",expectedBlockSize:512}]};describe.each(Object.entries(t))("Device Model: %s",(c,o)=>{it.each(o)("should return $expectedBlockSize for firmware version $firmwareVersion",({firmwareVersion:i,expectedBlockSize:d})=>{const l=new n().getDeviceModel({id:c});expect(l.getBlockSize({firmwareVersion:i})).toBe(d)})})})});
2
2
  //# sourceMappingURL=StaticDeviceModelDataSource.test.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/api/device-model/data/StaticDeviceModelDataSource.test.ts"],
4
- "sourcesContent": ["import { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\n\nimport { StaticDeviceModelDataSource } from \"./StaticDeviceModelDataSource\";\n\ndescribe(\"StaticDeviceModelDataSource\", () => {\n describe(\"getAllDeviceModels\", () => {\n it(\"should return all device models\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n const deviceModels = dataSource.getAllDeviceModels();\n\n expect(deviceModels.length).toEqual(6);\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.APEX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"getDeviceModel\", () => {\n it(\"should return the associated device model\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModel1 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_S,\n });\n expect(deviceModel1).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModel2 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_SP,\n });\n expect(deviceModel2).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModel3 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_X,\n });\n expect(deviceModel3).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModel4 = dataSource.getDeviceModel({\n id: DeviceModelId.STAX,\n });\n expect(deviceModel4).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModel5 = dataSource.getDeviceModel({\n id: DeviceModelId.FLEX,\n });\n expect(deviceModel5).toEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"filterDeviceModels\", () => {\n it(\"should return the device models that match the given single parameter\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({ usbOnly: true });\n expect(deviceModels1.length).toEqual(2);\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbProductId: 0x10,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels3 = dataSource.filterDeviceModels({\n usbProductId: 0x40,\n });\n expect(deviceModels3.length).toEqual(1);\n expect(deviceModels3[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels4 = dataSource.filterDeviceModels({\n usbProductId: 0x50,\n });\n expect(deviceModels4.length).toEqual(1);\n expect(deviceModels4[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModels5 = dataSource.filterDeviceModels({\n usbProductId: 0x60,\n });\n expect(deviceModels5.length).toEqual(1);\n expect(deviceModels5[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModels6 = dataSource.filterDeviceModels({\n usbProductId: 0x00,\n });\n expect(deviceModels6.length).toEqual(0);\n });\n\n it(\"should return the device models that match the given multiple parameters\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x40,\n });\n expect(deviceModels1.length).toEqual(1);\n expect(deviceModels1[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbOnly: true,\n usbProductId: 0x50,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n // Nano S is usbOnly\n const deviceModels3 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x10,\n });\n expect(deviceModels3.length).toEqual(0);\n });\n });\n describe(\"getBluetoothServicesInfos\", () => {\n it(\"should return the ble service infos record\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos).toStrictEqual({\n \"13d63400-2c97-0004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.NANO_X }),\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-0004-0002-4c6564676572\",\n \"13d63400-2c97-0004-0003-4c6564676572\",\n \"13d63400-2c97-0004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-6004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.STAX }),\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0002-4c6564676572\",\n \"13d63400-2c97-6004-0003-4c6564676572\",\n \"13d63400-2c97-6004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-3004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.FLEX }),\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0002-4c6564676572\",\n \"13d63400-2c97-3004-0003-4c6564676572\",\n \"13d63400-2c97-3004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-8004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0002-4c6564676572\",\n \"13d63400-2c97-8004-0003-4c6564676572\",\n \"13d63400-2c97-8004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-9004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-9004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0002-4c6564676572\",\n \"13d63400-2c97-9004-0003-4c6564676572\",\n \"13d63400-2c97-9004-0001-4c6564676572\",\n ),\n });\n });\n const expectedMatches = [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n deviceModel: DeviceModelId.NANO_X,\n },\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n deviceModel: DeviceModelId.STAX,\n },\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n deviceModel: DeviceModelId.FLEX,\n },\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n ];\n\n it.each(expectedMatches)(\n \"should properly map the service UUID $serviceUuid to the device model $deviceModel\",\n ({ serviceUuid, deviceModel }) => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos[serviceUuid]?.deviceModel.id).toEqual(\n deviceModel,\n );\n },\n );\n });\n describe(\"getBluetoothServices\", () => {\n it(\"should return the bluetooth services\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServices = dataSource.getBluetoothServices();\n // then\n expect(bleServices).toStrictEqual([\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0000-4c6564676572\",\n ]);\n });\n });\n\n describe(\"getBlockSize\", () => {\n const testData: Record<\n DeviceModelId,\n Array<{ firmwareVersion: string; expectedBlockSize: number }>\n > = {\n [DeviceModelId.NANO_S]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"1.0.0-rc1\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"2.0.0\", expectedBlockSize: 2 * 1024 },\n { firmwareVersion: \"2.0.0-rc1\", expectedBlockSize: 2 * 1024 },\n ],\n [DeviceModelId.NANO_SP]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n [DeviceModelId.NANO_X]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n ],\n [DeviceModelId.STAX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n [DeviceModelId.FLEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n [DeviceModelId.APEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 32 },\n ],\n };\n\n describe.each(Object.entries(testData))(\n \"Device Model: %s\",\n (deviceModelId, scenarios) => {\n it.each(scenarios)(\n \"should return $expectedBlockSize for firmware version $firmwareVersion\",\n ({ firmwareVersion, expectedBlockSize }) => {\n const deviceModel =\n new StaticDeviceModelDataSource().getDeviceModel({\n id: deviceModelId as DeviceModelId,\n });\n expect(deviceModel.getBlockSize({ firmwareVersion })).toBe(\n expectedBlockSize,\n );\n },\n );\n },\n );\n });\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { DeviceModelId } from \"@api/device/DeviceModel\";\nimport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\n\nimport { StaticDeviceModelDataSource } from \"./StaticDeviceModelDataSource\";\n\ndescribe(\"StaticDeviceModelDataSource\", () => {\n describe(\"getAllDeviceModels\", () => {\n it(\"should return all device models\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n const deviceModels = dataSource.getAllDeviceModels();\n\n expect(deviceModels.length).toEqual(6);\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.APEX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n expect(deviceModels).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"getDeviceModel\", () => {\n it(\"should return the associated device model\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModel1 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_S,\n });\n expect(deviceModel1).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModel2 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_SP,\n });\n expect(deviceModel2).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModel3 = dataSource.getDeviceModel({\n id: DeviceModelId.NANO_X,\n });\n expect(deviceModel3).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModel4 = dataSource.getDeviceModel({\n id: DeviceModelId.STAX,\n });\n expect(deviceModel4).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModel5 = dataSource.getDeviceModel({\n id: DeviceModelId.FLEX,\n });\n expect(deviceModel5).toEqual(\n expect.objectContaining({ id: DeviceModelId.FLEX }),\n );\n });\n });\n\n describe(\"filterDeviceModels\", () => {\n it(\"should return the device models that match the given single parameter\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({ usbOnly: true });\n expect(deviceModels1.length).toEqual(2);\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n expect(deviceModels1).toContainEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbProductId: 0x10,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_S }),\n );\n\n const deviceModels3 = dataSource.filterDeviceModels({\n usbProductId: 0x40,\n });\n expect(deviceModels3.length).toEqual(1);\n expect(deviceModels3[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels4 = dataSource.filterDeviceModels({\n usbProductId: 0x50,\n });\n expect(deviceModels4.length).toEqual(1);\n expect(deviceModels4[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n const deviceModels5 = dataSource.filterDeviceModels({\n usbProductId: 0x60,\n });\n expect(deviceModels5.length).toEqual(1);\n expect(deviceModels5[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.STAX }),\n );\n\n const deviceModels6 = dataSource.filterDeviceModels({\n usbProductId: 0x00,\n });\n expect(deviceModels6.length).toEqual(0);\n });\n\n it(\"should return the device models that match the given multiple parameters\", () => {\n const dataSource = new StaticDeviceModelDataSource();\n\n const deviceModels1 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x40,\n });\n expect(deviceModels1.length).toEqual(1);\n expect(deviceModels1[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_X }),\n );\n\n const deviceModels2 = dataSource.filterDeviceModels({\n usbOnly: true,\n usbProductId: 0x50,\n });\n expect(deviceModels2.length).toEqual(1);\n expect(deviceModels2[0]).toEqual(\n expect.objectContaining({ id: DeviceModelId.NANO_SP }),\n );\n\n // Nano S is usbOnly\n const deviceModels3 = dataSource.filterDeviceModels({\n usbOnly: false,\n usbProductId: 0x10,\n });\n expect(deviceModels3.length).toEqual(0);\n });\n });\n describe(\"getBluetoothServicesInfos\", () => {\n it(\"should return the ble service infos record\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos).toStrictEqual({\n \"13d63400-2c97-0004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.NANO_X }),\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-0004-0002-4c6564676572\",\n \"13d63400-2c97-0004-0003-4c6564676572\",\n \"13d63400-2c97-0004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-6004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.STAX }),\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0002-4c6564676572\",\n \"13d63400-2c97-6004-0003-4c6564676572\",\n \"13d63400-2c97-6004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-3004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.FLEX }),\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0002-4c6564676572\",\n \"13d63400-2c97-3004-0003-4c6564676572\",\n \"13d63400-2c97-3004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-8004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0002-4c6564676572\",\n \"13d63400-2c97-8004-0003-4c6564676572\",\n \"13d63400-2c97-8004-0001-4c6564676572\",\n ),\n \"13d63400-2c97-9004-0000-4c6564676572\": new BleDeviceInfos(\n dataSource.getDeviceModel({ id: DeviceModelId.APEX }),\n \"13d63400-2c97-9004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0002-4c6564676572\",\n \"13d63400-2c97-9004-0003-4c6564676572\",\n \"13d63400-2c97-9004-0001-4c6564676572\",\n ),\n });\n });\n const expectedMatches = [\n {\n serviceUuid: \"13d63400-2c97-0004-0000-4c6564676572\",\n deviceModel: DeviceModelId.NANO_X,\n },\n {\n serviceUuid: \"13d63400-2c97-6004-0000-4c6564676572\",\n deviceModel: DeviceModelId.STAX,\n },\n {\n serviceUuid: \"13d63400-2c97-3004-0000-4c6564676572\",\n deviceModel: DeviceModelId.FLEX,\n },\n {\n serviceUuid: \"13d63400-2c97-8004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n {\n serviceUuid: \"13d63400-2c97-9004-0000-4c6564676572\",\n deviceModel: DeviceModelId.APEX,\n },\n ];\n\n it.each(expectedMatches)(\n \"should properly map the service UUID $serviceUuid to the device model $deviceModel\",\n ({ serviceUuid, deviceModel }) => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServiceInfos = dataSource.getBluetoothServicesInfos();\n // then\n expect(bleServiceInfos[serviceUuid]?.deviceModel.id).toEqual(\n deviceModel,\n );\n },\n );\n });\n describe(\"getBluetoothServices\", () => {\n it(\"should return the bluetooth services\", () => {\n // given\n const dataSource = new StaticDeviceModelDataSource();\n // when\n const bleServices = dataSource.getBluetoothServices();\n // then\n expect(bleServices).toStrictEqual([\n \"13d63400-2c97-0004-0000-4c6564676572\",\n \"13d63400-2c97-6004-0000-4c6564676572\",\n \"13d63400-2c97-3004-0000-4c6564676572\",\n \"13d63400-2c97-8004-0000-4c6564676572\",\n \"13d63400-2c97-9004-0000-4c6564676572\",\n ]);\n });\n });\n\n describe(\"getBlockSize\", () => {\n const testData: Record<\n DeviceModelId,\n Array<{ firmwareVersion: string; expectedBlockSize: number }>\n > = {\n [DeviceModelId.NANO_S]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"1.0.0-rc1\", expectedBlockSize: 4 * 1024 },\n { firmwareVersion: \"2.0.0\", expectedBlockSize: 2 * 1024 },\n { firmwareVersion: \"2.0.0-rc1\", expectedBlockSize: 2 * 1024 },\n ],\n [DeviceModelId.NANO_SP]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n [DeviceModelId.NANO_X]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 4 * 1024 },\n ],\n [DeviceModelId.STAX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n [DeviceModelId.FLEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n [DeviceModelId.APEX]: [\n { firmwareVersion: \"1.0.0\", expectedBlockSize: 512 },\n ],\n };\n\n describe.each(Object.entries(testData))(\n \"Device Model: %s\",\n (deviceModelId, scenarios) => {\n it.each(scenarios)(\n \"should return $expectedBlockSize for firmware version $firmwareVersion\",\n ({ firmwareVersion, expectedBlockSize }) => {\n const deviceModel =\n new StaticDeviceModelDataSource().getDeviceModel({\n id: deviceModelId as DeviceModelId,\n });\n expect(deviceModel.getBlockSize({ firmwareVersion })).toBe(\n expectedBlockSize,\n );\n },\n );\n },\n );\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["DeviceModelId", "BleDeviceInfos", "StaticDeviceModelDataSource", "deviceModels", "dataSource", "deviceModel1", "deviceModel2", "deviceModel3", "deviceModel4", "deviceModel5", "deviceModels1", "deviceModels2", "deviceModels3", "deviceModels4", "deviceModels5", "deviceModels6", "bleServiceInfos", "expectedMatches", "serviceUuid", "deviceModel", "bleServices", "testData", "deviceModelId", "scenarios", "firmwareVersion", "expectedBlockSize"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{Apdu as r}from"./apdu/model/Apdu";import{APDU_MAX_PAYLOAD as p,ApduBuilder as a}from"./apdu/utils/ApduBuilder";import{ApduParser as n}from"./apdu/utils/ApduParser";export*from"./apdu/utils/AppBuilderError";import{ByteArrayBuilder as c}from"./apdu/utils/ByteArrayBuilder";import{ByteArrayParser as f}from"./apdu/utils/ByteArrayParser";import{InvalidResponseFormatError as u,InvalidStatusWordError as x}from"./command/Errors";import{CommandResultFactory as g,CommandResultStatus as l,isSuccessCommandResult as y}from"./command/model/CommandResult";import{BackupStorageCommand as S}from"./command/os/BackupStorageCommand";import{CloseAppCommand as L}from"./command/os/CloseAppCommand";import{DeleteLanguagePackCommand as R,DeleteLanguagePackCommandError as E}from"./command/os/DeleteLanguagePackCommand";import{GetAppAndVersionCommand as I}from"./command/os/GetAppAndVersionCommand";import{GetAppStorageInfoCommand as T}from"./command/os/GetAppStorageInfoCommand";import{GetBackgroundImageSizeCommand as O,GetBackgroundImageSizeCommandError as b}from"./command/os/GetBackgroundImageSizeCommand";import{BatteryStatusType as M,GetBatteryStatusCommand as U}from"./command/os/GetBatteryStatusCommand";import{GetOsVersionCommand as _}from"./command/os/GetOsVersionCommand";import{ListAppsCommand as w}from"./command/os/ListAppsCommand";import{ListLanguagePackCommand as K,ListLanguagePackCommandError as z}from"./command/os/ListLanguagePackCommand";import{LoadCertificateCommand as q}from"./command/os/LoadCertificateCommand";import{OpenAppCommand as X}from"./command/os/OpenAppCommand";import{isCommandErrorCode as Y}from"./command/utils/CommandErrors";import{CommandUtils as J}from"./command/utils/CommandUtils";import{GLOBAL_ERRORS as $,GlobalCommandError as ee,GlobalCommandErrorHandler as oe}from"./command/utils/GlobalCommandError";import{DeviceModel as te,DeviceModelId as pe,LEDGER_VENDOR_ID as ae}from"./device/DeviceModel";import{DeviceStatus as ne}from"./device/DeviceStatus";import{DeviceActionStatus as se}from"./device-action/model/DeviceActionState";import{UserInteractionRequired as de}from"./device-action/model/UserInteractionRequired";import{CallTaskInAppDeviceAction as Ae}from"./device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction";import{DEFAULT_UNLOCK_TIMEOUT_MS as xe}from"./device-action/os/Const";import{AppAlreadyInstalledDAError as ge,DeleteLanguagePackDAError as le,DeviceLockedError as ye,DeviceNotOnboardedError as Ce,OutOfMemoryDAError as Se,RefusedByUserDAError as ve,UnknownDAError as Le,UnsupportedFirmwareDAError as ke}from"./device-action/os/Errors";import{GetDeviceMetadataDeviceAction as Ee}from"./device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction";import{GetDeviceStatusDeviceAction as Ie}from"./device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction";import{GoToDashboardDeviceAction as Te}from"./device-action/os/GoToDashboard/GoToDashboardDeviceAction";import{InstallLanguagePackageDeviceAction as Oe}from"./device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction";import{InstallOrUpdateAppsDeviceAction as he}from"./device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction";import{ListAppsDeviceAction as Ue}from"./device-action/os/ListApps/ListAppsDeviceAction";import{ListAppsWithMetadataDeviceAction as _e}from"./device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction";import{OpenAppDeviceAction as we}from"./device-action/os/OpenAppDeviceAction/OpenAppDeviceAction";import{OpenAppWithDependenciesDeviceAction as Ke}from"./device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction";import{SendCommandInAppDeviceAction as We}from"./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction";import{BackupAppStorageTask as He}from"./device-action/task/BackupAppStorageTask";import{GetApplicationsMetadataTaskError as Qe,InvalidGetFirmwareMetadataResponseError as Ye}from"./device-action/task/Errors";import{XStateDeviceAction as Je}from"./device-action/xstate-utils/XStateDeviceAction";import{StaticDeviceModelDataSource as $e}from"./device-model/data/StaticDeviceModelDataSource";import{BleDeviceInfos as oo}from"./device-model/model/BleDeviceInfos";import{TransportDeviceModel as to}from"./device-model/model/DeviceModel";import{ApduResponse as ao}from"./device-session/ApduResponse";export*from"./device-session/data/FramerConst";import{DeviceSessionStateType as io}from"./device-session/DeviceSessionState";import{DmkResultFactory as co,DmkResultStatus as fo,isSuccessDmkResult as Ao}from"./model/DmkResult";import{GenuineCheckDeviceAction as xo}from"./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction";import{InstallAppDeviceAction as go}from"./secure-channel/device-action/InstallApp/InstallAppDeviceAction";import{ListInstalledAppsDeviceAction as yo}from"./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction";import{UninstallAppDeviceAction as So}from"./secure-channel/device-action/UninstallApp/UninstallAppDeviceAction";import{DMK_STORAGE_PREFIX_KEY as Lo}from"./storage/KeyValueStorage";import{SecureChannelError as Ro}from"../internal/secure-channel/model/Errors";import{defaultApduReceiverServiceStubBuilder as Go}from"./device-session/service/DefaultApduReceiverService.stub";import{defaultApduSenderServiceStubBuilder as Bo}from"./device-session/service/DefaultApduSenderService.stub";import{FramerUtils as Po}from"./device-session/utils/FramerUtils";import{DeviceManagementKit as bo}from"./DeviceManagementKit";import{DeviceManagementKitBuilder as Mo}from"./DeviceManagementKitBuilder";export*from"./Error";import{noopLogger as _o,noopLoggerFactory as Vo}from"./logger-publisher/utils/noopLoggerFactory";import{LogLevel as No}from"./logger-subscriber/model/LogLevel";import{ConsoleLogger as zo}from"./logger-subscriber/service/ConsoleLogger";import{DefaultLogTagFormatter as qo}from"./logger-subscriber/service/DefaultLogTagFormatter";import{WebLogsExporterLogger as Xo}from"./logger-subscriber/service/WebLogsExporterLogger";import{DmkNetworkClient as Yo}from"./network/DmkNetworkClient";import{DmkNetworkClientError as Jo}from"./network/DmkNetworkClientError";import{ConnectedDevice as $o}from"./transport/model/ConnectedDevice";import{DeviceConnectionStateMachine as or}from"./transport/model/DeviceConnectionStateMachine";export*from"./transport/model/Errors";import{TransportConnectedDevice as pr}from"./transport/model/TransportConnectedDevice";import{connectedDeviceStubBuilder as mr}from"./transport/model/TransportConnectedDevice.stub";export*from"./types";import{formatApduReceivedLog as sr,formatApduSentLog as cr}from"./utils/apduLogs";import{ApplicationChecker as fr}from"./utils/ApplicationChecker";import{base64StringToBuffer as ur,bufferToBase64String as xr,isBase64String as Dr}from"./utils/Base64String";import{bufferToHexaString as lr,hexaStringToBuffer as yr,isHexaString as Cr}from"./utils/HexaString";export{p as APDU_MAX_PAYLOAD,r as Apdu,a as ApduBuilder,n as ApduParser,ao as ApduResponse,ge as AppAlreadyInstalledDAError,fr as ApplicationChecker,He as BackupAppStorageTask,S as BackupStorageCommand,M as BatteryStatusType,oo as BleDeviceInfos,c as ByteArrayBuilder,f as ByteArrayParser,Ae as CallTaskInAppDeviceAction,L as CloseAppCommand,g as CommandResultFactory,l as CommandResultStatus,J as CommandUtils,$o as ConnectedDevice,zo as ConsoleLogger,xe as DEFAULT_UNLOCK_TIMEOUT_MS,Lo as DMK_STORAGE_PREFIX_KEY,qo as DefaultLogTagFormatter,R as DeleteLanguagePackCommand,E as DeleteLanguagePackCommandError,le as DeleteLanguagePackDAError,se as DeviceActionStatus,or as DeviceConnectionStateMachine,ye as DeviceLockedError,bo as DeviceManagementKit,Mo as DeviceManagementKitBuilder,te as DeviceModel,pe as DeviceModelId,Ce as DeviceNotOnboardedError,io as DeviceSessionStateType,ne as DeviceStatus,Yo as DmkNetworkClient,Jo as DmkNetworkClientError,co as DmkResultFactory,fo as DmkResultStatus,Po as FramerUtils,$ as GLOBAL_ERRORS,xo as GenuineCheckDeviceAction,I as GetAppAndVersionCommand,T as GetAppStorageInfoCommand,Qe as GetApplicationsMetadataTaskError,O as GetBackgroundImageSizeCommand,b as GetBackgroundImageSizeCommandError,U as GetBatteryStatusCommand,Ee as GetDeviceMetadataDeviceAction,Ie as GetDeviceStatusDeviceAction,_ as GetOsVersionCommand,ee as GlobalCommandError,oe as GlobalCommandErrorHandler,Te as GoToDashboardDeviceAction,go as InstallAppDeviceAction,Oe as InstallLanguagePackageDeviceAction,he as InstallOrUpdateAppsDeviceAction,Ye as InvalidGetFirmwareMetadataResponseError,u as InvalidResponseFormatError,x as InvalidStatusWordError,ae as LEDGER_VENDOR_ID,w as ListAppsCommand,Ue as ListAppsDeviceAction,_e as ListAppsWithMetadataDeviceAction,yo as ListInstalledAppsDeviceAction,K as ListLanguagePackCommand,z as ListLanguagePackCommandError,q as LoadCertificateCommand,No as LogLevel,X as OpenAppCommand,we as OpenAppDeviceAction,Ke as OpenAppWithDependenciesDeviceAction,Se as OutOfMemoryDAError,ve as RefusedByUserDAError,Ro as SecureChannelError,We as SendCommandInAppDeviceAction,$e as StaticDeviceModelDataSource,pr as TransportConnectedDevice,to as TransportDeviceModel,So as UninstallAppDeviceAction,Le as UnknownDAError,ke as UnsupportedFirmwareDAError,de as UserInteractionRequired,Xo as WebLogsExporterLogger,Je as XStateDeviceAction,ur as base64StringToBuffer,xr as bufferToBase64String,lr as bufferToHexaString,mr as connectedDeviceStubBuilder,Go as defaultApduReceiverServiceStubBuilder,Bo as defaultApduSenderServiceStubBuilder,sr as formatApduReceivedLog,cr as formatApduSentLog,yr as hexaStringToBuffer,Dr as isBase64String,Y as isCommandErrorCode,Cr as isHexaString,y as isSuccessCommandResult,Ao as isSuccessDmkResult,_o as noopLogger,Vo as noopLoggerFactory};
1
+ import{Apdu as r}from"./apdu/model/Apdu";import{APDU_MAX_PAYLOAD as p,ApduBuilder as a}from"./apdu/utils/ApduBuilder";import{ApduParser as m}from"./apdu/utils/ApduParser";export*from"./apdu/utils/AppBuilderError";import{ByteArrayBuilder as c}from"./apdu/utils/ByteArrayBuilder";import{ByteArrayParser as A}from"./apdu/utils/ByteArrayParser";import{InvalidResponseFormatError as u,InvalidStatusWordError as D}from"./command/Errors";import{CommandResultFactory as g,CommandResultStatus as l,isSuccessCommandResult as y}from"./command/model/CommandResult";import{BackupStorageCommand as S}from"./command/os/BackupStorageCommand";import{CloseAppCommand as L}from"./command/os/CloseAppCommand";import{DeleteLanguagePackCommand as R,DeleteLanguagePackCommandError as E}from"./command/os/DeleteLanguagePackCommand";import{GetAppAndVersionCommand as I}from"./command/os/GetAppAndVersionCommand";import{GetAppStorageInfoCommand as T}from"./command/os/GetAppStorageInfoCommand";import{GetBackgroundImageSizeCommand as O,GetBackgroundImageSizeCommandError as F}from"./command/os/GetBackgroundImageSizeCommand";import{BatteryStatusType as h,GetBatteryStatusCommand as M}from"./command/os/GetBatteryStatusCommand";import{GetOsVersionCommand as U}from"./command/os/GetOsVersionCommand";import{ListAppsCommand as _}from"./command/os/ListAppsCommand";import{ListLanguagePackCommand as N,ListLanguagePackCommandError as K}from"./command/os/ListLanguagePackCommand";import{LoadCertificateCommand as q}from"./command/os/LoadCertificateCommand";import{OpenAppCommand as X}from"./command/os/OpenAppCommand";import{isCommandErrorCode as Y}from"./command/utils/CommandErrors";import{CommandUtils as J}from"./command/utils/CommandUtils";import{GLOBAL_ERRORS as $,GlobalCommandError as ee,GlobalCommandErrorHandler as oe}from"./command/utils/GlobalCommandError";import{DeviceModel as te,DeviceModelId as pe,LEDGER_VENDOR_ID as ae}from"./device/DeviceModel";import{DeviceStatus as me}from"./device/DeviceStatus";import{DeviceActionStatus as se}from"./device-action/model/DeviceActionState";import{UserInteractionRequired as de}from"./device-action/model/UserInteractionRequired";import{CallTaskInAppDeviceAction as fe}from"./device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction";import{DEFAULT_UNLOCK_TIMEOUT_MS as De}from"./device-action/os/Const";import{AppAlreadyInstalledDAError as ge,DeleteLanguagePackDAError as le,DeviceLockedError as ye,DeviceNotOnboardedError as Ce,OutOfMemoryDAError as Se,RefusedByUserDAError as ve,UnknownDAError as Le,UnsupportedFirmwareDAError as ke}from"./device-action/os/Errors";import{GetDeviceMetadataDeviceAction as Ee}from"./device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction";import{GetDeviceStatusDeviceAction as Ie}from"./device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction";import{GoToDashboardDeviceAction as Te}from"./device-action/os/GoToDashboard/GoToDashboardDeviceAction";import{InstallLanguagePackageDeviceAction as Oe}from"./device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction";import{InstallOrUpdateAppsDeviceAction as be}from"./device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction";import{ListAppsDeviceAction as Me}from"./device-action/os/ListApps/ListAppsDeviceAction";import{ListAppsWithMetadataDeviceAction as Ue}from"./device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction";import{OpenAppDeviceAction as _e}from"./device-action/os/OpenAppDeviceAction/OpenAppDeviceAction";import{OpenAppWithDependenciesDeviceAction as Ne}from"./device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction";import{SendCommandInAppDeviceAction as ze}from"./device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction";import{WaitForAppAndVersionDeviceAction as He}from"./device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction";import{BackupAppStorageTask as Qe}from"./device-action/task/BackupAppStorageTask";import{GetApplicationsMetadataTaskError as je,InvalidGetFirmwareMetadataResponseError as Je}from"./device-action/task/Errors";import{XStateDeviceAction as $e}from"./device-action/xstate-utils/XStateDeviceAction";import{StaticDeviceModelDataSource as oo}from"./device-model/data/StaticDeviceModelDataSource";import{BleDeviceInfos as to}from"./device-model/model/BleDeviceInfos";import{TransportDeviceModel as ao}from"./device-model/model/DeviceModel";import{ApduResponse as mo}from"./device-session/ApduResponse";export*from"./device-session/data/FramerConst";import{DeviceSessionStateType as co}from"./device-session/DeviceSessionState";import{DmkResultFactory as fo,DmkResultStatus as uo,isSuccessDmkResult as Do}from"./model/DmkResult";import{GenuineCheckDeviceAction as go}from"./secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction";import{InstallAppDeviceAction as yo}from"./secure-channel/device-action/InstallApp/InstallAppDeviceAction";import{ListInstalledAppsDeviceAction as So}from"./secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction";import{UninstallAppDeviceAction as Lo}from"./secure-channel/device-action/UninstallApp/UninstallAppDeviceAction";import{DMK_STORAGE_PREFIX_KEY as Ro}from"./storage/KeyValueStorage";import{SecureChannelError as Go}from"../internal/secure-channel/model/Errors";import{defaultApduReceiverServiceStubBuilder as Bo}from"./device-session/service/DefaultApduReceiverService.stub";import{defaultApduSenderServiceStubBuilder as Po}from"./device-session/service/DefaultApduSenderService.stub";import{FramerUtils as Fo}from"./device-session/utils/FramerUtils";import{DeviceManagementKit as ho}from"./DeviceManagementKit";import{DeviceManagementKitBuilder as Vo}from"./DeviceManagementKitBuilder";export*from"./Error";import{noopLogger as _o,noopLoggerFactory as wo}from"./logger-publisher/utils/noopLoggerFactory";import{LogLevel as Ko}from"./logger-subscriber/model/LogLevel";import{ConsoleLogger as qo}from"./logger-subscriber/service/ConsoleLogger";import{DefaultLogTagFormatter as Xo}from"./logger-subscriber/service/DefaultLogTagFormatter";import{WebLogsExporterLogger as Yo}from"./logger-subscriber/service/WebLogsExporterLogger";import{DmkNetworkClient as Jo}from"./network/DmkNetworkClient";import{DmkNetworkClientError as $o}from"./network/DmkNetworkClientError";import{ConnectedDevice as or}from"./transport/model/ConnectedDevice";import{DeviceConnectionStateMachine as tr}from"./transport/model/DeviceConnectionStateMachine";export*from"./transport/model/Errors";import{TransportConnectedDevice as nr}from"./transport/model/TransportConnectedDevice";import{connectedDeviceStubBuilder as ir}from"./transport/model/TransportConnectedDevice.stub";export*from"./types";import{formatApduReceivedLog as dr,formatApduSentLog as Ar}from"./utils/apduLogs";import{ApplicationChecker as ur}from"./utils/ApplicationChecker";import{base64StringToBuffer as xr,bufferToBase64String as gr,isBase64String as lr}from"./utils/Base64String";import{bufferToHexaString as Cr,hexaStringToBuffer as Sr,isHexaString as vr}from"./utils/HexaString";export{p as APDU_MAX_PAYLOAD,r as Apdu,a as ApduBuilder,m as ApduParser,mo as ApduResponse,ge as AppAlreadyInstalledDAError,ur as ApplicationChecker,Qe as BackupAppStorageTask,S as BackupStorageCommand,h as BatteryStatusType,to as BleDeviceInfos,c as ByteArrayBuilder,A as ByteArrayParser,fe as CallTaskInAppDeviceAction,L as CloseAppCommand,g as CommandResultFactory,l as CommandResultStatus,J as CommandUtils,or as ConnectedDevice,qo as ConsoleLogger,De as DEFAULT_UNLOCK_TIMEOUT_MS,Ro as DMK_STORAGE_PREFIX_KEY,Xo as DefaultLogTagFormatter,R as DeleteLanguagePackCommand,E as DeleteLanguagePackCommandError,le as DeleteLanguagePackDAError,se as DeviceActionStatus,tr as DeviceConnectionStateMachine,ye as DeviceLockedError,ho as DeviceManagementKit,Vo as DeviceManagementKitBuilder,te as DeviceModel,pe as DeviceModelId,Ce as DeviceNotOnboardedError,co as DeviceSessionStateType,me as DeviceStatus,Jo as DmkNetworkClient,$o as DmkNetworkClientError,fo as DmkResultFactory,uo as DmkResultStatus,Fo as FramerUtils,$ as GLOBAL_ERRORS,go as GenuineCheckDeviceAction,I as GetAppAndVersionCommand,T as GetAppStorageInfoCommand,je as GetApplicationsMetadataTaskError,O as GetBackgroundImageSizeCommand,F as GetBackgroundImageSizeCommandError,M as GetBatteryStatusCommand,Ee as GetDeviceMetadataDeviceAction,Ie as GetDeviceStatusDeviceAction,U as GetOsVersionCommand,ee as GlobalCommandError,oe as GlobalCommandErrorHandler,Te as GoToDashboardDeviceAction,yo as InstallAppDeviceAction,Oe as InstallLanguagePackageDeviceAction,be as InstallOrUpdateAppsDeviceAction,Je as InvalidGetFirmwareMetadataResponseError,u as InvalidResponseFormatError,D as InvalidStatusWordError,ae as LEDGER_VENDOR_ID,_ as ListAppsCommand,Me as ListAppsDeviceAction,Ue as ListAppsWithMetadataDeviceAction,So as ListInstalledAppsDeviceAction,N as ListLanguagePackCommand,K as ListLanguagePackCommandError,q as LoadCertificateCommand,Ko as LogLevel,X as OpenAppCommand,_e as OpenAppDeviceAction,Ne as OpenAppWithDependenciesDeviceAction,Se as OutOfMemoryDAError,ve as RefusedByUserDAError,Go as SecureChannelError,ze as SendCommandInAppDeviceAction,oo as StaticDeviceModelDataSource,nr as TransportConnectedDevice,ao as TransportDeviceModel,Lo as UninstallAppDeviceAction,Le as UnknownDAError,ke as UnsupportedFirmwareDAError,de as UserInteractionRequired,He as WaitForAppAndVersionDeviceAction,Yo as WebLogsExporterLogger,$e as XStateDeviceAction,xr as base64StringToBuffer,gr as bufferToBase64String,Cr as bufferToHexaString,ir as connectedDeviceStubBuilder,Bo as defaultApduReceiverServiceStubBuilder,Po as defaultApduSenderServiceStubBuilder,dr as formatApduReceivedLog,Ar as formatApduSentLog,Sr as hexaStringToBuffer,lr as isBase64String,Y as isCommandErrorCode,vr as isHexaString,y as isSuccessCommandResult,Do as isSuccessDmkResult,_o as noopLogger,wo as noopLoggerFactory};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/index.ts"],
4
- "sourcesContent": ["\"use strict\";\n\nexport { Apdu } from \"@api/apdu/model/Apdu\";\nexport { APDU_MAX_PAYLOAD, ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nexport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nexport * from \"@api/apdu/utils/AppBuilderError\";\nexport { ByteArrayBuilder } from \"@api/apdu/utils/ByteArrayBuilder\";\nexport { ByteArrayParser } from \"@api/apdu/utils/ByteArrayParser\";\nexport { type Command } from \"@api/command/Command\";\nexport {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nexport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nexport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n type BackupStorageCommandResponse,\n type BackupStorageCommandResult,\n} from \"@api/command/os/BackupStorageCommand\";\nexport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nexport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandArgs,\n DeleteLanguagePackCommandError,\n type DeleteLanguagePackCommandResult,\n type DeleteLanguagePackErrorCodes,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nexport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nexport {\n GetBackgroundImageSizeCommand,\n GetBackgroundImageSizeCommandError,\n type GetBackgroundImageSizeCommandResult,\n type GetBackgroundImageSizeErrorCodes,\n type GetBackgroundImageSizeResponse,\n} from \"@api/command/os/GetBackgroundImageSizeCommand\";\nexport {\n BatteryStatusType,\n type GetBatteryStatusArgs,\n GetBatteryStatusCommand,\n type GetBatteryStatusResponse,\n} from \"@api/command/os/GetBatteryStatusCommand\";\nexport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nexport {\n type ListAppsArgs,\n ListAppsCommand,\n type ListAppsErrorCodes,\n type ListAppsResponse,\n} from \"@api/command/os/ListAppsCommand\";\nexport {\n ListLanguagePackCommand,\n type ListLanguagePackCommandArgs,\n ListLanguagePackCommandError,\n type ListLanguagePackCommandResult,\n type ListLanguagePackErrorCodes,\n type ListLanguagePackResponse,\n} from \"@api/command/os/ListLanguagePackCommand\";\nexport {\n type LoadCertificateArgs,\n LoadCertificateCommand,\n type LoadCertificateErrorCodes,\n} from \"@api/command/os/LoadCertificateCommand\";\nexport {\n type OpenAppArgs,\n OpenAppCommand,\n} from \"@api/command/os/OpenAppCommand\";\nexport { isCommandErrorCode } from \"@api/command/utils/CommandErrors\";\nexport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nexport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n GlobalCommandErrorHandler,\n} from \"@api/command/utils/GlobalCommandError\";\nexport {\n DeviceModel,\n DeviceModelId,\n LEDGER_VENDOR_ID,\n} from \"@api/device/DeviceModel\";\nexport { DeviceStatus } from \"@api/device/DeviceStatus\";\nexport { type InternalApi } from \"@api/device-action/DeviceAction\";\nexport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nexport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nexport { CallTaskInAppDeviceAction } from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction\";\nexport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nexport {\n AppAlreadyInstalledDAError,\n DeleteLanguagePackDAError,\n DeviceLockedError,\n DeviceNotOnboardedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nexport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nexport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\nexport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nexport type {\n GoToDashboardDAError,\n GoToDashboardDAInput,\n GoToDashboardDAIntermediateValue,\n GoToDashboardDAOutput,\n GoToDashboardDARequiredInteraction,\n GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport { InstallLanguagePackageDeviceAction } from \"@api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction\";\nexport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nexport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nexport { ListAppsWithMetadataDeviceAction } from \"@api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction\";\nexport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nexport { OpenAppWithDependenciesDeviceAction } from \"@api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction\";\nexport { SendCommandInAppDeviceAction } from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction\";\nexport { BackupAppStorageTask } from \"@api/device-action/task/BackupAppStorageTask\";\nexport {\n GetApplicationsMetadataTaskError,\n InvalidGetFirmwareMetadataResponseError,\n} from \"@api/device-action/task/Errors\";\nexport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nexport { StaticDeviceModelDataSource } from \"@api/device-model/data/StaticDeviceModelDataSource\";\nexport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nexport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nexport { ApduResponse } from \"@api/device-session/ApduResponse\";\nexport * from \"@api/device-session/data/FramerConst\";\nexport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nexport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\nexport { GenuineCheckDeviceAction } from \"@api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction\";\nexport { InstallAppDeviceAction } from \"@api/secure-channel/device-action/InstallApp/InstallAppDeviceAction\";\nexport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nexport type { InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport { UninstallAppDeviceAction } from \"@api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction\";\nexport {\n DMK_STORAGE_PREFIX_KEY,\n type KeyValueStorage,\n} from \"@api/storage/KeyValueStorage\";\nexport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n// TODO: remove from exported\nexport { defaultApduReceiverServiceStubBuilder } from \"@api/device-session/service/DefaultApduReceiverService.stub\";\nexport { defaultApduSenderServiceStubBuilder } from \"@api/device-session/service/DefaultApduSenderService.stub\";\nexport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nexport { DeviceManagementKit } from \"@api/DeviceManagementKit\";\nexport { DeviceManagementKitBuilder } from \"@api/DeviceManagementKitBuilder\";\nexport * from \"@api/Error\";\nexport {\n noopLogger,\n noopLoggerFactory,\n} from \"@api/logger-publisher/utils/noopLoggerFactory\";\nexport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nexport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\nexport { DefaultLogTagFormatter } from \"@api/logger-subscriber/service/DefaultLogTagFormatter\";\nexport { type LogTagFormatter } from \"@api/logger-subscriber/service/LogTagFormatter\";\nexport { WebLogsExporterLogger } from \"@api/logger-subscriber/service/WebLogsExporterLogger\";\nexport {\n DmkNetworkClient,\n type DmkNetworkClientOptions,\n type DmkNetworkResponse,\n type DmkQueryParams,\n type DmkQueryParamValue,\n type DmkRequestConfig,\n type DmkResponseType,\n} from \"@api/network/DmkNetworkClient\";\nexport { DmkNetworkClientError } from \"@api/network/DmkNetworkClientError\";\nexport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nexport {\n DeviceConnectionStateMachine,\n type DeviceConnectionStateMachineParams,\n} from \"@api/transport/model/DeviceConnectionStateMachine\";\nexport * from \"@api/transport/model/Errors\";\nexport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nexport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nexport * from \"@api/types\";\nexport { formatApduReceivedLog, formatApduSentLog } from \"@api/utils/apduLogs\";\nexport { ApplicationChecker } from \"@api/utils/ApplicationChecker\";\nexport {\n type AppConfig,\n type ApplicationResolver,\n type ResolvedApp,\n} from \"@api/utils/ApplicationResolver\";\nexport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"@api/utils/Base64String\";\nexport {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@api/utils/HexaString\";\n"],
5
- "mappings": "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",
6
- "names": ["Apdu", "APDU_MAX_PAYLOAD", "ApduBuilder", "ApduParser", "ByteArrayBuilder", "ByteArrayParser", "InvalidResponseFormatError", "InvalidStatusWordError", "CommandResultFactory", "CommandResultStatus", "isSuccessCommandResult", "BackupStorageCommand", "CloseAppCommand", "DeleteLanguagePackCommand", "DeleteLanguagePackCommandError", "GetAppAndVersionCommand", "GetAppStorageInfoCommand", "GetBackgroundImageSizeCommand", "GetBackgroundImageSizeCommandError", "BatteryStatusType", "GetBatteryStatusCommand", "GetOsVersionCommand", "ListAppsCommand", "ListLanguagePackCommand", "ListLanguagePackCommandError", "LoadCertificateCommand", "OpenAppCommand", "isCommandErrorCode", "CommandUtils", "GLOBAL_ERRORS", "GlobalCommandError", "GlobalCommandErrorHandler", "DeviceModel", "DeviceModelId", "LEDGER_VENDOR_ID", "DeviceStatus", "DeviceActionStatus", "UserInteractionRequired", "CallTaskInAppDeviceAction", "DEFAULT_UNLOCK_TIMEOUT_MS", "AppAlreadyInstalledDAError", "DeleteLanguagePackDAError", "DeviceLockedError", "DeviceNotOnboardedError", "OutOfMemoryDAError", "RefusedByUserDAError", "UnknownDAError", "UnsupportedFirmwareDAError", "GetDeviceMetadataDeviceAction", "GetDeviceStatusDeviceAction", "GoToDashboardDeviceAction", "InstallLanguagePackageDeviceAction", "InstallOrUpdateAppsDeviceAction", "ListAppsDeviceAction", "ListAppsWithMetadataDeviceAction", "OpenAppDeviceAction", "OpenAppWithDependenciesDeviceAction", "SendCommandInAppDeviceAction", "BackupAppStorageTask", "GetApplicationsMetadataTaskError", "InvalidGetFirmwareMetadataResponseError", "XStateDeviceAction", "StaticDeviceModelDataSource", "BleDeviceInfos", "TransportDeviceModel", "ApduResponse", "DeviceSessionStateType", "DmkResultFactory", "DmkResultStatus", "isSuccessDmkResult", "GenuineCheckDeviceAction", "InstallAppDeviceAction", "ListInstalledAppsDeviceAction", "UninstallAppDeviceAction", "DMK_STORAGE_PREFIX_KEY", "SecureChannelError", "defaultApduReceiverServiceStubBuilder", "defaultApduSenderServiceStubBuilder", "FramerUtils", "DeviceManagementKit", "DeviceManagementKitBuilder", "noopLogger", "noopLoggerFactory", "LogLevel", "ConsoleLogger", "DefaultLogTagFormatter", "WebLogsExporterLogger", "DmkNetworkClient", "DmkNetworkClientError", "ConnectedDevice", "DeviceConnectionStateMachine", "TransportConnectedDevice", "connectedDeviceStubBuilder", "formatApduReceivedLog", "formatApduSentLog", "ApplicationChecker", "base64StringToBuffer", "bufferToBase64String", "isBase64String", "bufferToHexaString", "hexaStringToBuffer", "isHexaString"]
4
+ "sourcesContent": ["\"use strict\";\n\nexport { Apdu } from \"@api/apdu/model/Apdu\";\nexport { APDU_MAX_PAYLOAD, ApduBuilder } from \"@api/apdu/utils/ApduBuilder\";\nexport { ApduParser } from \"@api/apdu/utils/ApduParser\";\nexport * from \"@api/apdu/utils/AppBuilderError\";\nexport { ByteArrayBuilder } from \"@api/apdu/utils/ByteArrayBuilder\";\nexport { ByteArrayParser } from \"@api/apdu/utils/ByteArrayParser\";\nexport { type Command } from \"@api/command/Command\";\nexport {\n InvalidResponseFormatError,\n InvalidStatusWordError,\n} from \"@api/command/Errors\";\nexport {\n CommandResultFactory,\n CommandResultStatus,\n isSuccessCommandResult,\n} from \"@api/command/model/CommandResult\";\nexport {\n BackupStorageCommand,\n type BackupStorageCommandErrorCodes,\n type BackupStorageCommandResponse,\n type BackupStorageCommandResult,\n} from \"@api/command/os/BackupStorageCommand\";\nexport { CloseAppCommand } from \"@api/command/os/CloseAppCommand\";\nexport {\n DeleteLanguagePackCommand,\n type DeleteLanguagePackCommandArgs,\n DeleteLanguagePackCommandError,\n type DeleteLanguagePackCommandResult,\n type DeleteLanguagePackErrorCodes,\n} from \"@api/command/os/DeleteLanguagePackCommand\";\nexport {\n GetAppAndVersionCommand,\n type GetAppAndVersionResponse,\n} from \"@api/command/os/GetAppAndVersionCommand\";\nexport {\n GetAppStorageInfoCommand,\n type GetAppStorageInfoCommandArgs,\n type GetAppStorageInfoCommandErrorCodes,\n type GetAppStorageInfoCommandResponse,\n type GetAppStorageInfoCommandResult,\n} from \"@api/command/os/GetAppStorageInfoCommand\";\nexport {\n GetBackgroundImageSizeCommand,\n GetBackgroundImageSizeCommandError,\n type GetBackgroundImageSizeCommandResult,\n type GetBackgroundImageSizeErrorCodes,\n type GetBackgroundImageSizeResponse,\n} from \"@api/command/os/GetBackgroundImageSizeCommand\";\nexport {\n BatteryStatusType,\n type GetBatteryStatusArgs,\n GetBatteryStatusCommand,\n type GetBatteryStatusResponse,\n} from \"@api/command/os/GetBatteryStatusCommand\";\nexport {\n GetOsVersionCommand,\n type GetOsVersionResponse,\n} from \"@api/command/os/GetOsVersionCommand\";\nexport {\n type ListAppsArgs,\n ListAppsCommand,\n type ListAppsErrorCodes,\n type ListAppsResponse,\n} from \"@api/command/os/ListAppsCommand\";\nexport {\n ListLanguagePackCommand,\n type ListLanguagePackCommandArgs,\n ListLanguagePackCommandError,\n type ListLanguagePackCommandResult,\n type ListLanguagePackErrorCodes,\n type ListLanguagePackResponse,\n} from \"@api/command/os/ListLanguagePackCommand\";\nexport {\n type LoadCertificateArgs,\n LoadCertificateCommand,\n type LoadCertificateErrorCodes,\n} from \"@api/command/os/LoadCertificateCommand\";\nexport {\n type OpenAppArgs,\n OpenAppCommand,\n} from \"@api/command/os/OpenAppCommand\";\nexport { isCommandErrorCode } from \"@api/command/utils/CommandErrors\";\nexport { CommandUtils } from \"@api/command/utils/CommandUtils\";\nexport {\n GLOBAL_ERRORS,\n GlobalCommandError,\n GlobalCommandErrorHandler,\n} from \"@api/command/utils/GlobalCommandError\";\nexport {\n DeviceModel,\n DeviceModelId,\n LEDGER_VENDOR_ID,\n} from \"@api/device/DeviceModel\";\nexport { DeviceStatus } from \"@api/device/DeviceStatus\";\nexport { type InternalApi } from \"@api/device-action/DeviceAction\";\nexport {\n type DeviceActionState,\n DeviceActionStatus,\n} from \"@api/device-action/model/DeviceActionState\";\nexport { UserInteractionRequired } from \"@api/device-action/model/UserInteractionRequired\";\nexport { CallTaskInAppDeviceAction } from \"@api/device-action/os/CallTaskInAppDeviceAction/CallTaskInAppDeviceAction\";\nexport { DEFAULT_UNLOCK_TIMEOUT_MS } from \"@api/device-action/os/Const\";\nexport {\n AppAlreadyInstalledDAError,\n DeleteLanguagePackDAError,\n DeviceLockedError,\n DeviceNotOnboardedError,\n OutOfMemoryDAError,\n RefusedByUserDAError,\n UnknownDAError,\n UnsupportedFirmwareDAError,\n} from \"@api/device-action/os/Errors\";\nexport { GetDeviceMetadataDeviceAction } from \"@api/device-action/os/GetDeviceMetadata/GetDeviceMetadataDeviceAction\";\nexport { GetDeviceStatusDeviceAction } from \"@api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction\";\nexport { GoToDashboardDeviceAction } from \"@api/device-action/os/GoToDashboard/GoToDashboardDeviceAction\";\nexport type {\n GoToDashboardDAError,\n GoToDashboardDAInput,\n GoToDashboardDAIntermediateValue,\n GoToDashboardDAOutput,\n GoToDashboardDARequiredInteraction,\n GoToDashboardDAState,\n} from \"@api/device-action/os/GoToDashboard/types\";\nexport { InstallLanguagePackageDeviceAction } from \"@api/device-action/os/InstallLanguagePackage/InstallLanguagePackageDeviceAction\";\nexport { InstallOrUpdateAppsDeviceAction } from \"@api/device-action/os/InstallOrUpdateApps/InstallOrUpdateAppsDeviceAction\";\nexport { ListAppsDeviceAction } from \"@api/device-action/os/ListApps/ListAppsDeviceAction\";\nexport { ListAppsWithMetadataDeviceAction } from \"@api/device-action/os/ListAppsWithMetadata/ListAppsWithMetadataDeviceAction\";\nexport { OpenAppDeviceAction } from \"@api/device-action/os/OpenAppDeviceAction/OpenAppDeviceAction\";\nexport { OpenAppWithDependenciesDeviceAction } from \"@api/device-action/os/OpenAppWithDependencies/OpenAppWithDependenciesDeviceAction\";\nexport { SendCommandInAppDeviceAction } from \"@api/device-action/os/SendCommandInAppDeviceAction/SendCommandInAppDeviceAction\";\nexport type {\n WaitForAppAndVersionDAError,\n WaitForAppAndVersionDAInput,\n WaitForAppAndVersionDAIntermediateValue,\n WaitForAppAndVersionDAOutput,\n WaitForAppAndVersionDARequiredInteraction,\n WaitForAppAndVersionDAState,\n} from \"@api/device-action/os/WaitForAppAndVersion/types\";\nexport { WaitForAppAndVersionDeviceAction } from \"@api/device-action/os/WaitForAppAndVersion/WaitForAppAndVersionDeviceAction\";\nexport { BackupAppStorageTask } from \"@api/device-action/task/BackupAppStorageTask\";\nexport {\n GetApplicationsMetadataTaskError,\n InvalidGetFirmwareMetadataResponseError,\n} from \"@api/device-action/task/Errors\";\nexport {\n type DeviceActionStateMachine,\n XStateDeviceAction,\n} from \"@api/device-action/xstate-utils/XStateDeviceAction\";\nexport { StaticDeviceModelDataSource } from \"@api/device-model/data/StaticDeviceModelDataSource\";\nexport { BleDeviceInfos } from \"@api/device-model/model/BleDeviceInfos\";\nexport { TransportDeviceModel } from \"@api/device-model/model/DeviceModel\";\nexport { ApduResponse } from \"@api/device-session/ApduResponse\";\nexport * from \"@api/device-session/data/FramerConst\";\nexport {\n type DeviceSessionState,\n DeviceSessionStateType,\n} from \"@api/device-session/DeviceSessionState\";\nexport {\n DmkResultFactory,\n DmkResultStatus,\n isSuccessDmkResult,\n} from \"@api/model/DmkResult\";\nexport { GenuineCheckDeviceAction } from \"@api/secure-channel/device-action/GenuineCheck/GenuineCheckDeviceAction\";\nexport { InstallAppDeviceAction } from \"@api/secure-channel/device-action/InstallApp/InstallAppDeviceAction\";\nexport { ListInstalledAppsDeviceAction } from \"@api/secure-channel/device-action/ListInstalledApps/ListInstalledAppsDeviceAction\";\nexport type { InstalledApp } from \"@api/secure-channel/device-action/ListInstalledApps/types\";\nexport { UninstallAppDeviceAction } from \"@api/secure-channel/device-action/UninstallApp/UninstallAppDeviceAction\";\nexport {\n DMK_STORAGE_PREFIX_KEY,\n type KeyValueStorage,\n} from \"@api/storage/KeyValueStorage\";\nexport { SecureChannelError } from \"@internal/secure-channel/model/Errors\";\n// TODO: remove from exported\nexport { defaultApduReceiverServiceStubBuilder } from \"@api/device-session/service/DefaultApduReceiverService.stub\";\nexport { defaultApduSenderServiceStubBuilder } from \"@api/device-session/service/DefaultApduSenderService.stub\";\nexport { FramerUtils } from \"@api/device-session/utils/FramerUtils\";\nexport { DeviceManagementKit } from \"@api/DeviceManagementKit\";\nexport { DeviceManagementKitBuilder } from \"@api/DeviceManagementKitBuilder\";\nexport * from \"@api/Error\";\nexport {\n noopLogger,\n noopLoggerFactory,\n} from \"@api/logger-publisher/utils/noopLoggerFactory\";\nexport { LogLevel } from \"@api/logger-subscriber/model/LogLevel\";\nexport { ConsoleLogger } from \"@api/logger-subscriber/service/ConsoleLogger\";\nexport { DefaultLogTagFormatter } from \"@api/logger-subscriber/service/DefaultLogTagFormatter\";\nexport { type LogTagFormatter } from \"@api/logger-subscriber/service/LogTagFormatter\";\nexport { WebLogsExporterLogger } from \"@api/logger-subscriber/service/WebLogsExporterLogger\";\nexport {\n DmkNetworkClient,\n type DmkNetworkClientOptions,\n type DmkNetworkResponse,\n type DmkQueryParams,\n type DmkQueryParamValue,\n type DmkRequestConfig,\n type DmkResponseType,\n} from \"@api/network/DmkNetworkClient\";\nexport { DmkNetworkClientError } from \"@api/network/DmkNetworkClientError\";\nexport { ConnectedDevice } from \"@api/transport/model/ConnectedDevice\";\nexport {\n DeviceConnectionStateMachine,\n type DeviceConnectionStateMachineParams,\n} from \"@api/transport/model/DeviceConnectionStateMachine\";\nexport * from \"@api/transport/model/Errors\";\nexport { TransportConnectedDevice } from \"@api/transport/model/TransportConnectedDevice\";\nexport { connectedDeviceStubBuilder } from \"@api/transport/model/TransportConnectedDevice.stub\";\nexport * from \"@api/types\";\nexport { formatApduReceivedLog, formatApduSentLog } from \"@api/utils/apduLogs\";\nexport { ApplicationChecker } from \"@api/utils/ApplicationChecker\";\nexport {\n type AppConfig,\n type ApplicationResolver,\n type ResolvedApp,\n} from \"@api/utils/ApplicationResolver\";\nexport {\n base64StringToBuffer,\n bufferToBase64String,\n isBase64String,\n} from \"@api/utils/Base64String\";\nexport {\n bufferToHexaString,\n hexaStringToBuffer,\n isHexaString,\n} from \"@api/utils/HexaString\";\n"],
5
+ "mappings": "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",
6
+ "names": ["Apdu", "APDU_MAX_PAYLOAD", "ApduBuilder", "ApduParser", "ByteArrayBuilder", "ByteArrayParser", "InvalidResponseFormatError", "InvalidStatusWordError", "CommandResultFactory", "CommandResultStatus", "isSuccessCommandResult", "BackupStorageCommand", "CloseAppCommand", "DeleteLanguagePackCommand", "DeleteLanguagePackCommandError", "GetAppAndVersionCommand", "GetAppStorageInfoCommand", "GetBackgroundImageSizeCommand", "GetBackgroundImageSizeCommandError", "BatteryStatusType", "GetBatteryStatusCommand", "GetOsVersionCommand", "ListAppsCommand", "ListLanguagePackCommand", "ListLanguagePackCommandError", "LoadCertificateCommand", "OpenAppCommand", "isCommandErrorCode", "CommandUtils", "GLOBAL_ERRORS", "GlobalCommandError", "GlobalCommandErrorHandler", "DeviceModel", "DeviceModelId", "LEDGER_VENDOR_ID", "DeviceStatus", "DeviceActionStatus", "UserInteractionRequired", "CallTaskInAppDeviceAction", "DEFAULT_UNLOCK_TIMEOUT_MS", "AppAlreadyInstalledDAError", "DeleteLanguagePackDAError", "DeviceLockedError", "DeviceNotOnboardedError", "OutOfMemoryDAError", "RefusedByUserDAError", "UnknownDAError", "UnsupportedFirmwareDAError", "GetDeviceMetadataDeviceAction", "GetDeviceStatusDeviceAction", "GoToDashboardDeviceAction", "InstallLanguagePackageDeviceAction", "InstallOrUpdateAppsDeviceAction", "ListAppsDeviceAction", "ListAppsWithMetadataDeviceAction", "OpenAppDeviceAction", "OpenAppWithDependenciesDeviceAction", "SendCommandInAppDeviceAction", "WaitForAppAndVersionDeviceAction", "BackupAppStorageTask", "GetApplicationsMetadataTaskError", "InvalidGetFirmwareMetadataResponseError", "XStateDeviceAction", "StaticDeviceModelDataSource", "BleDeviceInfos", "TransportDeviceModel", "ApduResponse", "DeviceSessionStateType", "DmkResultFactory", "DmkResultStatus", "isSuccessDmkResult", "GenuineCheckDeviceAction", "InstallAppDeviceAction", "ListInstalledAppsDeviceAction", "UninstallAppDeviceAction", "DMK_STORAGE_PREFIX_KEY", "SecureChannelError", "defaultApduReceiverServiceStubBuilder", "defaultApduSenderServiceStubBuilder", "FramerUtils", "DeviceManagementKit", "DeviceManagementKitBuilder", "noopLogger", "noopLoggerFactory", "LogLevel", "ConsoleLogger", "DefaultLogTagFormatter", "WebLogsExporterLogger", "DmkNetworkClient", "DmkNetworkClientError", "ConnectedDevice", "DeviceConnectionStateMachine", "TransportConnectedDevice", "connectedDeviceStubBuilder", "formatApduReceivedLog", "formatApduSentLog", "ApplicationChecker", "base64StringToBuffer", "bufferToBase64String", "isBase64String", "bufferToHexaString", "hexaStringToBuffer", "isHexaString"]
7
7
  }
@@ -1,2 +1,2 @@
1
- const s=["BOLOS","OLOS","OLOS\0"],S=O=>s.includes(O);export{S as isDashboardName};
1
+ const n="BOLOS",s=[n,"OLOS","OLOS\0"],o=O=>O!=null&&s.includes(O);export{n as LEDGER_OS_NAME,o as isDashboardName};
2
2
  //# sourceMappingURL=AppName.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/api/utils/AppName.ts"],
4
- "sourcesContent": ["const DASHBOARD_NAMES = [\"BOLOS\", \"OLOS\", \"OLOS\\u0000\"];\n\nexport const isDashboardName = (name: string) => DASHBOARD_NAMES.includes(name);\n"],
5
- "mappings": "AAAA,MAAMA,EAAkB,CAAC,QAAS,OAAQ,QAAY,EAEzCC,EAAmBC,GAAiBF,EAAgB,SAASE,CAAI",
6
- "names": ["DASHBOARD_NAMES", "isDashboardName", "name"]
4
+ "sourcesContent": ["// \"BOLOS\" is the legacy internal name of Ledger OS, still returned by the device.\n// When the current app name is Ledger OS, the device is on the dashboard (no app open).\nexport const LEDGER_OS_NAME = \"BOLOS\";\n\nconst DASHBOARD_NAMES = [LEDGER_OS_NAME, \"OLOS\", \"OLOS\\u0000\"];\n\nexport const isDashboardName = (name?: string | null) =>\n name !== undefined && name !== null && DASHBOARD_NAMES.includes(name);\n"],
5
+ "mappings": "AAEO,MAAMA,EAAiB,QAExBC,EAAkB,CAACD,EAAgB,OAAQ,QAAY,EAEhDE,EAAmBC,GACRA,GAAS,MAAQF,EAAgB,SAASE,CAAI",
6
+ "names": ["LEDGER_OS_NAME", "DASHBOARD_NAMES", "isDashboardName", "name"]
7
7
  }
@@ -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,oBAsJgB,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;AAExD,eAAO,MAAM,sCAAsC,GACjD,gBAAe,aAAqC,EACpD,QAAO,OAAO,CAAC,oBAAoB,CAAM,KACxC,oBAuJgB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type Observable } from "rxjs";
2
2
  import { type GetAppAndVersionCommandResult } from "../../../command/os/GetAppAndVersionCommand";
3
+ import { type GetOsVersionCommandResult, type GetOsVersionResponse } from "../../../command/os/GetOsVersionCommand";
3
4
  import { type InternalApi } from "../../../device-action/DeviceAction";
4
5
  import { type DeviceActionStateMachine, XStateDeviceAction } from "../../../device-action/xstate-utils/XStateDeviceAction";
5
6
  import { type DeviceSessionState } from "../../../device-session/DeviceSessionState";
@@ -9,10 +10,12 @@ type GetDeviceStatusMachineInternalState = {
9
10
  readonly locked: boolean;
10
11
  readonly currentApp: string | null;
11
12
  readonly currentAppVersion: string | null;
13
+ readonly osVersionMetadata: GetOsVersionResponse | null;
12
14
  readonly error: GetDeviceStatusDAError | null;
13
15
  };
14
16
  export type MachineDependencies = {
15
17
  readonly getAppAndVersion: () => Promise<GetAppAndVersionCommandResult>;
18
+ readonly getOsVersion: () => Promise<GetOsVersionCommandResult>;
16
19
  readonly getDeviceSessionState: () => DeviceSessionState;
17
20
  readonly waitForDeviceUnlock: (args: {
18
21
  input: {
@@ -20,7 +23,6 @@ export type MachineDependencies = {
20
23
  };
21
24
  }) => Observable<void>;
22
25
  readonly setDeviceSessionState: (state: DeviceSessionState) => DeviceSessionState;
23
- readonly isDeviceOnboarded: () => boolean;
24
26
  };
25
27
  export type ExtractMachineDependencies = (internalApi: InternalApi) => MachineDependencies;
26
28
  export declare class GetDeviceStatusDeviceAction extends XStateDeviceAction<GetDeviceStatusDAOutput, GetDeviceStatusDAInput, GetDeviceStatusDAError, GetDeviceStatusDAIntermediateValue, GetDeviceStatusMachineInternalState> {
@@ -1 +1 @@
1
- {"version":3,"file":"GetDeviceStatusDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,UAAU,EAIhB,MAAM,MAAM,CAAC;AAKd,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAQnE,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAC;AAEjB,KAAK,mCAAmC,GAAG;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACxE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;IACzD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,CAC9B,KAAK,EAAE,kBAAkB,KACtB,kBAAkB,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,OAAO,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CACvC,WAAW,EAAE,WAAW,KACrB,mBAAmB,CAAC;AAEzB,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,mCAAmC,CACpC;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,mCAAmC,CACpC;IA0QD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAqCnE"}
1
+ {"version":3,"file":"GetDeviceStatusDeviceAction.d.ts","sourceRoot":"","sources":["../../../../../../../src/api/device-action/os/GetDeviceStatus/GetDeviceStatusDeviceAction.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,UAAU,EAIhB,MAAM,MAAM,CAAC;AAKd,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC1B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAQnE,OAAO,EACL,KAAK,wBAAwB,EAC7B,kBAAkB,EACnB,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,wCAAwC,CAAC;AAGhD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,EACvC,KAAK,uBAAuB,EAE7B,MAAM,SAAS,CAAC;AAEjB,KAAK,mCAAmC,GAAG;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,6BAA6B,CAAC,CAAC;IACxE,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAChE,QAAQ,CAAC,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;IACzD,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE;QACnC,KAAK,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,CAC9B,KAAK,EAAE,kBAAkB,KACtB,kBAAkB,CAAC;CACzB,CAAC;AAWF,MAAM,MAAM,0BAA0B,GAAG,CACvC,WAAW,EAAE,WAAW,KACrB,mBAAmB,CAAC;AAEzB,qBAAa,2BAA4B,SAAQ,kBAAkB,CACjE,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,mCAAmC,CACpC;IACC,gBAAgB,CACd,WAAW,EAAE,WAAW,GACvB,wBAAwB,CACzB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,kCAAkC,EAClC,mCAAmC,CACpC;IAqVD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB;CAqCnE"}
@@ -17,7 +17,6 @@ export type MachineDependencies = {
17
17
  }) => Promise<OpenAppCommandResult>;
18
18
  readonly getDeviceSessionState: () => DeviceSessionState;
19
19
  readonly setDeviceSessionState: (state: DeviceSessionState) => void;
20
- readonly isDeviceOnboarded: () => boolean;
21
20
  };
22
21
  export type ExtractMachineDependencies = (internalApi: InternalApi) => MachineDependencies;
23
22
  /**