@ovok/native 1.3.0 → 1.5.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 (440) hide show
  1. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  2. package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  3. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  4. package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +23 -22
  6. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/device-list-items.js +36 -0
  8. package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +38 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +45 -0
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  13. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +212 -42
  14. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +88 -0
  16. package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +15 -8
  18. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +1 -1
  20. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/index.js +55 -0
  22. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +10 -4
  24. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/bt-manager.js +43 -5
  26. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js +2 -0
  28. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js +2 -1
  30. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js +24 -0
  32. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js +8 -1
  34. package/lib/commonjs/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +6 -2
  36. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  37. package/lib/commonjs/modules/bt-management/services/device-creator.js +23 -8
  38. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  39. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  40. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  41. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js +50 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +78 -127
  44. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  46. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +60 -0
  48. package/lib/commonjs/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +74 -0
  50. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  52. package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  53. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  54. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  55. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +7 -3
  56. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  57. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +5 -0
  58. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  59. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +3 -1
  60. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  61. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +6 -1
  62. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  63. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +43 -5
  64. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  65. package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js +13 -1
  66. package/lib/commonjs/modules/bt-management/services/devices/frame-parser.js.map +1 -1
  67. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js +6 -3
  68. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -1
  69. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  70. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +84 -38
  71. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  72. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js +14 -2
  73. package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  74. package/lib/commonjs/modules/bt-management/services/devices/spo/oxyfit.device.js +18 -0
  75. package/lib/commonjs/modules/bt-management/services/devices/spo/oxyfit.device.js.map +1 -0
  76. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  77. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  78. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js +78 -0
  79. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -0
  80. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.frame-reader.js +83 -0
  81. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.frame-reader.js.map +1 -0
  82. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.sequencer.js +60 -0
  83. package/lib/commonjs/modules/bt-management/services/devices/uebe/mysense.sequencer.js.map +1 -0
  84. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  85. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  86. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  87. package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  88. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  89. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  90. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +35 -0
  91. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  92. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  93. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  94. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  95. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  96. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js +54 -39
  97. package/lib/commonjs/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  98. package/lib/commonjs/modules/bt-management/types/device-measurement-map.js.map +1 -1
  99. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +1 -0
  100. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  101. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js +3 -0
  102. package/lib/commonjs/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
  103. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +11 -2
  104. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  105. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +3 -1
  106. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  107. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js +3 -1
  108. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  109. package/lib/commonjs/modules/data-sync/utils/health-units.js +22 -0
  110. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -0
  111. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +9 -3
  112. package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
  113. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +8 -2
  114. package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
  115. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +3 -2
  116. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  117. package/lib/module/modules/bt-device/constants/device-list-items.js +36 -0
  118. package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
  119. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +35 -0
  120. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -0
  121. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +41 -0
  122. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -0
  123. package/lib/module/modules/bt-device/constants/supported-devices.js +202 -32
  124. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  125. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +83 -0
  126. package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -0
  127. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +15 -8
  128. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  129. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +1 -1
  130. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  131. package/lib/module/modules/bt-management/index.js +5 -0
  132. package/lib/module/modules/bt-management/index.js.map +1 -1
  133. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +10 -4
  134. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  135. package/lib/module/modules/bt-management/services/bt-manager.js +45 -6
  136. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  137. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js +2 -0
  138. package/lib/module/modules/bt-management/services/custom/compile-custom-case.js.map +1 -1
  139. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js +2 -1
  140. package/lib/module/modules/bt-management/services/custom/compile-custom-field.js.map +1 -1
  141. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js +24 -0
  142. package/lib/module/modules/bt-management/services/custom/compile-custom-lepu.js.map +1 -1
  143. package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js +8 -1
  144. package/lib/module/modules/bt-management/services/custom/compile-custom-monitor.js.map +1 -1
  145. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +6 -2
  146. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  147. package/lib/module/modules/bt-management/services/device-creator.js +23 -8
  148. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  149. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js +1 -1
  150. package/lib/module/modules/bt-management/services/devices/aoj/aoj.thermometers.js.map +1 -1
  151. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js +40 -0
  152. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-builders.js.map +1 -0
  153. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js +59 -109
  154. package/lib/module/modules/bt-management/services/devices/bc01/bc01-command-sequencer.js.map +1 -1
  155. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js +2 -0
  156. package/lib/module/modules/bt-management/services/devices/bc01/bc01.device.js.map +1 -1
  157. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js +56 -0
  158. package/lib/module/modules/bt-management/services/devices/bc01/bc01.frame-reader.js.map +1 -0
  159. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +69 -0
  160. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -0
  161. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +1 -1
  162. package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
  163. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +3 -0
  164. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  165. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +7 -3
  166. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  167. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +5 -0
  168. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  169. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +3 -1
  170. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  171. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +6 -1
  172. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  173. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +42 -5
  174. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  175. package/lib/module/modules/bt-management/services/devices/frame-parser.js +13 -1
  176. package/lib/module/modules/bt-management/services/devices/frame-parser.js.map +1 -1
  177. package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js +6 -3
  178. package/lib/module/modules/bt-management/services/devices/lepu/lepu.command-builder.js.map +1 -1
  179. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +2 -1
  180. package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
  181. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js +84 -38
  182. package/lib/module/modules/bt-management/services/devices/lepu/lepu.identity-gate.js.map +1 -1
  183. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js +14 -2
  184. package/lib/module/modules/bt-management/services/devices/lepu/lepu.transports.js.map +1 -1
  185. package/lib/module/modules/bt-management/services/devices/spo/oxyfit.device.js +14 -0
  186. package/lib/module/modules/bt-management/services/devices/spo/oxyfit.device.js.map +1 -0
  187. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +2 -1
  188. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
  189. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js +73 -0
  190. package/lib/module/modules/bt-management/services/devices/uebe/mysense.device.js.map +1 -0
  191. package/lib/module/modules/bt-management/services/devices/uebe/mysense.frame-reader.js +78 -0
  192. package/lib/module/modules/bt-management/services/devices/uebe/mysense.frame-reader.js.map +1 -0
  193. package/lib/module/modules/bt-management/services/devices/uebe/mysense.sequencer.js +55 -0
  194. package/lib/module/modules/bt-management/services/devices/uebe/mysense.sequencer.js.map +1 -0
  195. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +1 -1
  196. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -1
  197. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js +1 -1
  198. package/lib/module/modules/bt-management/services/devices/veroval/veroval.bp-monitors.js.map +1 -1
  199. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js +1 -1
  200. package/lib/module/modules/bt-management/services/devices/viatom/viatom.bp-monitors.js.map +1 -1
  201. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js +31 -0
  202. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-files.js.map +1 -0
  203. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js +3 -2
  204. package/lib/module/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.js.map +1 -1
  205. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js +2 -1
  206. package/lib/module/modules/bt-management/services/devices/viatom/viatom.lepod.js.map +1 -1
  207. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js +54 -39
  208. package/lib/module/modules/bt-management/services/devices/viatom/viatom.oximeters.js.map +1 -1
  209. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  210. package/lib/module/modules/bt-management/types/integrated-devices.js +1 -0
  211. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  212. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js +3 -0
  213. package/lib/module/modules/bt-management/utils/create-custom-field-parser.js.map +1 -1
  214. package/lib/module/modules/data-sync/services/managers/data-processor.js +11 -2
  215. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  216. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +3 -1
  217. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  218. package/lib/module/modules/data-sync/utils/get-total-samples-count.js +3 -1
  219. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  220. package/lib/module/modules/data-sync/utils/health-units.js +17 -0
  221. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -0
  222. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  224. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  225. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +33 -0
  228. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  230. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +43 -22
  232. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  234. package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +5 -0
  238. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  239. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -1
  240. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +19 -2
  242. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  244. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  246. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +1 -1
  249. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  251. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  253. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  255. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  257. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  259. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  260. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  261. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  263. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
  266. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
  268. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -0
  272. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts +1 -0
  274. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +6 -1
  276. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  278. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +10 -51
  280. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +9 -2
  282. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts +9 -0
  284. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  286. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +15 -0
  288. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts +8 -0
  290. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts +17 -0
  292. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  294. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  296. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  298. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  300. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  302. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  304. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +5 -8
  306. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  308. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  310. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  312. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts +2 -1
  314. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts +10 -0
  316. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts +5 -0
  318. package/lib/typescript/commonjs/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +5 -4
  320. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
  322. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  324. package/lib/typescript/commonjs/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
  326. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  328. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts +3 -0
  330. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  331. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
  332. package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
  333. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts +1 -1
  334. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  335. package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  336. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +33 -0
  337. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -0
  338. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts +3 -0
  339. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -0
  340. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +43 -22
  341. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  342. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts +11 -0
  343. package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -0
  344. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  345. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  346. package/lib/typescript/module/src/modules/bt-management/index.d.ts +5 -0
  347. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  348. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -1
  349. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  350. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +19 -2
  351. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  352. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-case.d.ts.map +1 -1
  353. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-field.d.ts.map +1 -1
  354. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-lepu.d.ts.map +1 -1
  355. package/lib/typescript/module/src/modules/bt-management/services/custom/compile-custom-monitor.d.ts.map +1 -1
  356. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  357. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +1 -1
  358. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  359. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts +2 -2
  360. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj.thermometers.d.ts.map +1 -1
  361. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts +31 -0
  362. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-builders.d.ts.map +1 -0
  363. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts +6 -5
  364. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01-command-sequencer.d.ts.map +1 -1
  365. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts +2 -0
  366. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.device.d.ts.map +1 -1
  367. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts +16 -0
  368. package/lib/typescript/module/src/modules/bt-management/services/devices/bc01/bc01.frame-reader.d.ts.map +1 -0
  369. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +19 -0
  370. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -0
  371. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts +1 -1
  372. package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
  373. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  374. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
  375. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  376. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +2 -0
  377. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  378. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  379. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  380. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -0
  381. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  382. package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts +1 -0
  383. package/lib/typescript/module/src/modules/bt-management/services/devices/frame-parser.d.ts.map +1 -1
  384. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts +6 -1
  385. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.command-builder.d.ts.map +1 -1
  386. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts +3 -2
  387. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
  388. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts +10 -51
  389. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.identity-gate.d.ts.map +1 -1
  390. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts +9 -2
  391. package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.transports.d.ts.map +1 -1
  392. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts +9 -0
  393. package/lib/typescript/module/src/modules/bt-management/services/devices/spo/oxyfit.device.d.ts.map +1 -0
  394. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -2
  395. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
  396. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts +15 -0
  397. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.device.d.ts.map +1 -0
  398. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts +8 -0
  399. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.frame-reader.d.ts.map +1 -0
  400. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts +17 -0
  401. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/mysense.sequencer.d.ts.map +1 -0
  402. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +1 -1
  403. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -1
  404. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts +1 -1
  405. package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.bp-monitors.d.ts.map +1 -1
  406. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts +1 -1
  407. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.bp-monitors.d.ts.map +1 -1
  408. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts +9 -0
  409. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-files.d.ts.map +1 -0
  410. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts +1 -1
  411. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.ecg-recorders.d.ts.map +1 -1
  412. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts +1 -1
  413. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.lepod.d.ts.map +1 -1
  414. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts +5 -8
  415. package/lib/typescript/module/src/modules/bt-management/services/devices/viatom/viatom.oximeters.d.ts.map +1 -1
  416. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +2 -0
  417. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  418. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +1 -0
  419. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  420. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts +6 -4
  421. package/lib/typescript/module/src/modules/bt-management/types/custom-device-spec.d.ts.map +1 -1
  422. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts +2 -1
  423. package/lib/typescript/module/src/modules/bt-management/types/custom-field-encoding.d.ts.map +1 -1
  424. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts +10 -0
  425. package/lib/typescript/module/src/modules/bt-management/types/custom-lepu-spec.d.ts.map +1 -1
  426. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts +5 -0
  427. package/lib/typescript/module/src/modules/bt-management/types/device-command.d.ts.map +1 -1
  428. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +5 -4
  429. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  430. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +1 -0
  431. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  432. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts +1 -0
  433. package/lib/typescript/module/src/modules/bt-management/types/parsing-case.d.ts.map +1 -1
  434. package/lib/typescript/module/src/modules/bt-management/utils/create-custom-field-parser.d.ts.map +1 -1
  435. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  436. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  437. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  438. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts +3 -0
  439. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -0
  440. package/package.json +5 -3
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.bc01FrameLengths = exports.Bc01FrameReader = void 0;
7
+ var _frameReadStatus = require("../../../types/frame-read-status.js");
8
+ /** Fixed BC401 reply lengths, keyed by the first byte of each PHMS frame. */
9
+ const BC01_FRAME_LENGTHS = exports.bc01FrameLengths = {
10
+ f0: 2,
11
+ f2: 8,
12
+ f3: 3,
13
+ e0: 7,
14
+ e1: 16,
15
+ e2: 16,
16
+ e3: 3,
17
+ e4: 36,
18
+ e5: 36
19
+ };
20
+ const lower = byte => (byte ?? "").toLowerCase();
21
+
22
+ /**
23
+ * Isolates the fixed-length frames used by Contec BC401BT.
24
+ *
25
+ * PHMS keeps a byte queue and repeatedly consumes complete replies. BLE notifications are
26
+ * not frame boundaries, so the SDK must retain partial replies and drain multiple replies
27
+ * when Android combines them into one notification.
28
+ */
29
+ class Bc01FrameReader {
30
+ readFrame(buffer) {
31
+ const start = buffer.findIndex(byte => Object.prototype.hasOwnProperty.call(BC01_FRAME_LENGTHS, lower(byte)));
32
+ if (start === -1) {
33
+ return {
34
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
35
+ consumedBytes: buffer.length
36
+ };
37
+ }
38
+ const opcode = lower(buffer[start]);
39
+ const length = BC01_FRAME_LENGTHS[opcode];
40
+ if (length === undefined) {
41
+ return {
42
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
43
+ consumedBytes: start + 1
44
+ };
45
+ }
46
+ if (start + length > buffer.length) {
47
+ return {
48
+ status: _frameReadStatus.FrameReadStatus.INCOMPLETE,
49
+ consumedBytes: start
50
+ };
51
+ }
52
+ return {
53
+ status: _frameReadStatus.FrameReadStatus.COMPLETE,
54
+ consumedBytes: start + length,
55
+ frame: buffer.slice(start, start + length)
56
+ };
57
+ }
58
+ }
59
+ exports.Bc01FrameReader = Bc01FrameReader;
60
+ //# sourceMappingURL=bc01.frame-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_frameReadStatus","require","BC01_FRAME_LENGTHS","exports","bc01FrameLengths","f0","f2","f3","e0","e1","e2","e3","e4","e5","lower","byte","toLowerCase","Bc01FrameReader","readFrame","buffer","start","findIndex","Object","prototype","hasOwnProperty","call","status","FrameReadStatus","INCOMPLETE","consumedBytes","length","opcode","undefined","COMPLETE","frame","slice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bc01/bc01.frame-reader.ts"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AAGA;AACA,MAAMC,kBAAoD,GAAAC,OAAA,CAAAC,gBAAA,GAAG;EAC3DC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,MAAMC,KAAK,GAAIC,IAAwB,IAAa,CAACA,IAAI,IAAI,EAAE,EAAEC,WAAW,CAAC,CAAC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,CAAwB;EACpCC,SAASA,CAACC,MAAyB,EAAmB;IAC3D,MAAMC,KAAK,GAAGD,MAAM,CAACE,SAAS,CAAEN,IAAI,IAClCO,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACvB,kBAAkB,EAAEY,KAAK,CAACC,IAAI,CAAC,CACtE,CAAC;IAED,IAAIK,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,OAAO;QACLM,MAAM,EAAEC,gCAAe,CAACC,UAAU;QAClCC,aAAa,EAAEV,MAAM,CAACW;MACxB,CAAC;IACH;IAEA,MAAMC,MAAM,GAAGjB,KAAK,CAACK,MAAM,CAACC,KAAK,CAAC,CAAC;IACnC,MAAMU,MAAM,GAAG5B,kBAAkB,CAAC6B,MAAM,CAAC;IAEzC,IAAID,MAAM,KAAKE,SAAS,EAAE;MACxB,OAAO;QACLN,MAAM,EAAEC,gCAAe,CAACC,UAAU;QAClCC,aAAa,EAAET,KAAK,GAAG;MACzB,CAAC;IACH;IAEA,IAAIA,KAAK,GAAGU,MAAM,GAAGX,MAAM,CAACW,MAAM,EAAE;MAClC,OAAO;QACLJ,MAAM,EAAEC,gCAAe,CAACC,UAAU;QAClCC,aAAa,EAAET;MACjB,CAAC;IACH;IAEA,OAAO;MACLM,MAAM,EAAEC,gCAAe,CAACM,QAAQ;MAChCJ,aAAa,EAAET,KAAK,GAAGU,MAAM;MAC7BI,KAAK,EAAEf,MAAM,CAACgB,KAAK,CAACf,KAAK,EAAEA,KAAK,GAAGU,MAAM;IAC3C,CAAC;EACH;AACF;AAAC3B,OAAA,CAAAc,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BloodGlucoseDevice = void 0;
7
+ var _core = require("@ovok/core");
8
+ var _caseType = require("../../../types/case-type.js");
9
+ var _integratedDevices = require("../../../types/integrated-devices.js");
10
+ var _hexToByte = require("../../../utils/hex-to-byte.js");
11
+ var _btManagedDevice = require("../bt-managed-device.js");
12
+ const LEGACY_SERVICE = "00001523-1212-efde-1523-785feabcd123";
13
+ const LEGACY_CHARACTERISTIC = "00001524-1212-efde-1523-785feabcd123";
14
+ const BGM_SERVICE = "0003cdd0-0000-1000-8000-00805f9b0131";
15
+ const BGM_CHARACTERISTIC = "0003cdd1-0000-1000-8000-00805f9b0131";
16
+ const GLUCOSE_REQUEST = "512600000000a31a";
17
+ const servicesFor = device => {
18
+ const isBgm = device === _integratedDevices.IntegratedDevices.BGM;
19
+ return [{
20
+ uuid: isBgm ? BGM_SERVICE : LEGACY_SERVICE,
21
+ monitorUuids: [{
22
+ uuid: isBgm ? BGM_CHARACTERISTIC : LEGACY_CHARACTERISTIC,
23
+ parsingModel: {
24
+ caseValuePosition: [isBgm ? 9 : 1],
25
+ cases: [...(isBgm ? ["00", "0b", "10", "11", "18", "22", "33", "55"] : ["46", ...(device === _integratedDevices.IntegratedDevices.GLUCOCHECK ? ["50"] : [])]).map(caseValue => ({
26
+ caseType: _caseType.CaseType.OTHER,
27
+ caseValue,
28
+ parseDefinitions: []
29
+ })), {
30
+ measurementTypeKey: _core.MeasurementTypeKey.bloodGlucose,
31
+ caseType: _caseType.CaseType.RESULT,
32
+ caseValue: isBgm ? "44" : "26",
33
+ parseDefinitions: [{
34
+ name: "bloodGlucose",
35
+ parseType: "custom",
36
+ byteIndexes: isBgm ? [10, 11] : [3, 2],
37
+ parseReference: 16,
38
+ customParserDefinition: value => {
39
+ if (isBgm) {
40
+ return (0, _hexToByte.hexToByte)(value.slice(0, 2)) * 100 + (0, _hexToByte.hexToByte)(value.slice(2, 4));
41
+ }
42
+ const raw = parseInt(value, 16);
43
+ return device === _integratedDevices.IntegratedDevices.TAIDOC_GLUCOSE ? Number((raw * 18).toFixed(2)) : raw;
44
+ }
45
+ }]
46
+ }]
47
+ }
48
+ }],
49
+ ...(isBgm ? {} : {
50
+ writeUuid: {
51
+ uuid: LEGACY_CHARACTERISTIC,
52
+ mainCommandUuid: GLUCOSE_REQUEST
53
+ }
54
+ })
55
+ }];
56
+ };
57
+
58
+ /** Decodes the legacy TaiDoc, GlucoCheck Gold and TeleBGM glucose protocols. */
59
+ class BloodGlucoseDevice extends _btManagedDevice.BTManagedDevice {
60
+ stuckDataTimeout = 60_000;
61
+ constructor(device, params) {
62
+ super(device, params);
63
+ this.mainServices = servicesFor(params.deviceName);
64
+ }
65
+ validatePackage = pkg => pkg.length >= (this.deviceData.name === _integratedDevices.IntegratedDevices.BGM ? 12 : 8);
66
+ handleSuccessResult(result) {
67
+ if (result.caseType !== _caseType.CaseType.RESULT || result.bloodGlucose === 0) {
68
+ return;
69
+ }
70
+ this.onResult?.(result);
71
+ }
72
+ }
73
+ exports.BloodGlucoseDevice = BloodGlucoseDevice;
74
+ //# sourceMappingURL=blood-glucose.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_core","require","_caseType","_integratedDevices","_hexToByte","_btManagedDevice","LEGACY_SERVICE","LEGACY_CHARACTERISTIC","BGM_SERVICE","BGM_CHARACTERISTIC","GLUCOSE_REQUEST","servicesFor","device","isBgm","IntegratedDevices","BGM","uuid","monitorUuids","parsingModel","caseValuePosition","cases","GLUCOCHECK","map","caseValue","caseType","CaseType","OTHER","parseDefinitions","measurementTypeKey","MeasurementTypeKey","bloodGlucose","RESULT","name","parseType","byteIndexes","parseReference","customParserDefinition","value","hexToByte","slice","raw","parseInt","TAIDOC_GLUCOSE","Number","toFixed","writeUuid","mainCommandUuid","BloodGlucoseDevice","BTManagedDevice","stuckDataTimeout","constructor","params","mainServices","deviceName","validatePackage","pkg","length","deviceData","handleSuccessResult","result","onResult","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/blood-glucose/blood-glucose.device.ts"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,7 @@ const BOSO_MEDICUS_NAME_MATCH = exports.BOSO_MEDICUS_NAME_MATCH = /^boso medicus
19
19
  * the profile's user/status bytes without inventing a boso-specific wire format.
20
20
  */
21
21
  const bosoMedicusMonitor = params => (0, _standardGattDevices.standardBloodPressureDevice)({
22
- id: params.id,
22
+ id: params.id ?? "boso-medicus-system",
23
23
  nameMatch: params.nameMatch ?? BOSO_MEDICUS_NAME_MATCH,
24
24
  ...(params.stuckDataTimeoutMs === undefined ? {} : {
25
25
  stuckDataTimeoutMs: params.stuckDataTimeoutMs
@@ -1 +1 @@
1
- {"version":3,"names":["_standardGattDevices","require","BOSO_MEDICUS_NAME_MATCH","exports","bosoMedicusMonitor","params","standardBloodPressureDevice","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAkB,GACtBC,MAAyB,IAEzB,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE;EACbC,SAAS,EAAEH,MAAM,CAACG,SAAS,IAAIN,uBAAuB;EACtD,IAAIG,MAAM,CAACI,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEJ,MAAM,CAACI;EAAmB,CAAC;AACvD,CAAC,CAAC;AAACN,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_standardGattDevices","require","BOSO_MEDICUS_NAME_MATCH","exports","bosoMedicusMonitor","params","standardBloodPressureDevice","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,kBAAkB,GACtBC,MAAyB,IAEzB,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE,IAAI,qBAAqB;EACtCC,SAAS,EAAEH,MAAM,CAACG,SAAS,IAAIN,uBAAuB;EACtD,IAAIG,MAAM,CAACI,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEJ,MAAM,CAACI;EAAmB,CAAC;AACvD,CAAC,CAAC;AAACN,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -83,6 +83,9 @@ class BTCommandWriter {
83
83
  * for - worse than sending nothing, because it would be answered.
84
84
  */
85
85
  writeCommand = async command => {
86
+ if (command.delayBeforeWriteMs && command.delayBeforeWriteMs > 0) {
87
+ await new Promise(resolve => setTimeout(resolve, command.delayBeforeWriteMs));
88
+ }
86
89
  for (const chunk of this.chunksOf(command.frame)) {
87
90
  const written = await this.writeChunk(command, chunk);
88
91
  if (!written) {
@@ -1 +1 @@
1
- {"version":3,"names":["_sLog","require","_sentryLogger","_hexToBase","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","hexToBase64","join","sentryLogger","Error","message","deviceName","name","slog","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAEA,MAAMG,kBAAkB,GAAG,CAAC;;AAE5B;AACA,MAAMC,eAAe,GAAG,EAAE;;AAE1B;AACA,MAAMC,sBAAsB,GAAG,CAAC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,CAAC;EACnBC,aAAa,GAAkBC,OAAO,CAACC,OAAO,CAAC,CAAC;EAChDC,GAAG,GAAGN,eAAe;EAEtBO,WAAWA,CACCC,MAAc,EACdC,OAA2C,EAC5D;IAAA,KAFiBD,MAAc,GAAdA,MAAc;IAAA,KACdC,OAA2C,GAA3CA,OAA2C;EAC3D;;EAEH;AACF;AACA;AACA;AACA;AACA;AACA;EACSC,gBAAgB,GAAIJ,GAAY,IAAW;IAChD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIK,MAAM,CAACC,SAAS,CAACN,GAAG,CAAC,IAAIA,GAAG,GAAG,IAAI,CAACA,GAAG,EAAE;MACtE,IAAI,CAACA,GAAG,GAAGA,GAAG;IAChB;EACF,CAAC;;EAED;EACOO,KAAK,GAAGA,CAAA,KAAY;IACzB,IAAI,CAACV,aAAa,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;EACxC,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSS,IAAI,GAAIC,QAAkC,IAAoB;IACnE,IAAI,CAACZ,aAAa,GAAG,IAAI,CAACA,aAAa,CACpCa,IAAI,CAAC,MAAM,IAAI,CAACC,YAAY,CAACF,QAAQ,CAAC,CAAC,CACvCG,KAAK,CAAEC,KAAK,IAAK;MAChB,IAAI,CAACV,OAAO,GAAGU,KAAyB,CAAC;IAC3C,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAChB,aAAa;EAC3B,CAAC;EAEOc,YAAY,GAAG,MACrBF,QAAkC,IAChB;IAClB,KAAK,MAAMK,OAAO,IAAIL,QAAQ,EAAE;MAC9B,MAAM,IAAI,CAACM,YAAY,CAACD,OAAO,CAAC;IAClC;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUC,YAAY,GAAG,MAAOD,OAAsB,IAAoB;IACtE,KAAK,MAAME,KAAK,IAAI,IAAI,CAACC,QAAQ,CAACH,OAAO,CAACI,KAAK,CAAC,EAAE;MAChD,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,UAAU,CAACN,OAAO,EAAEE,KAAK,CAAC;MAErD,IAAI,CAACG,OAAO,EAAE;QACZ;MACF;IACF;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACUE,OAAO,GAAG,MAAAA,CAChBP,OAAsB,EACtBQ,KAAa,KACK;IAClB,IAAIR,OAAO,CAACS,eAAe,EAAE;MAC3B,MAAM,IAAI,CAACrB,MAAM,CAACsB,4CAA4C,CAC5DV,OAAO,CAACW,WAAW,EACnBX,OAAO,CAACY,kBAAkB,EAC1BJ,KACF,CAAC;MAED;IACF;IAEA,MAAM,IAAI,CAACpB,MAAM,CAACyB,yCAAyC,CACzDb,OAAO,CAACW,WAAW,EACnBX,OAAO,CAACY,kBAAkB,EAC1BJ,KACF,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACUL,QAAQ,GAAIC,KAAwB,IAAiB;IAC3D,MAAMU,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC9B,GAAG,GAAGL,sBAAsB,CAAC;IAC3D,MAAMoC,MAAkB,GAAG,EAAE;IAE7B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGd,KAAK,CAACe,MAAM,EAAED,KAAK,IAAIJ,IAAI,EAAE;MACvDG,MAAM,CAACG,IAAI,CAAChB,KAAK,CAACiB,KAAK,CAACH,KAAK,EAAEA,KAAK,GAAGJ,IAAI,CAAC,CAAC;IAC/C;IAEA,OAAOG,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACUX,UAAU,GAAG,MAAAA,CACnBN,OAAsB,EACtBE,KAAwB,KACH;IACrB,KAAK,IAAIoB,OAAO,GAAG,CAAC,EAAEA,OAAO,IAAI3C,kBAAkB,EAAE2C,OAAO,EAAE,EAAE;MAC9D,IAAI;QACF,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACnC,MAAM,CAACmC,WAAW,CAAC,CAAC;QAEnD,IAAI,CAACA,WAAW,EAAE;UAChB,OAAO,KAAK;QACd;QAEA,MAAM,IAAI,CAAChB,OAAO,CAACP,OAAO,EAAE,IAAAwB,sBAAW,EAACtB,KAAK,CAACuB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAExD,OAAO,IAAI;MACb,CAAC,CAAC,OAAO1B,KAAK,EAAE;QACd,IAAA2B,0BAAY,EAAC,OAAO,EAAE,+BAA+B,EAAE;UACrD3B,KAAK,EAAEA,KAAK,YAAY4B,KAAK,GAAG5B,KAAK,CAAC6B,OAAO,GAAG7B,KAAK;UACrD8B,UAAU,EAAE,IAAI,CAACzC,MAAM,CAAC0C;QAC1B,CAAC,CAAC;QAEF,IAAIR,OAAO,KAAK3C,kBAAkB,EAAE;UAClC,IAAAoD,UAAI,EAAChC,KAAK,EAAE,8CAA8C,EAAE;YAC1D8B,UAAU,EAAE,IAAI,CAACzC,MAAM,CAAC0C;UAC1B,CAAC,CAAC;QACJ;MACF;IACF;IAEA,OAAO,KAAK;EACd,CAAC;AACH;AAACE,OAAA,CAAAlD,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_sLog","require","_sentryLogger","_hexToBase","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","delayBeforeWriteMs","setTimeout","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","hexToBase64","join","sentryLogger","Error","message","deviceName","name","slog","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAEA,MAAMG,kBAAkB,GAAG,CAAC;;AAE5B;AACA,MAAMC,eAAe,GAAG,EAAE;;AAE1B;AACA,MAAMC,sBAAsB,GAAG,CAAC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,CAAC;EACnBC,aAAa,GAAkBC,OAAO,CAACC,OAAO,CAAC,CAAC;EAChDC,GAAG,GAAGN,eAAe;EAEtBO,WAAWA,CACCC,MAAc,EACdC,OAA2C,EAC5D;IAAA,KAFiBD,MAAc,GAAdA,MAAc;IAAA,KACdC,OAA2C,GAA3CA,OAA2C;EAC3D;;EAEH;AACF;AACA;AACA;AACA;AACA;AACA;EACSC,gBAAgB,GAAIJ,GAAY,IAAW;IAChD,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIK,MAAM,CAACC,SAAS,CAACN,GAAG,CAAC,IAAIA,GAAG,GAAG,IAAI,CAACA,GAAG,EAAE;MACtE,IAAI,CAACA,GAAG,GAAGA,GAAG;IAChB;EACF,CAAC;;EAED;EACOO,KAAK,GAAGA,CAAA,KAAY;IACzB,IAAI,CAACV,aAAa,GAAGC,OAAO,CAACC,OAAO,CAAC,CAAC;EACxC,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACSS,IAAI,GAAIC,QAAkC,IAAoB;IACnE,IAAI,CAACZ,aAAa,GAAG,IAAI,CAACA,aAAa,CACpCa,IAAI,CAAC,MAAM,IAAI,CAACC,YAAY,CAACF,QAAQ,CAAC,CAAC,CACvCG,KAAK,CAAEC,KAAK,IAAK;MAChB,IAAI,CAACV,OAAO,GAAGU,KAAyB,CAAC;IAC3C,CAAC,CAAC;IAEJ,OAAO,IAAI,CAAChB,aAAa;EAC3B,CAAC;EAEOc,YAAY,GAAG,MACrBF,QAAkC,IAChB;IAClB,KAAK,MAAMK,OAAO,IAAIL,QAAQ,EAAE;MAC9B,MAAM,IAAI,CAACM,YAAY,CAACD,OAAO,CAAC;IAClC;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUC,YAAY,GAAG,MAAOD,OAAsB,IAAoB;IACtE,IAAIA,OAAO,CAACE,kBAAkB,IAAIF,OAAO,CAACE,kBAAkB,GAAG,CAAC,EAAE;MAChE,MAAM,IAAIlB,OAAO,CAAEC,OAAO,IACxBkB,UAAU,CAAClB,OAAO,EAAEe,OAAO,CAACE,kBAAkB,CAChD,CAAC;IACH;IAEA,KAAK,MAAME,KAAK,IAAI,IAAI,CAACC,QAAQ,CAACL,OAAO,CAACM,KAAK,CAAC,EAAE;MAChD,MAAMC,OAAO,GAAG,MAAM,IAAI,CAACC,UAAU,CAACR,OAAO,EAAEI,KAAK,CAAC;MAErD,IAAI,CAACG,OAAO,EAAE;QACZ;MACF;IACF;EACF,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACUE,OAAO,GAAG,MAAAA,CAChBT,OAAsB,EACtBU,KAAa,KACK;IAClB,IAAIV,OAAO,CAACW,eAAe,EAAE;MAC3B,MAAM,IAAI,CAACvB,MAAM,CAACwB,4CAA4C,CAC5DZ,OAAO,CAACa,WAAW,EACnBb,OAAO,CAACc,kBAAkB,EAC1BJ,KACF,CAAC;MAED;IACF;IAEA,MAAM,IAAI,CAACtB,MAAM,CAAC2B,yCAAyC,CACzDf,OAAO,CAACa,WAAW,EACnBb,OAAO,CAACc,kBAAkB,EAC1BJ,KACF,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACUL,QAAQ,GAAIC,KAAwB,IAAiB;IAC3D,MAAMU,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAChC,GAAG,GAAGL,sBAAsB,CAAC;IAC3D,MAAMsC,MAAkB,GAAG,EAAE;IAE7B,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGd,KAAK,CAACe,MAAM,EAAED,KAAK,IAAIJ,IAAI,EAAE;MACvDG,MAAM,CAACG,IAAI,CAAChB,KAAK,CAACiB,KAAK,CAACH,KAAK,EAAEA,KAAK,GAAGJ,IAAI,CAAC,CAAC;IAC/C;IAEA,OAAOG,MAAM;EACf,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACUX,UAAU,GAAG,MAAAA,CACnBR,OAAsB,EACtBI,KAAwB,KACH;IACrB,KAAK,IAAIoB,OAAO,GAAG,CAAC,EAAEA,OAAO,IAAI7C,kBAAkB,EAAE6C,OAAO,EAAE,EAAE;MAC9D,IAAI;QACF,MAAMC,WAAW,GAAG,MAAM,IAAI,CAACrC,MAAM,CAACqC,WAAW,CAAC,CAAC;QAEnD,IAAI,CAACA,WAAW,EAAE;UAChB,OAAO,KAAK;QACd;QAEA,MAAM,IAAI,CAAChB,OAAO,CAACT,OAAO,EAAE,IAAA0B,sBAAW,EAACtB,KAAK,CAACuB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAExD,OAAO,IAAI;MACb,CAAC,CAAC,OAAO5B,KAAK,EAAE;QACd,IAAA6B,0BAAY,EAAC,OAAO,EAAE,+BAA+B,EAAE;UACrD7B,KAAK,EAAEA,KAAK,YAAY8B,KAAK,GAAG9B,KAAK,CAAC+B,OAAO,GAAG/B,KAAK;UACrDgC,UAAU,EAAE,IAAI,CAAC3C,MAAM,CAAC4C;QAC1B,CAAC,CAAC;QAEF,IAAIR,OAAO,KAAK7C,kBAAkB,EAAE;UAClC,IAAAsD,UAAI,EAAClC,KAAK,EAAE,8CAA8C,EAAE;YAC1DgC,UAAU,EAAE,IAAI,CAAC3C,MAAM,CAAC4C;UAC1B,CAAC,CAAC;QACJ;MACF;IACF;IAEA,OAAO,KAAK;EACd,CAAC;AACH;AAACE,OAAA,CAAApD,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -24,7 +24,7 @@ class BTConnectionHandler {
24
24
  this.callbacks.onStatusChanged?.(_deviceStatus.DeviceStatus.CONNECTED);
25
25
  await this.device.discoverAllServicesAndCharacteristics();
26
26
  this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
27
- this.subscribeToAllCharacteristics();
27
+ await this.subscribeToAllCharacteristics();
28
28
  } catch (error) {
29
29
  (0, _sentryLogger.sentryLogger)("error", "BT_MANAGER: Error connecting to device", {
30
30
  error: error instanceof Error ? error.message : error,
@@ -108,7 +108,7 @@ class BTConnectionHandler {
108
108
  error: error instanceof Error ? error.message : error,
109
109
  deviceName: this.device.name
110
110
  });
111
- if (error) {
111
+ if (error && !this.callbacks.isNormalDisconnect?.()) {
112
112
  this.callbacks.onError?.(error);
113
113
  }
114
114
 
@@ -140,7 +140,11 @@ class BTConnectionHandler {
140
140
  this.characteristicSubscriptions.push(subscription);
141
141
  }
142
142
  }
143
- await this.sendCommands(this.callbacks.initialCommands?.() ?? []);
143
+ const initialCommands = this.callbacks.initialCommands?.() ?? [];
144
+ if (initialCommands.length > 0) {
145
+ await this.sendCommands(initialCommands);
146
+ this.callbacks.onCommandSent?.();
147
+ }
144
148
  } catch (error) {
145
149
  (0, _sentryLogger.sentryLogger)("error", "DEVICE: Error subscribing to all characteristics", {
146
150
  error: error instanceof Error ? error.message : error,
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","DeviceStatus","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","initialCommands","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","onStatusChanged","DeviceStatus","CONNECTED","discoverAllServicesAndCharacteristics","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","deviceName","name","DISCONNECTED","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","deviceId","id","requestedMtu","String","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","value","hexValue","base64ToHex","onDataReceived","push","initialCommands","length","onCommandSent","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
@@ -53,6 +53,11 @@ class BTDataProcessor {
53
53
  this.readWholeBuffer(uuid, buffer);
54
54
  };
55
55
 
56
+ /** Starts the connection watchdog once a device has received its first command. */
57
+ armStuckTimeout = () => {
58
+ this.startStuckTimeout();
59
+ };
60
+
56
61
  /**
57
62
  * Drains every complete frame the buffer holds.
58
63
  *
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","advance","onError","Error","cause","message","setTimeout","cancelConnection","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_caseType","_frameReadStatus","_frameParser","_measurementStateMachine","BTDataProcessor","buffers","Map","constructor","device","mainServices","stuckDataTimeoutDuration","callbacks","frameReader","frameParser","FrameParser","measurementState","MeasurementStateMachine","onStatusChanged","onStreamStart","onResult","currentUuid","destroy","clear","reset","clearTimeout","stuckDataTimeout","undefined","processData","uuid","hexValue","String","toLowerCase","buffer","get","push","set","startStuckTimeout","readFramesFromBuffer","readWholeBuffer","armStuckTimeout","reader","length","result","readFrame","hasProgressed","consumedBytes","splice","status","FrameReadStatus","COMPLETE","handleFrame","frame","answerFrame","CORRUPT","reportCorruptFrame","INCOMPLETE","validatePackage","commands","nextCommand","sendCommands","data","parse","sentryLogger","join","dependentData","parsingCase","caseType","CaseType","DEPENDENT","handleDependentResult","advance","onError","Error","cause","message","setTimeout","cancelConnection","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-data-processor.ts"],"mappings":"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","ignoreList":[]}
@@ -147,7 +147,9 @@ class BTManagedDevice {
147
147
  onDataReceived: (uuid, hexValue) => {
148
148
  this.dataProcessor?.processData(uuid, hexValue);
149
149
  },
150
- initialCommands: () => sequencer.initialCommands()
150
+ initialCommands: () => sequencer.initialCommands(),
151
+ onCommandSent: () => this.dataProcessor?.armStuckTimeout(),
152
+ isNormalDisconnect: () => sequencer.isNormalDisconnect?.() ?? false
151
153
  }, this.preferredMtu);
152
154
  this.dataProcessor = new _btDataProcessor.BTDataProcessor(this.device, this.mainServices, this.stuckDataTimeout, {
153
155
  onStatusChanged: this.onDeviceStatusChanged?.bind(this),
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
@@ -43,7 +43,12 @@ const createLepuSequencer = (lepu, report) => new _lepuIdentityGate.LepuIdentity
43
43
  serviceUuid: lepu.write.serviceUuid,
44
44
  characteristicUuid: lepu.write.characteristicUuid
45
45
  },
46
- builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? DEFAULT_START_BYTE),
46
+ builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.requestStartByte ?? lepu.startBytes[0] ?? DEFAULT_START_BYTE, {
47
+ fixedSequence: lepu.protocol === "viatom-oxygen"
48
+ }),
49
+ protocol: lepu.protocol,
50
+ writeWithoutResponse: lepu.writeWithoutResponse,
51
+ setClockBeforeInfo: lepu.setClockBeforeInfo,
47
52
  expectedDeviceTypes: lepu.expectedDeviceTypes,
48
53
  ...(lepu.pollCommand === undefined ? {} : {
49
54
  pollCommand: lepu.pollCommand
@@ -1 +1 @@
1
- {"version":3,"names":["_sentryLogger","require","_lepuCommandBuilder","_lepuIdentityGate","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","startBytes","expectedDeviceTypes","pollCommand","undefined","onIdentified","onRefused"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAIA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA;AACA,MAAMG,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjC,IAAAC,0BAAY,EAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DC,QAAQ,EAAEL,UAAU,CAACM,EAAE;IACvBC,UAAU,EAAEP,UAAU,CAACQ,IAAI;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3BC,iBAAiB,EAAEV,IAAI,CAACU;EAC1B,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEF,MAAMc,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,KAEtB,IAAIC,kCAAgB,CAAC;EACnBC,KAAK,EAAE;IACLC,WAAW,EAAEJ,IAAI,CAACG,KAAK,CAACC,WAAW;IACnCC,kBAAkB,EAAEL,IAAI,CAACG,KAAK,CAACE;EACjC,CAAC;EACDC,OAAO,EAAE,IAAIC,sCAAkB,CAACP,IAAI,CAACQ,UAAU,CAAC,CAAC,CAAC,IAAIxB,kBAAkB,CAAC;EACzEyB,mBAAmB,EAAET,IAAI,CAACS,mBAAmB;EAC7C,IAAIT,IAAI,CAACU,WAAW,KAAKC,SAAS,GAAG,CAAC,CAAC,GAAG;IAAED,WAAW,EAAEV,IAAI,CAACU;EAAY,CAAC,CAAC;EAC5EE,YAAY,EAAEX,MAAM,CAACW,YAAY;EACjCC,SAAS,EAAEZ,MAAM,CAACY;AACpB,CAAC,CAAC;AAACf,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_sentryLogger","require","_lepuCommandBuilder","_lepuIdentityGate","DEFAULT_START_BYTE","recordLepuIdentity","deviceData","info","sn","serialNumber","sentryLogger","deviceId","id","deviceName","name","deviceType","branchCode","protocolMaxLength","exports","createLepuSequencer","lepu","report","LepuIdentityGate","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","requestStartByte","startBytes","fixedSequence","protocol","writeWithoutResponse","setClockBeforeInfo","expectedDeviceTypes","pollCommand","undefined","onIdentified","onRefused"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom-lepu-sequencer.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAIA,IAAAC,mBAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAEA;AACA,MAAMG,kBAAkB,GAAG,IAAI;AAO/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GAAGA,CACzBC,UAAsB,EACtBC,IAAoB,KACX;EACTD,UAAU,CAACE,EAAE,GAAGD,IAAI,CAACE,YAAY;EAEjC,IAAAC,0BAAY,EAAC,MAAM,EAAE,sCAAsC,EAAE;IAC3DC,QAAQ,EAAEL,UAAU,CAACM,EAAE;IACvBC,UAAU,EAAEP,UAAU,CAACQ,IAAI;IAC3BC,UAAU,EAAER,IAAI,CAACQ,UAAU;IAC3BC,UAAU,EAAET,IAAI,CAACS,UAAU;IAC3BC,iBAAiB,EAAEV,IAAI,CAACU;EAC1B,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEF,MAAMc,mBAAmB,GAAGA,CAC1BC,IAAoB,EACpBC,MAAsB,KAEtB,IAAIC,kCAAgB,CAAC;EACnBC,KAAK,EAAE;IACLC,WAAW,EAAEJ,IAAI,CAACG,KAAK,CAACC,WAAW;IACnCC,kBAAkB,EAAEL,IAAI,CAACG,KAAK,CAACE;EACjC,CAAC;EACDC,OAAO,EAAE,IAAIC,sCAAkB,CAACP,IAAI,CAACQ,gBAAgB,IAAIR,IAAI,CAACS,UAAU,CAAC,CAAC,CAAC,IAAIzB,kBAAkB,EAAE;IACjG0B,aAAa,EAAEV,IAAI,CAACW,QAAQ,KAAK;EACnC,CAAC,CAAC;EACFA,QAAQ,EAAEX,IAAI,CAACW,QAAQ;EACvBC,oBAAoB,EAAEZ,IAAI,CAACY,oBAAoB;EAC/CC,kBAAkB,EAAEb,IAAI,CAACa,kBAAkB;EAC3CC,mBAAmB,EAAEd,IAAI,CAACc,mBAAmB;EAC7C,IAAId,IAAI,CAACe,WAAW,KAAKC,SAAS,GAAG,CAAC,CAAC,GAAG;IAAED,WAAW,EAAEf,IAAI,CAACe;EAAY,CAAC,CAAC;EAC5EE,YAAY,EAAEhB,MAAM,CAACgB,YAAY;EACjCC,SAAS,EAAEjB,MAAM,CAACiB;AACpB,CAAC,CAAC;AAACpB,OAAA,CAAAC,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -4,13 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CustomDevice = void 0;
7
+ var _core = require("@ovok/core");
7
8
  var _caseType = require("../../../types/case-type.js");
8
9
  var _createFrameValidator = require("../../../utils/create-frame-validator.js");
9
10
  var _parseMeasurement = require("../../../utils/parse-measurement.js");
10
11
  var _rejectCustomReading = require("../../../utils/reject-custom-reading.js");
11
12
  var _btManagedDevice = require("../bt-managed-device.js");
13
+ var _lepuCommandBuilder = require("../lepu/lepu.command-builder.js");
14
+ var _lepuFileTransfer = require("../lepu/lepu.file-transfer.js");
12
15
  var _lepuFrameReader = require("../lepu/lepu.frame-reader.js");
16
+ var _viatomEcgFiles = require("../viatom/viatom.ecg-files.js");
13
17
  var _customLepuSequencer = require("./custom-lepu-sequencer.js");
18
+ /* eslint-disable max-lines */
19
+
14
20
  /**
15
21
  * Runs a device registered with defineCustomDevice.
16
22
  *
@@ -49,11 +55,38 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
49
55
  return;
50
56
  }
51
57
  this.frameReader = new _lepuFrameReader.LepuFrameReader(lepu.startBytes);
52
- this.createCommandSequencer = () => (0, _customLepuSequencer.createLepuSequencer)(lepu, {
53
- onIdentified: this.onIdentified,
54
- onRefused: this.onIdentityRefused
55
- });
58
+ this.createCommandSequencer = () => {
59
+ if (lepu.fileTransfer === "ecg") {
60
+ return new _lepuFileTransfer.LepuFileTransfer({
61
+ write: {
62
+ serviceUuid: lepu.write.serviceUuid,
63
+ characteristicUuid: lepu.write.characteristicUuid
64
+ },
65
+ builder: new _lepuCommandBuilder.LepuCommandBuilder(lepu.startBytes[0] ?? "a5"),
66
+ onFile: this.reportViatomEcgFile,
67
+ onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
68
+ });
69
+ }
70
+ return (0, _customLepuSequencer.createLepuSequencer)(lepu, {
71
+ onIdentified: this.onIdentified,
72
+ onRefused: this.onIdentityRefused
73
+ });
74
+ };
56
75
  }
76
+ reportViatomEcgFile = file => {
77
+ const decoded = (0, _viatomEcgFiles.decodeViatomEcgRecording)(file.content);
78
+ if (decoded.samples.length === 0) {
79
+ this.onError?.(new Error(`Viatom ECG: file "${file.name}" had no samples.`));
80
+ return;
81
+ }
82
+ this.onResult?.({
83
+ measurementTypeKey: _core.MeasurementTypeKey.ecg,
84
+ caseType: _caseType.CaseType.RESULT,
85
+ diagnosticResult: _core.EcgDiagnosticFlag.REGULAR,
86
+ diagramPoints: decoded.samples,
87
+ duration: decoded.duration
88
+ });
89
+ };
57
90
  onIdentified = info => (0, _customLepuSequencer.recordLepuIdentity)(this.deviceData, info);
58
91
  onIdentityRefused = reason => {
59
92
  this.onError?.(new Error(`Custom device "${this.definition.id}" was not addressed: ${reason}.`));
@@ -73,7 +106,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
73
106
  */
74
107
  handleDependentResult = data => {
75
108
  try {
76
- this.reportFrame(data);
109
+ if (this.shouldReportDependentResult(data)) {
110
+ this.reportFrame(data);
111
+ }
77
112
  } catch (error) {
78
113
  this.onError?.(error);
79
114
  }
@@ -86,6 +121,9 @@ class CustomDevice extends _btManagedDevice.BTManagedDevice {
86
121
  };
87
122
  };
88
123
 
124
+ /** Lets a stateful protocol suppress a duplicate result while still answering its frame. */
125
+ shouldReportDependentResult = _data => true;
126
+
89
127
  /**
90
128
  * Stream frames reach this while the device is measuring. They carry no fields, and the
91
129
  * readings themselves are reported from handleDependentResult, so there is nothing to do.
@@ -1 +1 @@
1
- {"version":3,"names":["_caseType","require","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuFrameReader","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","info","recordLepuIdentity","deviceData","reason","onError","Error","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","reportFrame","error","parsingCase","caseType","CaseType","OTHER","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","length","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","reading","measurementTypeKey","fieldNames","name","rejection","map","rejectCustomReading","fields","find","message","onResult","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_caseType","_createFrameValidator","_parseMeasurement","_rejectCustomReading","_btManagedDevice","_lepuCommandBuilder","_lepuFileTransfer","_lepuFrameReader","_viatomEcgFiles","_customLepuSequencer","CustomDevice","BTManagedDevice","validators","Map","constructor","device","params","definition","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","createFrameValidator","lepu","frameReader","LepuFrameReader","startBytes","createCommandSequencer","fileTransfer","LepuFileTransfer","write","serviceUuid","characteristicUuid","builder","LepuCommandBuilder","onFile","reportViatomEcgFile","onError","reason","Error","createLepuSequencer","onIdentified","onRefused","onIdentityRefused","file","decoded","decodeViatomEcgRecording","content","samples","length","name","onResult","measurementTypeKey","MeasurementTypeKey","ecg","caseType","CaseType","RESULT","diagnosticResult","EcgDiagnosticFlag","REGULAR","diagramPoints","duration","info","recordLepuIdentity","deviceData","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","parseMeasurement","measurements","discard","measurement","reportMeasurement","discardedReadingError","reading","fieldNames","rejection","map","rejectCustomReading","fields","find","message","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,7 @@ class FrameParser {
23
23
  return;
24
24
  }
25
25
  const caseValue = this.readCaseValue(parsingModel, frame);
26
- const parsingCase = parsingModel.cases?.find(declared => declared.caseValue === caseValue);
26
+ const parsingCase = parsingModel.cases?.find(declared => frame.length >= (declared.minLengthBytes ?? 0) && (declared.caseValue === "*" || this.matchesSelector(declared.caseValue, caseValue)));
27
27
  if (!parsingCase) {
28
28
  return;
29
29
  }
@@ -47,6 +47,18 @@ class FrameParser {
47
47
  }
48
48
  return undefined;
49
49
  }
50
+ matchesSelector(pattern, value) {
51
+ if (pattern.length !== value.length) {
52
+ return false;
53
+ }
54
+ for (let index = 0; index < pattern.length; index++) {
55
+ const expected = pattern[index];
56
+ if (expected !== "?" && expected !== value[index]) {
57
+ return false;
58
+ }
59
+ }
60
+ return true;
61
+ }
50
62
  readCaseValue(parsingModel, frame) {
51
63
  return parsingModel.caseValuePosition?.map(index => frame[index]).join("") || "";
52
64
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_parseMeasurement","require","FrameParser","constructor","mainServices","parse","uuid","frame","parsingModel","findParsingModel","caseValue","readCaseValue","parsingCase","cases","find","declared","parsedData","parseMeasurement","measurementTypeKey","mainService","characteristic","monitorUuids","monitored","toLowerCase","undefined","caseValuePosition","map","index","join","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/frame-parser.ts"],"mappings":";;;;;;AAMA,IAAAA,iBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,CAAwB;EAC9CC,WAAWA,CAAkBC,YAA2C,EAAE;IAAA,KAA7CA,YAA2C,GAA3CA,YAA2C;EAAG;EAEpEC,KAAKA,CACVC,IAAY,EACZC,KAAe,EAC8B;IAC7C,MAAMC,YAAY,GAAG,IAAI,CAACC,gBAAgB,CAACH,IAAI,CAAC;IAEhD,IAAI,CAACE,YAAY,EAAE;MACjB;IACF;IAEA,MAAME,SAAS,GAAG,IAAI,CAACC,aAAa,CAACH,YAAY,EAAED,KAAK,CAAC;IAEzD,MAAMK,WAAW,GAAGJ,YAAY,CAACK,KAAK,EAAEC,IAAI,CACzCC,QAAQ,IAAKA,QAAQ,CAACL,SAAS,KAAKA,SACvC,CAAC;IAED,IAAI,CAACE,WAAW,EAAE;MAChB;IACF;IAEA,MAAMI,UAAU,GAAG,IAAAC,kCAAgB,EAACV,KAAK,EAAEK,WAAW,CAAC;IAEvD,IAAI,CAACI,UAAU,EAAE;MACf;IACF;IAEA,OAAO;MACLJ,WAAW;MACXM,kBAAkB,EAAEN,WAAW,CAACM,kBAAkB;MAClDF,UAAU,EAAEA,UAAwC;MACpDT;IACF,CAAC;EACH;EAEQE,gBAAgBA,CAACH,IAAY,EAA4B;IAC/D,KAAK,MAAMa,WAAW,IAAI,IAAI,CAACf,YAAY,EAAE;MAC3C,MAAMgB,cAAc,GAAGD,WAAW,CAACE,YAAY,CAACP,IAAI,CACjDQ,SAAS,IAAKA,SAAS,CAAChB,IAAI,CAACiB,WAAW,CAAC,CAAC,KAAKjB,IAAI,CAACiB,WAAW,CAAC,CACnE,CAAC;MAED,IAAIH,cAAc,EAAE;QAClB,OAAOA,cAAc,CAACZ,YAAY;MACpC;IACF;IAEA,OAAOgB,SAAS;EAClB;EAEQb,aAAaA,CAACH,YAA0B,EAAED,KAAe,EAAU;IACzE,OACEC,YAAY,CAACiB,iBAAiB,EAAEC,GAAG,CAAEC,KAAK,IAAKpB,KAAK,CAACoB,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC,IACrE,EAAE;EAEN;AACF;AAACC,OAAA,CAAA3B,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_parseMeasurement","require","FrameParser","constructor","mainServices","parse","uuid","frame","parsingModel","findParsingModel","caseValue","readCaseValue","parsingCase","cases","find","declared","length","minLengthBytes","matchesSelector","parsedData","parseMeasurement","measurementTypeKey","mainService","characteristic","monitorUuids","monitored","toLowerCase","undefined","pattern","value","index","expected","caseValuePosition","map","join","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/frame-parser.ts"],"mappings":";;;;;;AAMA,IAAAA,iBAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,WAAW,CAAwB;EAC9CC,WAAWA,CAAkBC,YAA2C,EAAE;IAAA,KAA7CA,YAA2C,GAA3CA,YAA2C;EAAG;EAEpEC,KAAKA,CACVC,IAAY,EACZC,KAAe,EAC8B;IAC7C,MAAMC,YAAY,GAAG,IAAI,CAACC,gBAAgB,CAACH,IAAI,CAAC;IAEhD,IAAI,CAACE,YAAY,EAAE;MACjB;IACF;IAEA,MAAME,SAAS,GAAG,IAAI,CAACC,aAAa,CAACH,YAAY,EAAED,KAAK,CAAC;IAEzD,MAAMK,WAAW,GAAGJ,YAAY,CAACK,KAAK,EAAEC,IAAI,CACzCC,QAAQ,IACPR,KAAK,CAACS,MAAM,KAAKD,QAAQ,CAACE,cAAc,IAAI,CAAC,CAAC,KAC7CF,QAAQ,CAACL,SAAS,KAAK,GAAG,IACzB,IAAI,CAACQ,eAAe,CAACH,QAAQ,CAACL,SAAS,EAAEA,SAAS,CAAC,CACzD,CAAC;IAED,IAAI,CAACE,WAAW,EAAE;MAChB;IACF;IAEA,MAAMO,UAAU,GAAG,IAAAC,kCAAgB,EAACb,KAAK,EAAEK,WAAW,CAAC;IAEvD,IAAI,CAACO,UAAU,EAAE;MACf;IACF;IAEA,OAAO;MACLP,WAAW;MACXS,kBAAkB,EAAET,WAAW,CAACS,kBAAkB;MAClDF,UAAU,EAAEA,UAAwC;MACpDZ;IACF,CAAC;EACH;EAEQE,gBAAgBA,CAACH,IAAY,EAA4B;IAC/D,KAAK,MAAMgB,WAAW,IAAI,IAAI,CAAClB,YAAY,EAAE;MAC3C,MAAMmB,cAAc,GAAGD,WAAW,CAACE,YAAY,CAACV,IAAI,CACjDW,SAAS,IAAKA,SAAS,CAACnB,IAAI,CAACoB,WAAW,CAAC,CAAC,KAAKpB,IAAI,CAACoB,WAAW,CAAC,CACnE,CAAC;MAED,IAAIH,cAAc,EAAE;QAClB,OAAOA,cAAc,CAACf,YAAY;MACpC;IACF;IAEA,OAAOmB,SAAS;EAClB;EAEQT,eAAeA,CAACU,OAAe,EAAEC,KAAa,EAAW;IAC/D,IAAID,OAAO,CAACZ,MAAM,KAAKa,KAAK,CAACb,MAAM,EAAE;MACnC,OAAO,KAAK;IACd;IAEA,KAAK,IAAIc,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGF,OAAO,CAACZ,MAAM,EAAEc,KAAK,EAAE,EAAE;MACnD,MAAMC,QAAQ,GAAGH,OAAO,CAACE,KAAK,CAAC;MAE/B,IAAIC,QAAQ,KAAK,GAAG,IAAIA,QAAQ,KAAKF,KAAK,CAACC,KAAK,CAAC,EAAE;QACjD,OAAO,KAAK;MACd;IACF;IAEA,OAAO,IAAI;EACb;EAEQnB,aAAaA,CAACH,YAA0B,EAAED,KAAe,EAAU;IACzE,OACEC,YAAY,CAACwB,iBAAiB,EAAEC,GAAG,CAAEH,KAAK,IAAKvB,KAAK,CAACuB,KAAK,CAAC,CAAC,CAACI,IAAI,CAAC,EAAE,CAAC,IACrE,EAAE;EAEN;AACF;AAACC,OAAA,CAAAjC,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -31,13 +31,16 @@ const toHex = byte => (byte & BYTE_MASK).toString(16).padStart(2, "0");
31
31
  */
32
32
  class LepuCommandBuilder {
33
33
  sequenceNumber = 0;
34
- constructor(startByte = "a5") {
34
+ constructor(startByte = "a5", options = {}) {
35
35
  this.startByte = startByte;
36
+ this.options = options;
36
37
  }
37
38
  build(command, payload = []) {
38
- const header = [this.startByte, toHex(command), toHex(~command), toHex(REQUEST_TYPE), toHex(this.sequenceNumber), toHex(payload.length), toHex(Math.floor(payload.length / BYTE_VALUES))];
39
+ const header = [this.startByte, toHex(command), toHex(~command), toHex(REQUEST_TYPE), toHex(this.options.fixedSequence ? 0 : this.sequenceNumber), toHex(payload.length), toHex(Math.floor(payload.length / BYTE_VALUES))];
39
40
  const frame = [...header, ...payload.map(toHex)];
40
- this.advanceSequence();
41
+ if (!this.options.fixedSequence) {
42
+ this.advanceSequence();
43
+ }
41
44
  return [...frame, toHex((0, _calculateCrc.calculateCrc8)(frame, frame.length))];
42
45
  }
43
46
  advanceSequence() {
@@ -1 +1 @@
1
- {"version":3,"names":["_calculateCrc","require","REQUEST_TYPE","BYTE_MASK","BYTE_VALUES","MAX_SEQUENCE_NUMBER","toHex","byte","toString","padStart","LepuCommandBuilder","sequenceNumber","constructor","startByte","build","command","payload","header","length","Math","floor","frame","map","advanceSequence","calculateCrc8","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.command-builder.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAG,IAAI;AACzB,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,WAAW,GAAG,KAAK;;AAEzB;AACA,MAAMC,mBAAmB,GAAG,GAAG;AAE/B,MAAMC,KAAK,GAAIC,IAAY,IACzB,CAACA,IAAI,GAAGJ,SAAS,EAAEK,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,CAAC;EACtBC,cAAc,GAAG,CAAC;EAEnBC,WAAWA,CAAkBC,SAAiB,GAAG,IAAI,EAAE;IAAA,KAA1BA,SAAiB,GAAjBA,SAAiB;EAAU;EAExDC,KAAKA,CAACC,OAAe,EAAEC,OAA0B,GAAG,EAAE,EAAY;IACvE,MAAMC,MAAM,GAAG,CACb,IAAI,CAACJ,SAAS,EACdP,KAAK,CAACS,OAAO,CAAC,EACdT,KAAK,CAAC,CAACS,OAAO,CAAC,EACfT,KAAK,CAACJ,YAAY,CAAC,EACnBI,KAAK,CAAC,IAAI,CAACK,cAAc,CAAC,EAC1BL,KAAK,CAACU,OAAO,CAACE,MAAM,CAAC,EACrBZ,KAAK,CAACa,IAAI,CAACC,KAAK,CAACJ,OAAO,CAACE,MAAM,GAAGd,WAAW,CAAC,CAAC,CAChD;IAED,MAAMiB,KAAK,GAAG,CAAC,GAAGJ,MAAM,EAAE,GAAGD,OAAO,CAACM,GAAG,CAAChB,KAAK,CAAC,CAAC;IAEhD,IAAI,CAACiB,eAAe,CAAC,CAAC;IAEtB,OAAO,CAAC,GAAGF,KAAK,EAAEf,KAAK,CAAC,IAAAkB,2BAAa,EAACH,KAAK,EAAEA,KAAK,CAACH,MAAM,CAAC,CAAC,CAAC;EAC9D;EAEQK,eAAeA,CAAA,EAAS;IAC9B,IAAI,CAACZ,cAAc,GACjB,IAAI,CAACA,cAAc,IAAIN,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAACM,cAAc,GAAG,CAAC;EAC5E;AACF;AAACc,OAAA,CAAAf,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_calculateCrc","require","REQUEST_TYPE","BYTE_MASK","BYTE_VALUES","MAX_SEQUENCE_NUMBER","toHex","byte","toString","padStart","LepuCommandBuilder","sequenceNumber","constructor","startByte","options","build","command","payload","header","fixedSequence","length","Math","floor","frame","map","advanceSequence","calculateCrc8","exports"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.command-builder.ts"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AAEA,MAAMC,YAAY,GAAG,IAAI;AACzB,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,WAAW,GAAG,KAAK;;AAEzB;AACA,MAAMC,mBAAmB,GAAG,GAAG;AAM/B,MAAMC,KAAK,GAAIC,IAAY,IACzB,CAACA,IAAI,GAAGJ,SAAS,EAAEK,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,CAAC;EACtBC,cAAc,GAAG,CAAC;EAEnBC,WAAWA,CACCC,SAAiB,GAAG,IAAI,EACxBC,OAAkC,GAAG,CAAC,CAAC,EACxD;IAAA,KAFiBD,SAAiB,GAAjBA,SAAiB;IAAA,KACjBC,OAAkC,GAAlCA,OAAkC;EAClD;EAEIC,KAAKA,CAACC,OAAe,EAAEC,OAA0B,GAAG,EAAE,EAAY;IACvE,MAAMC,MAAM,GAAG,CACb,IAAI,CAACL,SAAS,EACdP,KAAK,CAACU,OAAO,CAAC,EACdV,KAAK,CAAC,CAACU,OAAO,CAAC,EACfV,KAAK,CAACJ,YAAY,CAAC,EACnBI,KAAK,CAAC,IAAI,CAACQ,OAAO,CAACK,aAAa,GAAG,CAAC,GAAG,IAAI,CAACR,cAAc,CAAC,EAC3DL,KAAK,CAACW,OAAO,CAACG,MAAM,CAAC,EACrBd,KAAK,CAACe,IAAI,CAACC,KAAK,CAACL,OAAO,CAACG,MAAM,GAAGhB,WAAW,CAAC,CAAC,CAChD;IAED,MAAMmB,KAAK,GAAG,CAAC,GAAGL,MAAM,EAAE,GAAGD,OAAO,CAACO,GAAG,CAAClB,KAAK,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,CAACQ,OAAO,CAACK,aAAa,EAAE;MAC/B,IAAI,CAACM,eAAe,CAAC,CAAC;IACxB;IAEA,OAAO,CAAC,GAAGF,KAAK,EAAEjB,KAAK,CAAC,IAAAoB,2BAAa,EAACH,KAAK,EAAEA,KAAK,CAACH,MAAM,CAAC,CAAC,CAAC;EAC9D;EAEQK,eAAeA,CAAA,EAAS;IAC9B,IAAI,CAACd,cAAc,GACjB,IAAI,CAACA,cAAc,IAAIN,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAACM,cAAc,GAAG,CAAC;EAC5E;AACF;AAACgB,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA","ignoreList":[]}