@ovok/native 1.16.1-dev.2175 → 1.16.1-dev.2179

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 (89) hide show
  1. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +16 -6
  2. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +2 -2
  4. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  6. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +33 -12
  7. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  8. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.advertisement.js +19 -2
  9. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.advertisement.js.map +1 -1
  10. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +18 -3
  11. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  12. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js +103 -0
  13. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js.map +1 -0
  14. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +4 -2
  15. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.session.js +49 -0
  17. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.session.js.map +1 -0
  18. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -4
  19. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +0 -1
  20. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +19 -8
  22. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  23. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +16 -6
  24. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  25. package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js +2 -3
  26. package/lib/module/modules/bt-management/services/devices/bp2/bp2.frame-reader.js.map +1 -1
  27. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  28. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +33 -12
  29. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  30. package/lib/module/modules/bt-management/services/devices/lepu/lepu.advertisement.js +17 -1
  31. package/lib/module/modules/bt-management/services/devices/lepu/lepu.advertisement.js.map +1 -1
  32. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js +18 -3
  33. package/lib/module/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.js.map +1 -1
  34. package/lib/module/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js +99 -0
  35. package/lib/module/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.js.map +1 -0
  36. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js +4 -2
  37. package/lib/module/modules/bt-management/services/devices/lepu/lepu.frame-reader.js.map +1 -1
  38. package/lib/module/modules/bt-management/services/devices/lepu/lepu.session.js +45 -0
  39. package/lib/module/modules/bt-management/services/devices/lepu/lepu.session.js.map +1 -0
  40. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +4 -4
  41. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +0 -1
  42. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  43. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +19 -8
  44. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  45. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +1 -0
  46. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +2 -1
  48. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +2 -2
  50. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +6 -0
  52. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts +8 -1
  54. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
  56. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts +20 -0
  58. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts.map +1 -0
  59. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +3 -1
  60. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts +17 -0
  62. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts.map +1 -0
  63. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +4 -1
  66. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  67. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +1 -0
  68. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  69. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts +2 -1
  70. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.frame-reader.d.ts.map +1 -1
  71. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts +2 -2
  72. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  73. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +6 -0
  74. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  75. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts +8 -1
  76. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.advertisement.d.ts.map +1 -1
  77. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts +2 -1
  78. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.d.ts.map +1 -1
  79. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts +20 -0
  80. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.d.ts.map +1 -0
  81. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts +3 -1
  82. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.frame-reader.d.ts.map +1 -1
  83. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts +17 -0
  84. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.session.d.ts.map +1 -0
  85. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  86. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  87. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +4 -1
  88. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  89. package/package.json +1 -1
@@ -1,7 +1,14 @@
1
1
  declare const manufacturerBytes: (manufacturerData?: string) => number[];
2
2
  /** Returns true when the advertised byte says that only encrypted traffic is accepted. */
3
3
  declare const advertisementRequiresEncryption: (manufacturerData: string | undefined, byteIndexes?: readonly number[]) => boolean;
4
+ /**
5
+ * True when the advertisement offers or requires the encryption handshake.
6
+ *
7
+ * Byte 4 describes the second service and wins when it names a protocol; otherwise byte 3
8
+ * does. A level of 1 (optional) or 2 (required) is a handshake for the vendor's own client.
9
+ */
10
+ declare const advertisesLepuEncryption: (manufacturerData?: string) => boolean;
4
11
  /** The vendor uses the low nibble of byte 3 or 4 to select the OxyII service. */
5
12
  declare const viatomOxygenUsesV2: (manufacturerData?: string) => boolean;
6
- export { advertisementRequiresEncryption, manufacturerBytes, viatomOxygenUsesV2, };
13
+ export { advertisementRequiresEncryption, advertisesLepuEncryption, manufacturerBytes, viatomOxygenUsesV2, };
7
14
  //# sourceMappingURL=lepu.advertisement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.advertisement.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,iBAAiB,GAAI,mBAAmB,MAAM,KAAG,MAAM,EAU5D,CAAC;AAOF,0FAA0F;AAC1F,QAAA,MAAM,+BAA+B,GACnC,kBAAkB,MAAM,GAAG,SAAS,EACpC,cAAa,SAAS,MAAM,EAAO,KAClC,OAKA,CAAC;AAEJ,iFAAiF;AACjF,QAAA,MAAM,kBAAkB,GAAI,mBAAmB,MAAM,KAAG,OAIrD,CAAC;AAEJ,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"lepu.advertisement.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,iBAAiB,GAAI,mBAAmB,MAAM,KAAG,MAAM,EAU5D,CAAC;AAOF,0FAA0F;AAC1F,QAAA,MAAM,+BAA+B,GACnC,kBAAkB,MAAM,GAAG,SAAS,EACpC,cAAa,SAAS,MAAM,EAAO,KAClC,OAKA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,wBAAwB,GAAI,mBAAmB,MAAM,KAAG,OAQ7D,CAAC;AAEF,iFAAiF;AACjF,QAAA,MAAM,kBAAkB,GAAI,mBAAmB,MAAM,KAAG,OAIrD,CAAC;AAEJ,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
@@ -19,7 +19,8 @@ interface LepuEcgTransferParams {
19
19
  acceptFile?: (name: string) => boolean;
20
20
  pollCommand?: number;
21
21
  pollIntervalMs?: number;
22
- afterTransfer?: () => readonly DeviceCommand[];
22
+ /** Asked on each poll answer; without it, the stored files are read again after every poll. */
23
+ shouldStartTransfer?: () => boolean;
23
24
  onProgress?: (progress: {
24
25
  name: string;
25
26
  receivedBytes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,CAAC;IAC/C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAID,oFAAoF;AACpF,cAAM,wBAAyB,YAAW,gBAAgB;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAER,MAAM,EAAE,qBAAqB;IAa1D,eAAe,QAAO,SAAS,aAAa,EAAE,CACnB;IAE3B,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAM9C;IAEF,2FAA2F;IACpF,gBAAgB,QAAO,oBAAoB,CAchD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAQzE;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAqBrC;IAEF,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,cAAc,CAMnB;IAEH,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,aAAa,CAgBnB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,WAAW,CAMhB;CACJ;AAED,QAAA,MAAM,YAAY,GAAI,YAAY,gBAAgB,KAAG,MAAM,EAe1D,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAUD,oFAAoF;AACpF,cAAM,wBAAyB,YAAW,gBAAgB;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAER,MAAM,EAAE,qBAAqB;IAa1D,eAAe,QAAO,SAAS,aAAa,EAAE,CACnB;IAE3B,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAU9C;IAEF,2FAA2F;IACpF,gBAAgB,QAAO,oBAAoB,CAkBhD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAazE;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAuBrC;IAEF,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,cAAc,CAMnB;IAEH,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,aAAa,CAgBnB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,WAAW,CAMhB;CACJ;AAED,QAAA,MAAM,YAAY,GAAI,YAAY,gBAAgB,KAAG,MAAM,EAe1D,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { CommandSequencer } from "../../../types/command-sequencer";
2
+ import { DeviceCommand } from "../../../types/device-command";
3
+ import { LepuSession } from "./lepu.session";
4
+ type SyncCommandSequencer = Omit<CommandSequencer, "initialCommands"> & {
5
+ initialCommands(): readonly DeviceCommand[];
6
+ };
7
+ interface LepuEncryptionParams {
8
+ write: Omit<DeviceCommand, "frame">;
9
+ session: LepuSession;
10
+ manufacturerData?: string;
11
+ startByte?: string;
12
+ onRefused: (reason: string) => void;
13
+ }
14
+ /**
15
+ * The sequencer for one connection: wrapped in the handshake when the advertisement asks
16
+ * for encryption, unchanged otherwise. Either way the session starts without a key.
17
+ */
18
+ declare const withLepuEncryption: (inner: SyncCommandSequencer, params: LepuEncryptionParams) => CommandSequencer;
19
+ export { withLepuEncryption };
20
+ //# sourceMappingURL=lepu.encryption-handshake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.encryption-handshake.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAa9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,KAAK,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG;IACtE,eAAe,IAAI,SAAS,aAAa,EAAE,CAAC;CAC7C,CAAC;AAEF,UAAU,oBAAoB;IAC5B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AA4HD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,OAAO,oBAAoB,EAC3B,QAAQ,oBAAoB,KAC3B,gBAMF,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { FrameReadResult } from "../../../types/frame-read-result";
2
2
  import { FrameReader } from "../../../types/frame-reader";
3
+ import { LepuSession } from "./lepu.session";
3
4
  /**
4
5
  * Reads the frame every Lepu device shares.
5
6
  *
@@ -14,7 +15,8 @@ import { FrameReader } from "../../../types/frame-reader";
14
15
  */
15
16
  export declare class LepuFrameReader implements FrameReader {
16
17
  private readonly startBytes;
17
- constructor(startBytes: readonly string[]);
18
+ private readonly session?;
19
+ constructor(startBytes: readonly string[], session?: LepuSession | undefined);
18
20
  readFrame(buffer: readonly string[]): FrameReadResult;
19
21
  private isFrameStart;
20
22
  private findFrameStart;
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAgB1D;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS,MAAM,EAAE;IAE1D,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;IAuB5D,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"lepu.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAM1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAE/C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBADR,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,WAAW,YAAA;IAGjC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;IA2B5D,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One connection's AES key, from the moment the device hands it over in the handshake.
3
+ *
4
+ * Requests leave encrypted and replies reach every parser in plain text. Without a key, and
5
+ * for an empty payload, frames pass through unchanged, as the vendor's own client does.
6
+ */
7
+ declare class LepuSession {
8
+ private key;
9
+ begin: (key: readonly number[]) => void;
10
+ end: () => void;
11
+ encryptFrame: (frame: readonly string[]) => string[];
12
+ /** The frame in plain text, or `undefined` when its payload does not decrypt. */
13
+ decryptFrame: (frame: readonly string[]) => string[] | undefined;
14
+ private withPayload;
15
+ }
16
+ export { LepuSession };
17
+ //# sourceMappingURL=lepu.session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.session.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.session.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,GAAG,CAAgC;IAEpC,KAAK,GAAI,KAAK,SAAS,MAAM,EAAE,KAAG,IAAI,CAE3C;IAEK,GAAG,QAAO,IAAI,CAEnB;IAEK,YAAY,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAAE,CACE;IAE5D,iFAAiF;IAC1E,YAAY,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAAE,GAAG,SAAS,CACxB;IAE9C,OAAO,CAAC,WAAW,CAajB;CACH;AAiBD,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AAgEjD,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAkCF,CAAC;AAEF,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,mFAAmF;AACnF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,gEAAgE;AAChE,QAAA,MAAM,aAAa,GAAI,QAAQ,cAAc,KAAG,sBACZ,CAAC;AAQrC,gGAAgG;AAChG,QAAA,MAAM,YAAY,GAChB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAoCA,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAkBrC,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAQrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AAgEjD,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAiCF,CAAC;AAEF,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,mFAAmF;AACnF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,gEAAgE;AAChE,QAAA,MAAM,aAAa,GAAI,QAAQ,cAAc,KAAG,sBACZ,CAAC;AAQrC,gGAAgG;AAChG,QAAA,MAAM,YAAY,GAChB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAoCA,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAkBrC,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAQrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAwDjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAoDD,uFAAuF;AACvF,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6EAA6E;AAC7E,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6CAA6C;AAC7C,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAWrC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAUrC,CAAC;AAKF,8EAA8E;AAC9E,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAAyB,CAAC;AAEhE,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AA+DjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AA0DD,uFAAuF;AACvF,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6EAA6E;AAC7E,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6CAA6C;AAC7C,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAWrC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAUrC,CAAC;AAKF,8EAA8E;AAC9E,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAAyB,CAAC;AAEhE,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,GACZ,CAAC"}
@@ -33,7 +33,10 @@ export interface CustomLepuSpec {
33
33
  requestStartByte?: string;
34
34
  /** Selects the OxyII service and framing when the advertisement says protocol V2. */
35
35
  manufacturerDataProtocol?: "viatom-oxygen";
36
- /** Manufacturer-data byte indexes whose high nibble of 2 means encryption is required. */
36
+ /**
37
+ * Manufacturer-data byte indexes whose high nibble of 2 means encryption is required, for
38
+ * protocols without the handshake; the standard protocol runs the handshake instead.
39
+ */
37
40
  rejectEncryptionAtBytes?: number[];
38
41
  /** Where commands are written. The service must be one this declaration also monitors. */
39
42
  write: {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C,0FAA0F;IAC1F,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -29,6 +29,7 @@ declare class BP2Device extends BTManagedDevice<IntegratedDevices.BP2> {
29
29
  constructor(device: Device, params: CreateDeviceParams<IntegratedDevices.BP2>);
30
30
  protected onStreamStart: () => void;
31
31
  protected createCommandSequencer: () => CommandSequencer;
32
+ private readonly lepuSession;
32
33
  protected frameReader: BP2FrameReader;
33
34
  protected preferredMtu: number;
34
35
  protected handleSuccessResult(successResult: MeasurementWithCaseType<MeasurementTypeForDevices<[IntegratedDevices.BP2]>>, collectedValues: string[]): void | boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAQ9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD;;;GAGG;AACH,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAW9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyD;IACnF,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAUnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CA0BrD;IAEF,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwB;IAC7D,SAAS,CAAC,YAAY,EAAE,MAAM,CAAiB;IAE/C,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,kBAAkB,CASxB;IAEF,OAAO,CAAC,+BAA+B;IAiDvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAiBF;IAElB,OAAO,CAAC,iBAAiB,CA6CvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAmD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
1
+ {"version":3,"file":"bp2.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.device.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAQ9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAKvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD;;;GAGG;AACH,4DAA4D;AAC5D,QAAA,MAAM,4BAA4B,WAAW,CAAC;AAW9C,cAAM,SAAU,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAC5D,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,uBAAuB,CAAqB;IACpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyD;IACnF,OAAO,CAAC,cAAc,CAGlB;IACJ,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAmB;IACrD,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAS;gBAGzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC;IAUnD,SAAS,CAAC,aAAa,EAAE,MAAM,IAAI,CAKjC;IAEF,SAAS,CAAC,sBAAsB,QAAO,gBAAgB,CAmCrD;IAEF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,SAAS,CAAC,WAAW,EAAE,cAAc,CAAwC;IAC7E,SAAS,CAAC,YAAY,EAAE,MAAM,CAAiB;IAE/C,SAAS,CAAC,mBAAmB,CAC3B,aAAa,EAAE,uBAAuB,CACpC,yBAAyB,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CACnD,EACD,eAAe,EAAE,MAAM,EAAE,GACxB,IAAI,GAAG,OAAO;IA0BjB,OAAO,CAAC,eAAe;IAiCvB,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,yBAAyB;IAwBjC,OAAO,CAAC,kBAAkB,CASxB;IAEF,OAAO,CAAC,+BAA+B;IAiDvC,OAAO,CAAC,kBAAkB,CAYxB;IAEF,OAAO,CAAC,YAAY,CAiBF;IAElB,OAAO,CAAC,iBAAiB,CA6CvB;IAEF,OAAO,CAAC,oBAAoB,CAwB1B;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,oBAAoB,CAO1B;IAEF,OAAO,CAAC,qBAAqB;CAmD9B;AAED,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { LepuFrameReader } from "../lepu/lepu.frame-reader";
2
+ import { LepuSession } from "../lepu/lepu.session";
2
3
  /**
3
4
  * Reads Lepu protocol frames as used by the BP2.
4
5
  *
@@ -6,6 +7,6 @@ import { LepuFrameReader } from "../lepu/lepu.frame-reader";
6
7
  * thing that makes it a BP2 is which start byte it accepts.
7
8
  */
8
9
  export declare class BP2FrameReader extends LepuFrameReader {
9
- constructor();
10
+ constructor(session?: LepuSession);
10
11
  }
11
12
  //# sourceMappingURL=bp2.frame-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bp2.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAK5D;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,eAAe;;CAIlD"}
1
+ {"version":3,"file":"bp2.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/bp2/bp2.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,eAAe;gBAC9B,OAAO,CAAC,EAAE,WAAW;CAGzC"}
@@ -1,8 +1,8 @@
1
1
  import { ClockSyncOptions } from "../../../types/clock-sync";
2
- import { CommandSequencer } from "../../../types/command-sequencer";
3
2
  import { CustomLepuSpec } from "../../../types/custom-lepu-spec";
4
3
  import { DeviceData } from "../../../types/device-data";
5
4
  import { LepuDeviceInfo } from "../lepu/lepu.device-info";
5
+ import { LepuIdentityGate } from "../lepu/lepu.identity-gate";
6
6
  interface IdentityReport {
7
7
  onIdentified: (info: LepuDeviceInfo) => void;
8
8
  onRefused: (reason: string) => void;
@@ -26,7 +26,7 @@ declare const recordLepuIdentity: (deviceData: DeviceData, info: LepuDeviceInfo)
26
26
  * answers on the one it is addressed with, so the list matters for reading and its head for
27
27
  * writing.
28
28
  */
29
- declare const createLepuSequencer: (lepu: CustomLepuSpec, report: IdentityReport, clockSync?: ClockSyncOptions, manufacturerData?: string) => CommandSequencer;
29
+ declare const createLepuSequencer: (lepu: CustomLepuSpec, report: IdentityReport, clockSync?: ClockSyncOptions, manufacturerData?: string) => LepuIdentityGate;
30
30
  declare const selectLepu: (lepu: CustomLepuSpec, manufacturerData?: string) => CustomLepuSpec;
31
31
  export { createLepuSequencer, recordLepuIdentity, selectLepu };
32
32
  //# sourceMappingURL=custom-lepu-sequencer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-lepu-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO1D,UAAU,cAAc;IACtB,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,UAAU,EACtB,MAAM,cAAc,KACnB,IAOF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,mBAAmB,GACvB,MAAM,cAAc,EACpB,QAAQ,cAAc,EACtB,YAAY,gBAAgB,EAC5B,mBAAmB,MAAM,KACxB,gBA6BF,CAAC;AAEF,QAAA,MAAM,UAAU,GACd,MAAM,cAAc,EACpB,mBAAmB,MAAM,KACxB,cAuBF,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"custom-lepu-sequencer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAM9D,UAAU,cAAc;IACtB,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,UAAU,EACtB,MAAM,cAAc,KACnB,IAOF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,mBAAmB,GACvB,MAAM,cAAc,EACpB,QAAQ,cAAc,EACtB,YAAY,gBAAgB,EAC5B,mBAAmB,MAAM,KACxB,gBA6BF,CAAC;AAEF,QAAA,MAAM,UAAU,GACd,MAAM,cAAc,EACpB,mBAAmB,MAAM,KACxB,cAuBF,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
@@ -25,9 +25,11 @@ export declare class CustomDevice extends BTManagedDevice<CustomDeviceId> {
25
25
  private readonly frameHandler;
26
26
  private readonly deliveredFileNames;
27
27
  private reportedHistoryIds;
28
+ private recordingEnded;
28
29
  private readonly validators;
29
30
  private readonly sessionPolicy;
30
31
  private readonly sessionAggregates;
32
+ private readonly lepuSession;
31
33
  private sessionStartedAt;
32
34
  constructor(device: Device, params: CreateDeviceParams<CustomDeviceId>, definition: CustomDeviceDefinition);
33
35
  /** Gives a declaration that computes its commands at connect time the context it needs to do so. */
@@ -42,6 +44,8 @@ export declare class CustomDevice extends BTManagedDevice<CustomDeviceId> {
42
44
  * gate would poll hardware it had not identified, which is the case the gate exists for.
43
45
  */
44
46
  private declareLepuProtocol;
47
+ /** The standard family runs the vendor's encryption handshake first when it advertises one. */
48
+ private withEncryption;
45
49
  private reportViatomEcgFile;
46
50
  private reportViatomBp2File;
47
51
  private reportViatomBp3File;
@@ -64,6 +68,8 @@ export declare class CustomDevice extends BTManagedDevice<CustomDeviceId> {
64
68
  */
65
69
  protected handleSuccessResult(successResult: CustomResult, collectedValues: string[]): void | boolean;
66
70
  private handleFrame;
71
+ /** True once after a measurement ends, when the device may have stored a new record. */
72
+ private takeRecordingEnded;
67
73
  /** Emits a completed session before the state machine returns to CONNECTED. */
68
74
  protected handleMeasurementEnd(): void;
69
75
  private sessionAverage;
@@ -1 +1 @@
1
- {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom.device.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/custom/custom.device.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  declare const manufacturerBytes: (manufacturerData?: string) => number[];
2
2
  /** Returns true when the advertised byte says that only encrypted traffic is accepted. */
3
3
  declare const advertisementRequiresEncryption: (manufacturerData: string | undefined, byteIndexes?: readonly number[]) => boolean;
4
+ /**
5
+ * True when the advertisement offers or requires the encryption handshake.
6
+ *
7
+ * Byte 4 describes the second service and wins when it names a protocol; otherwise byte 3
8
+ * does. A level of 1 (optional) or 2 (required) is a handshake for the vendor's own client.
9
+ */
10
+ declare const advertisesLepuEncryption: (manufacturerData?: string) => boolean;
4
11
  /** The vendor uses the low nibble of byte 3 or 4 to select the OxyII service. */
5
12
  declare const viatomOxygenUsesV2: (manufacturerData?: string) => boolean;
6
- export { advertisementRequiresEncryption, manufacturerBytes, viatomOxygenUsesV2, };
13
+ export { advertisementRequiresEncryption, advertisesLepuEncryption, manufacturerBytes, viatomOxygenUsesV2, };
7
14
  //# sourceMappingURL=lepu.advertisement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.advertisement.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,iBAAiB,GAAI,mBAAmB,MAAM,KAAG,MAAM,EAU5D,CAAC;AAOF,0FAA0F;AAC1F,QAAA,MAAM,+BAA+B,GACnC,kBAAkB,MAAM,GAAG,SAAS,EACpC,cAAa,SAAS,MAAM,EAAO,KAClC,OAKA,CAAC;AAEJ,iFAAiF;AACjF,QAAA,MAAM,kBAAkB,GAAI,mBAAmB,MAAM,KAAG,OAIrD,CAAC;AAEJ,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"lepu.advertisement.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.advertisement.ts"],"names":[],"mappings":"AAYA,QAAA,MAAM,iBAAiB,GAAI,mBAAmB,MAAM,KAAG,MAAM,EAU5D,CAAC;AAOF,0FAA0F;AAC1F,QAAA,MAAM,+BAA+B,GACnC,kBAAkB,MAAM,GAAG,SAAS,EACpC,cAAa,SAAS,MAAM,EAAO,KAClC,OAKA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,wBAAwB,GAAI,mBAAmB,MAAM,KAAG,OAQ7D,CAAC;AAEF,iFAAiF;AACjF,QAAA,MAAM,kBAAkB,GAAI,mBAAmB,MAAM,KAAG,OAIrD,CAAC;AAEJ,OAAO,EACL,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GACnB,CAAC"}
@@ -19,7 +19,8 @@ interface LepuEcgTransferParams {
19
19
  acceptFile?: (name: string) => boolean;
20
20
  pollCommand?: number;
21
21
  pollIntervalMs?: number;
22
- afterTransfer?: () => readonly DeviceCommand[];
22
+ /** Asked on each poll answer; without it, the stored files are read again after every poll. */
23
+ shouldStartTransfer?: () => boolean;
23
24
  onProgress?: (progress: {
24
25
  name: string;
25
26
  receivedBytes: number;
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,SAAS,aAAa,EAAE,CAAC;IAC/C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAID,oFAAoF;AACpF,cAAM,wBAAyB,YAAW,gBAAgB;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAER,MAAM,EAAE,qBAAqB;IAa1D,eAAe,QAAO,SAAS,aAAa,EAAE,CACnB;IAE3B,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAM9C;IAEF,2FAA2F;IACpF,gBAAgB,QAAO,oBAAoB,CAchD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAQzE;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAqBrC;IAEF,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,cAAc,CAMnB;IAEH,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,aAAa,CAgBnB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,WAAW,CAMhB;CACJ;AAED,QAAA,MAAM,YAAY,GAAI,YAAY,gBAAgB,KAAG,MAAM,EAe1D,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"lepu.ecg-transfer.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.ecg-transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAoB,MAAM,sBAAsB,CAAC;AAKlE,UAAU,qBAAqB;IAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,+FAA+F;IAC/F,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;CACZ;AAUD,oFAAoF;AACpF,cAAM,wBAAyB,YAAW,gBAAgB;IAMrC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL1C,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;gBAER,MAAM,EAAE,qBAAqB;IAa1D,eAAe,QAAO,SAAS,aAAa,EAAE,CACnB;IAE3B,iBAAiB,QAAO,OAAO,CAAS;IAExC,gBAAgB,QAAO,MAAM,GAAG,SAAS,CAU9C;IAEF,2FAA2F;IACpF,gBAAgB,QAAO,oBAAoB,CAkBhD;IAEK,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,SAAS,GAAG,UAAU,CAazE;IAEK,WAAW,GAChB,OAAO,SAAS,MAAM,EAAE,KACvB,SAAS,aAAa,EAAE,GAAG,SAAS,CAuBrC;IAEF,OAAO,CAAC,oBAAoB,CAS1B;IAEF,OAAO,CAAC,cAAc,CAMnB;IAEH,OAAO,CAAC,WAAW,CAcjB;IAEF,OAAO,CAAC,aAAa,CAgBnB;IAEF,OAAO,CAAC,cAAc,CAUpB;IAEF,OAAO,CAAC,WAAW,CAMhB;CACJ;AAED,QAAA,MAAM,YAAY,GAAI,YAAY,gBAAgB,KAAG,MAAM,EAe1D,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { CommandSequencer } from "../../../types/command-sequencer";
2
+ import { DeviceCommand } from "../../../types/device-command";
3
+ import { LepuSession } from "./lepu.session";
4
+ type SyncCommandSequencer = Omit<CommandSequencer, "initialCommands"> & {
5
+ initialCommands(): readonly DeviceCommand[];
6
+ };
7
+ interface LepuEncryptionParams {
8
+ write: Omit<DeviceCommand, "frame">;
9
+ session: LepuSession;
10
+ manufacturerData?: string;
11
+ startByte?: string;
12
+ onRefused: (reason: string) => void;
13
+ }
14
+ /**
15
+ * The sequencer for one connection: wrapped in the handshake when the advertisement asks
16
+ * for encryption, unchanged otherwise. Either way the session starts without a key.
17
+ */
18
+ declare const withLepuEncryption: (inner: SyncCommandSequencer, params: LepuEncryptionParams) => CommandSequencer;
19
+ export { withLepuEncryption };
20
+ //# sourceMappingURL=lepu.encryption-handshake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.encryption-handshake.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.encryption-handshake.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAa9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI7C,KAAK,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG;IACtE,eAAe,IAAI,SAAS,aAAa,EAAE,CAAC;CAC7C,CAAC;AAEF,UAAU,oBAAoB;IAC5B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AA4HD;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GACtB,OAAO,oBAAoB,EAC3B,QAAQ,oBAAoB,KAC3B,gBAMF,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { FrameReadResult } from "../../../types/frame-read-result";
2
2
  import { FrameReader } from "../../../types/frame-reader";
3
+ import { LepuSession } from "./lepu.session";
3
4
  /**
4
5
  * Reads the frame every Lepu device shares.
5
6
  *
@@ -14,7 +15,8 @@ import { FrameReader } from "../../../types/frame-reader";
14
15
  */
15
16
  export declare class LepuFrameReader implements FrameReader {
16
17
  private readonly startBytes;
17
- constructor(startBytes: readonly string[]);
18
+ private readonly session?;
19
+ constructor(startBytes: readonly string[], session?: LepuSession | undefined);
18
20
  readFrame(buffer: readonly string[]): FrameReadResult;
19
21
  private isFrameStart;
20
22
  private findFrameStart;
@@ -1 +1 @@
1
- {"version":3,"file":"lepu.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAgB1D;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,SAAS,MAAM,EAAE;IAE1D,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;IAuB5D,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"lepu.frame-reader.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.frame-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAM1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,WAAW;IAE/C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBADR,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,CAAC,EAAE,WAAW,YAAA;IAGjC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,eAAe;IA2B5D,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,cAAc;IAYtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * One connection's AES key, from the moment the device hands it over in the handshake.
3
+ *
4
+ * Requests leave encrypted and replies reach every parser in plain text. Without a key, and
5
+ * for an empty payload, frames pass through unchanged, as the vendor's own client does.
6
+ */
7
+ declare class LepuSession {
8
+ private key;
9
+ begin: (key: readonly number[]) => void;
10
+ end: () => void;
11
+ encryptFrame: (frame: readonly string[]) => string[];
12
+ /** The frame in plain text, or `undefined` when its payload does not decrypt. */
13
+ decryptFrame: (frame: readonly string[]) => string[] | undefined;
14
+ private withPayload;
15
+ }
16
+ export { LepuSession };
17
+ //# sourceMappingURL=lepu.session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lepu.session.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/lepu/lepu.session.ts"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,GAAG,CAAgC;IAEpC,KAAK,GAAI,KAAK,SAAS,MAAM,EAAE,KAAG,IAAI,CAE3C;IAEK,GAAG,QAAO,IAAI,CAEnB;IAEK,YAAY,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAAE,CACE;IAE5D,iFAAiF;IAC1E,YAAY,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAAE,GAAG,SAAS,CACxB;IAE9C,OAAO,CAAC,WAAW,CAajB;CACH;AAiBD,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AAgEjD,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAkCF,CAAC;AAEF,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,mFAAmF;AACnF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,gEAAgE;AAChE,QAAA,MAAM,aAAa,GAAI,QAAQ,cAAc,KAAG,sBACZ,CAAC;AAQrC,gGAAgG;AAChG,QAAA,MAAM,YAAY,GAChB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAoCA,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAkBrC,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAQrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"viatom.bp-monitors.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,sBAAsB,EAEvB,MAAM,yCAAyC,CAAC;AAgEjD,UAAU,cAAc;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;GAMG;AACH,QAAA,MAAM,eAAe,GACnB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAiCF,CAAC;AAEF,gDAAgD;AAChD,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,kFAAkF;AAClF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,mFAAmF;AACnF,QAAA,MAAM,WAAW,GAAI,QAAQ,cAAc,KAAG,sBACb,CAAC;AAElC,gEAAgE;AAChE,QAAA,MAAM,aAAa,GAAI,QAAQ,cAAc,KAAG,sBACZ,CAAC;AAQrC,gGAAgG;AAChG,QAAA,MAAM,YAAY,GAChB,gBAAgB,MAAM,EACtB,QAAQ,cAAc,KACrB,sBAoCA,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAkBrC,CAAC;AAEF,2DAA2D;AAC3D,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAQrC,CAAC;AAEF,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,EACZ,eAAe,GAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAwDjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAoDD,uFAAuF;AACvF,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6EAA6E;AAC7E,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6CAA6C;AAC7C,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAWrC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAUrC,CAAC;AAKF,8EAA8E;AAC9E,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAAyB,CAAC;AAEhE,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,GACZ,CAAC"}
1
+ {"version":3,"file":"viatom.ecg-recorders.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AA+DjF,UAAU,eAAe;IAEvB,qFAAqF;IACrF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AA0DD,uFAAuF;AACvF,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ;;;;;GAKG;AACH,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6EAA6E;AAC7E,QAAA,MAAM,WAAW,GACf,gBAAgB,MAAM,EACtB,QAAQ,eAAe,KACtB,sBAUA,CAAC;AAEJ,6CAA6C;AAC7C,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAWrC,CAAC;AAEF,gFAAgF;AAChF,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAUrC,CAAC;AAKF,8EAA8E;AAC9E,QAAA,MAAM,eAAe,EAAE,SAAS,MAAM,EAAyB,CAAC;AAEhE,OAAO,EACL,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,GACZ,CAAC"}
@@ -33,7 +33,10 @@ export interface CustomLepuSpec {
33
33
  requestStartByte?: string;
34
34
  /** Selects the OxyII service and framing when the advertisement says protocol V2. */
35
35
  manufacturerDataProtocol?: "viatom-oxygen";
36
- /** Manufacturer-data byte indexes whose high nibble of 2 means encryption is required. */
36
+ /**
37
+ * Manufacturer-data byte indexes whose high nibble of 2 means encryption is required, for
38
+ * protocols without the handshake; the standard protocol runs the handshake instead.
39
+ */
37
40
  rejectEncryptionAtBytes?: number[];
38
41
  /** Where commands are written. The service must be one this declaration also monitors. */
39
42
  write: {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C,0FAA0F;IAC1F,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
1
+ {"version":3,"file":"custom-lepu-spec.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/types/custom-lepu-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,cAAc;IAE7B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC;IAElC,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAElC,8FAA8F;IAC9F,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,qFAAqF;IACrF,wBAAwB,CAAC,EAAE,eAAe,CAAC;IAE3C;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnC,0FAA0F;IAC1F,KAAK,EAAE;QAEL,4DAA4D;QAC5D,WAAW,EAAE,MAAM,CAAC;QAEpB,0DAA0D;QAC1D,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;IAEF;;;;;;;OAOG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ovok/native",
3
- "version": "1.16.1-dev.2175+4688d00",
3
+ "version": "1.16.1-dev.2179+bd5c024",
4
4
  "description": "React native component sdk for OVOK",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/commonjs/index.js",