@ovok/native 1.10.9 → 1.10.11

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 (654) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +34 -1
  2. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  3. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +47 -0
  4. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
  5. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-aoj-variants.js +137 -0
  6. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-aoj-variants.js.map +1 -0
  7. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +15 -1
  8. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +119 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +3 -2
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  13. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js +227 -0
  14. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js.map +1 -0
  15. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-joytech-variants.js +95 -0
  16. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-joytech-variants.js.map +1 -0
  17. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-jumper-variants.js +149 -0
  18. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-jumper-variants.js.map +1 -0
  19. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js +1007 -0
  20. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -0
  21. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +173 -0
  22. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
  23. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-variants.js +1093 -0
  24. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-variants.js.map +1 -0
  25. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +320 -0
  26. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -0
  27. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +113 -0
  28. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
  29. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +58 -27
  30. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +2 -1
  32. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js +39 -0
  34. package/lib/commonjs/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/constants/aoj-device-variants.js +112 -0
  36. package/lib/commonjs/modules/bt-management/constants/aoj-device-variants.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js +84 -0
  38. package/lib/commonjs/modules/bt-management/constants/built-in-measurement-types.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/constants/cofoe-device-variants.js +101 -0
  40. package/lib/commonjs/modules/bt-management/constants/cofoe-device-variants.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/constants/device-variants.js +256 -0
  42. package/lib/commonjs/modules/bt-management/constants/device-variants.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/constants/famidoc-device-variants.js +190 -0
  44. package/lib/commonjs/modules/bt-management/constants/famidoc-device-variants.js.map +1 -0
  45. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +9 -1
  46. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/constants/joytech-device-variants.js +80 -0
  48. package/lib/commonjs/modules/bt-management/constants/joytech-device-variants.js.map +1 -0
  49. package/lib/commonjs/modules/bt-management/constants/jumper-device-variants.js +115 -0
  50. package/lib/commonjs/modules/bt-management/constants/jumper-device-variants.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js +807 -0
  52. package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js +144 -0
  54. package/lib/commonjs/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/constants/transtek-device-variants.js +890 -0
  56. package/lib/commonjs/modules/bt-management/constants/transtek-device-variants.js.map +1 -0
  57. package/lib/commonjs/modules/bt-management/constants/yonker-device-variants.js +93 -0
  58. package/lib/commonjs/modules/bt-management/constants/yonker-device-variants.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/index.js +20 -0
  60. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  61. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +33 -0
  62. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  63. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +7 -1
  64. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  65. package/lib/commonjs/modules/bt-management/services/device-classes.js +44 -1
  66. package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
  67. package/lib/commonjs/modules/bt-management/services/device-secrets.js +68 -0
  68. package/lib/commonjs/modules/bt-management/services/device-secrets.js.map +1 -0
  69. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js +61 -0
  70. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
  71. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +113 -0
  72. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
  73. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +77 -0
  74. package/lib/commonjs/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
  75. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js +41 -0
  76. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -0
  77. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.device.js +45 -0
  78. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.device.js.map +1 -0
  79. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js +140 -0
  80. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js.map +1 -0
  81. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js +138 -0
  82. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js.map +1 -0
  83. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +12 -7
  84. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  85. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +27 -1
  86. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  87. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -4
  88. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  89. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +19 -3
  90. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  91. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +86 -0
  92. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
  93. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +155 -0
  94. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
  95. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +33 -0
  96. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
  97. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js +87 -0
  98. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
  99. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +185 -0
  100. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
  101. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js +86 -0
  102. package/lib/commonjs/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
  103. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +12 -4
  104. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  105. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.device.js +49 -0
  106. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.device.js.map +1 -0
  107. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.protocol.js +163 -0
  108. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.protocol.js.map +1 -0
  109. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js +95 -0
  110. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js.map +1 -0
  111. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.device.js +40 -0
  112. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.device.js.map +1 -0
  113. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.protocol.js +162 -0
  114. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.protocol.js.map +1 -0
  115. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.sequencer.js +63 -0
  116. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.sequencer.js.map +1 -0
  117. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js +56 -0
  118. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -0
  119. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.protocol.js +67 -0
  120. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.protocol.js.map +1 -0
  121. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.sequencer.js +60 -0
  122. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.sequencer.js.map +1 -0
  123. package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js +89 -0
  124. package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -0
  125. package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js +22 -8
  126. package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -1
  127. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +13 -2
  128. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  129. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +153 -0
  130. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -0
  131. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js +50 -0
  132. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
  133. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +127 -0
  134. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
  135. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js +181 -0
  136. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
  137. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +139 -0
  138. package/lib/commonjs/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
  139. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.device.js +71 -0
  140. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.device.js.map +1 -0
  141. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.protocol.js +112 -0
  142. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.protocol.js.map +1 -0
  143. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.records.js +132 -0
  144. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.records.js.map +1 -0
  145. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js +145 -0
  146. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js.map +1 -0
  147. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.session.js +91 -0
  148. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.session.js.map +1 -0
  149. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.device.js +90 -0
  150. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.device.js.map +1 -0
  151. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.protocol.js +202 -0
  152. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.protocol.js.map +1 -0
  153. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.sequencer.js +137 -0
  154. package/lib/commonjs/modules/bt-management/services/devices/yonker/yonker.sequencer.js.map +1 -0
  155. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +33 -0
  156. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  157. package/lib/commonjs/modules/bt-management/utils/device-title.js +5 -1
  158. package/lib/commonjs/modules/bt-management/utils/device-title.js.map +1 -1
  159. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +34 -1
  160. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  161. package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js +45 -0
  162. package/lib/module/modules/bt-device/constants/supported-device-catalog-and-medical-variants.js.map +1 -0
  163. package/lib/module/modules/bt-device/constants/supported-device-catalog-aoj-variants.js +135 -0
  164. package/lib/module/modules/bt-device/constants/supported-device-catalog-aoj-variants.js.map +1 -0
  165. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +15 -1
  166. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  167. package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js +117 -0
  168. package/lib/module/modules/bt-device/constants/supported-device-catalog-cofoe-variants.js.map +1 -0
  169. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +3 -2
  170. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  171. package/lib/module/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js +225 -0
  172. package/lib/module/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js.map +1 -0
  173. package/lib/module/modules/bt-device/constants/supported-device-catalog-joytech-variants.js +93 -0
  174. package/lib/module/modules/bt-device/constants/supported-device-catalog-joytech-variants.js.map +1 -0
  175. package/lib/module/modules/bt-device/constants/supported-device-catalog-jumper-variants.js +147 -0
  176. package/lib/module/modules/bt-device/constants/supported-device-catalog-jumper-variants.js.map +1 -0
  177. package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js +1005 -0
  178. package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -0
  179. package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js +171 -0
  180. package/lib/module/modules/bt-device/constants/supported-device-catalog-taidoc-variants.js.map +1 -0
  181. package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-variants.js +1091 -0
  182. package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-variants.js.map +1 -0
  183. package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +317 -0
  184. package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -0
  185. package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js +111 -0
  186. package/lib/module/modules/bt-device/constants/supported-device-catalog-yonker-variants.js.map +1 -0
  187. package/lib/module/modules/bt-device/constants/supported-devices.js +59 -28
  188. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  189. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +2 -1
  190. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  191. package/lib/module/modules/bt-management/constants/and-medical-device-variants.js +37 -0
  192. package/lib/module/modules/bt-management/constants/and-medical-device-variants.js.map +1 -0
  193. package/lib/module/modules/bt-management/constants/aoj-device-variants.js +110 -0
  194. package/lib/module/modules/bt-management/constants/aoj-device-variants.js.map +1 -0
  195. package/lib/module/modules/bt-management/constants/built-in-measurement-types.js +82 -0
  196. package/lib/module/modules/bt-management/constants/built-in-measurement-types.js.map +1 -0
  197. package/lib/module/modules/bt-management/constants/cofoe-device-variants.js +99 -0
  198. package/lib/module/modules/bt-management/constants/cofoe-device-variants.js.map +1 -0
  199. package/lib/module/modules/bt-management/constants/device-variants.js +253 -0
  200. package/lib/module/modules/bt-management/constants/device-variants.js.map +1 -0
  201. package/lib/module/modules/bt-management/constants/famidoc-device-variants.js +188 -0
  202. package/lib/module/modules/bt-management/constants/famidoc-device-variants.js.map +1 -0
  203. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +9 -1
  204. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  205. package/lib/module/modules/bt-management/constants/joytech-device-variants.js +78 -0
  206. package/lib/module/modules/bt-management/constants/joytech-device-variants.js.map +1 -0
  207. package/lib/module/modules/bt-management/constants/jumper-device-variants.js +113 -0
  208. package/lib/module/modules/bt-management/constants/jumper-device-variants.js.map +1 -0
  209. package/lib/module/modules/bt-management/constants/standard-device-variants.js +804 -0
  210. package/lib/module/modules/bt-management/constants/standard-device-variants.js.map +1 -0
  211. package/lib/module/modules/bt-management/constants/taidoc-device-variants.js +142 -0
  212. package/lib/module/modules/bt-management/constants/taidoc-device-variants.js.map +1 -0
  213. package/lib/module/modules/bt-management/constants/transtek-device-variants.js +888 -0
  214. package/lib/module/modules/bt-management/constants/transtek-device-variants.js.map +1 -0
  215. package/lib/module/modules/bt-management/constants/yonker-device-variants.js +91 -0
  216. package/lib/module/modules/bt-management/constants/yonker-device-variants.js.map +1 -0
  217. package/lib/module/modules/bt-management/index.js +2 -0
  218. package/lib/module/modules/bt-management/index.js.map +1 -1
  219. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +33 -0
  220. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  221. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +7 -1
  222. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  223. package/lib/module/modules/bt-management/services/device-classes.js +44 -1
  224. package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
  225. package/lib/module/modules/bt-management/services/device-secrets.js +59 -0
  226. package/lib/module/modules/bt-management/services/device-secrets.js.map +1 -0
  227. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js +57 -0
  228. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.device.js.map +1 -0
  229. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js +106 -0
  230. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.protocol.js.map +1 -0
  231. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js +74 -0
  232. package/lib/module/modules/bt-management/services/devices/and-medical/and-medical.sequencer.js.map +1 -0
  233. package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js +37 -0
  234. package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -0
  235. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.device.js +41 -0
  236. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.device.js.map +1 -0
  237. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js +123 -0
  238. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js.map +1 -0
  239. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js +134 -0
  240. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js.map +1 -0
  241. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +12 -7
  242. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  243. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +27 -1
  244. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  245. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -4
  246. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  247. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +19 -3
  248. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  249. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js +82 -0
  250. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.js.map +1 -0
  251. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js +148 -0
  252. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.js.map +1 -0
  253. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js +30 -0
  254. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.js.map +1 -0
  255. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js +83 -0
  256. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.device.js.map +1 -0
  257. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js +173 -0
  258. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.protocol.js.map +1 -0
  259. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js +78 -0
  260. package/lib/module/modules/bt-management/services/devices/cofoe/cofoe.records.js.map +1 -0
  261. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +12 -4
  262. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  263. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.device.js +45 -0
  264. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.device.js.map +1 -0
  265. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.protocol.js +149 -0
  266. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.protocol.js.map +1 -0
  267. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js +91 -0
  268. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js.map +1 -0
  269. package/lib/module/modules/bt-management/services/devices/joytech/joytech.device.js +36 -0
  270. package/lib/module/modules/bt-management/services/devices/joytech/joytech.device.js.map +1 -0
  271. package/lib/module/modules/bt-management/services/devices/joytech/joytech.protocol.js +150 -0
  272. package/lib/module/modules/bt-management/services/devices/joytech/joytech.protocol.js.map +1 -0
  273. package/lib/module/modules/bt-management/services/devices/joytech/joytech.sequencer.js +60 -0
  274. package/lib/module/modules/bt-management/services/devices/joytech/joytech.sequencer.js.map +1 -0
  275. package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js +52 -0
  276. package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -0
  277. package/lib/module/modules/bt-management/services/devices/jumper/jumper.protocol.js +62 -0
  278. package/lib/module/modules/bt-management/services/devices/jumper/jumper.protocol.js.map +1 -0
  279. package/lib/module/modules/bt-management/services/devices/jumper/jumper.sequencer.js +57 -0
  280. package/lib/module/modules/bt-management/services/devices/jumper/jumper.sequencer.js.map +1 -0
  281. package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js +83 -0
  282. package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -0
  283. package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js +22 -8
  284. package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -1
  285. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +6 -2
  286. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  287. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +149 -0
  288. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -0
  289. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js +46 -0
  290. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.device.js.map +1 -0
  291. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js +114 -0
  292. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.protocol.js.map +1 -0
  293. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js +168 -0
  294. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.records.js.map +1 -0
  295. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js +136 -0
  296. package/lib/module/modules/bt-management/services/devices/taidoc/taidoc.sequencer.js.map +1 -0
  297. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.device.js +67 -0
  298. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.device.js.map +1 -0
  299. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.protocol.js +94 -0
  300. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.protocol.js.map +1 -0
  301. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.records.js +125 -0
  302. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.records.js.map +1 -0
  303. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js +142 -0
  304. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js.map +1 -0
  305. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.session.js +85 -0
  306. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.session.js.map +1 -0
  307. package/lib/module/modules/bt-management/services/devices/yonker/yonker.device.js +86 -0
  308. package/lib/module/modules/bt-management/services/devices/yonker/yonker.device.js.map +1 -0
  309. package/lib/module/modules/bt-management/services/devices/yonker/yonker.protocol.js +186 -0
  310. package/lib/module/modules/bt-management/services/devices/yonker/yonker.protocol.js.map +1 -0
  311. package/lib/module/modules/bt-management/services/devices/yonker/yonker.sequencer.js +133 -0
  312. package/lib/module/modules/bt-management/services/devices/yonker/yonker.sequencer.js.map +1 -0
  313. package/lib/module/modules/bt-management/types/custom-device-definition.js +2 -0
  314. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
  315. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  316. package/lib/module/modules/bt-management/types/integrated-devices.js +33 -0
  317. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  318. package/lib/module/modules/bt-management/utils/device-title.js +5 -1
  319. package/lib/module/modules/bt-management/utils/device-title.js.map +1 -1
  320. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts +5 -0
  322. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts +5 -0
  324. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts.map +1 -0
  325. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +15 -1
  326. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
  328. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts +5 -0
  331. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts.map +1 -0
  332. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts +5 -0
  333. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts.map +1 -0
  334. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts +5 -0
  335. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts +9 -0
  337. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
  339. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts +5 -0
  341. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts +15 -0
  343. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -0
  344. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
  345. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +8 -0
  347. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
  350. package/lib/typescript/commonjs/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/src/modules/bt-management/constants/aoj-device-variants.d.ts +5 -0
  352. package/lib/typescript/commonjs/src/modules/bt-management/constants/aoj-device-variants.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
  354. package/lib/typescript/commonjs/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
  356. package/lib/typescript/commonjs/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts +23 -0
  358. package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/modules/bt-management/constants/famidoc-device-variants.d.ts +5 -0
  360. package/lib/typescript/commonjs/src/modules/bt-management/constants/famidoc-device-variants.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/src/modules/bt-management/constants/joytech-device-variants.d.ts +5 -0
  363. package/lib/typescript/commonjs/src/modules/bt-management/constants/joytech-device-variants.d.ts.map +1 -0
  364. package/lib/typescript/commonjs/src/modules/bt-management/constants/jumper-device-variants.d.ts +5 -0
  365. package/lib/typescript/commonjs/src/modules/bt-management/constants/jumper-device-variants.d.ts.map +1 -0
  366. package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts +10 -0
  367. package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -0
  368. package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
  369. package/lib/typescript/commonjs/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
  370. package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-device-variants.d.ts +10 -0
  371. package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-device-variants.d.ts.map +1 -0
  372. package/lib/typescript/commonjs/src/modules/bt-management/constants/yonker-device-variants.d.ts +5 -0
  373. package/lib/typescript/commonjs/src/modules/bt-management/constants/yonker-device-variants.d.ts.map +1 -0
  374. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +3 -0
  375. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  376. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  377. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  378. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +43 -0
  379. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/src/modules/bt-management/services/device-secrets.d.ts +22 -0
  381. package/lib/typescript/commonjs/src/modules/bt-management/services/device-secrets.d.ts.map +1 -0
  382. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts +18 -0
  383. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
  385. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
  386. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
  387. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
  388. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts +17 -0
  389. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts.map +1 -0
  390. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts +16 -0
  391. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts.map +1 -0
  392. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts +54 -0
  393. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts.map +1 -0
  394. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts +36 -0
  395. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts.map +1 -0
  396. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +1 -1
  397. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +3 -0
  399. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  400. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -1
  401. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  403. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts +32 -0
  405. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
  406. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
  407. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
  408. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
  409. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
  410. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
  411. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
  412. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
  413. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
  414. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
  415. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
  416. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -2
  417. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  418. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts +16 -0
  419. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts.map +1 -0
  420. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts +56 -0
  421. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts.map +1 -0
  422. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts +34 -0
  423. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts.map +1 -0
  424. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts +16 -0
  425. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts.map +1 -0
  426. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts +43 -0
  427. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts.map +1 -0
  428. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts +23 -0
  429. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts.map +1 -0
  430. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts +18 -0
  431. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -0
  432. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts +32 -0
  433. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts.map +1 -0
  434. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts +22 -0
  435. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts.map +1 -0
  436. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +37 -0
  437. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -0
  438. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +4 -2
  439. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -1
  440. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -1
  441. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts +7 -0
  443. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -0
  444. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
  445. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
  446. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
  447. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
  448. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
  449. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
  450. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
  451. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
  452. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts +21 -0
  453. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts.map +1 -0
  454. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts +51 -0
  455. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts.map +1 -0
  456. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts +33 -0
  457. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts.map +1 -0
  458. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts +49 -0
  459. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts.map +1 -0
  460. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts +39 -0
  461. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts.map +1 -0
  462. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts +21 -0
  463. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts.map +1 -0
  464. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts +62 -0
  465. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts.map +1 -0
  466. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts +46 -0
  467. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts.map +1 -0
  468. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +4 -2
  469. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  470. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -1
  471. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  472. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts +6 -0
  473. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -1
  474. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +6 -0
  475. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  476. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +33 -0
  477. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  478. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +34 -1
  479. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  480. package/lib/typescript/commonjs/src/modules/bt-management/types/service.type.d.ts +6 -0
  481. package/lib/typescript/commonjs/src/modules/bt-management/types/service.type.d.ts.map +1 -1
  482. package/lib/typescript/commonjs/src/modules/bt-management/types/write-characteristic.d.ts +2 -0
  483. package/lib/typescript/commonjs/src/modules/bt-management/types/write-characteristic.d.ts.map +1 -1
  484. package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts +2 -1
  485. package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts.map +1 -1
  486. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
  487. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  488. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts +5 -0
  489. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-and-medical-variants.d.ts.map +1 -0
  490. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts +5 -0
  491. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts.map +1 -0
  492. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +15 -1
  493. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  494. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts +5 -0
  495. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-cofoe-variants.d.ts.map +1 -0
  496. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  497. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts +5 -0
  498. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts.map +1 -0
  499. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts +5 -0
  500. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts.map +1 -0
  501. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts +5 -0
  502. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts.map +1 -0
  503. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts +9 -0
  504. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -0
  505. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts +5 -0
  506. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-taidoc-variants.d.ts.map +1 -0
  507. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts +5 -0
  508. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts.map +1 -0
  509. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts +15 -0
  510. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -0
  511. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts +5 -0
  512. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-yonker-variants.d.ts.map +1 -0
  513. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +8 -0
  514. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  515. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  516. package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts +5 -0
  517. package/lib/typescript/module/src/modules/bt-management/constants/and-medical-device-variants.d.ts.map +1 -0
  518. package/lib/typescript/module/src/modules/bt-management/constants/aoj-device-variants.d.ts +5 -0
  519. package/lib/typescript/module/src/modules/bt-management/constants/aoj-device-variants.d.ts.map +1 -0
  520. package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts +9 -0
  521. package/lib/typescript/module/src/modules/bt-management/constants/built-in-measurement-types.d.ts.map +1 -0
  522. package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts +5 -0
  523. package/lib/typescript/module/src/modules/bt-management/constants/cofoe-device-variants.d.ts.map +1 -0
  524. package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts +23 -0
  525. package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts.map +1 -0
  526. package/lib/typescript/module/src/modules/bt-management/constants/famidoc-device-variants.d.ts +5 -0
  527. package/lib/typescript/module/src/modules/bt-management/constants/famidoc-device-variants.d.ts.map +1 -0
  528. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  529. package/lib/typescript/module/src/modules/bt-management/constants/joytech-device-variants.d.ts +5 -0
  530. package/lib/typescript/module/src/modules/bt-management/constants/joytech-device-variants.d.ts.map +1 -0
  531. package/lib/typescript/module/src/modules/bt-management/constants/jumper-device-variants.d.ts +5 -0
  532. package/lib/typescript/module/src/modules/bt-management/constants/jumper-device-variants.d.ts.map +1 -0
  533. package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts +10 -0
  534. package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -0
  535. package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts +5 -0
  536. package/lib/typescript/module/src/modules/bt-management/constants/taidoc-device-variants.d.ts.map +1 -0
  537. package/lib/typescript/module/src/modules/bt-management/constants/transtek-device-variants.d.ts +10 -0
  538. package/lib/typescript/module/src/modules/bt-management/constants/transtek-device-variants.d.ts.map +1 -0
  539. package/lib/typescript/module/src/modules/bt-management/constants/yonker-device-variants.d.ts +5 -0
  540. package/lib/typescript/module/src/modules/bt-management/constants/yonker-device-variants.d.ts.map +1 -0
  541. package/lib/typescript/module/src/modules/bt-management/index.d.ts +3 -0
  542. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  543. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  544. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  545. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +43 -0
  546. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  547. package/lib/typescript/module/src/modules/bt-management/services/device-secrets.d.ts +22 -0
  548. package/lib/typescript/module/src/modules/bt-management/services/device-secrets.d.ts.map +1 -0
  549. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts +18 -0
  550. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.device.d.ts.map +1 -0
  551. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts +30 -0
  552. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.protocol.d.ts.map +1 -0
  553. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts +26 -0
  554. package/lib/typescript/module/src/modules/bt-management/services/devices/and-medical/and-medical.sequencer.d.ts.map +1 -0
  555. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts +17 -0
  556. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts.map +1 -0
  557. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts +16 -0
  558. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts.map +1 -0
  559. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts +54 -0
  560. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts.map +1 -0
  561. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts +36 -0
  562. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts.map +1 -0
  563. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +1 -1
  564. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  565. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +3 -0
  566. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  567. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -1
  568. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  569. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +4 -1
  570. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  571. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts +32 -0
  572. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-bp.sequencer.d.ts.map +1 -0
  573. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts +46 -0
  574. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-glucose.sequencer.d.ts.map +1 -0
  575. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts +15 -0
  576. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe-thermometer.sequencer.d.ts.map +1 -0
  577. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts +18 -0
  578. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.device.d.ts.map +1 -0
  579. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts +75 -0
  580. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.protocol.d.ts.map +1 -0
  581. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts +22 -0
  582. package/lib/typescript/module/src/modules/bt-management/services/devices/cofoe/cofoe.records.d.ts.map +1 -0
  583. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -2
  584. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  585. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts +16 -0
  586. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts.map +1 -0
  587. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts +56 -0
  588. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts.map +1 -0
  589. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts +34 -0
  590. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts.map +1 -0
  591. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts +16 -0
  592. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts.map +1 -0
  593. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts +43 -0
  594. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts.map +1 -0
  595. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts +23 -0
  596. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts.map +1 -0
  597. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts +18 -0
  598. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -0
  599. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts +32 -0
  600. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts.map +1 -0
  601. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts +22 -0
  602. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts.map +1 -0
  603. package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +37 -0
  604. package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -0
  605. package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +4 -2
  606. package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -1
  607. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -1
  608. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  609. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts +7 -0
  610. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -0
  611. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts +16 -0
  612. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.device.d.ts.map +1 -0
  613. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts +50 -0
  614. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.protocol.d.ts.map +1 -0
  615. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts +40 -0
  616. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.records.d.ts.map +1 -0
  617. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts +38 -0
  618. package/lib/typescript/module/src/modules/bt-management/services/devices/taidoc/taidoc.sequencer.d.ts.map +1 -0
  619. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts +21 -0
  620. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts.map +1 -0
  621. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts +51 -0
  622. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts.map +1 -0
  623. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts +33 -0
  624. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts.map +1 -0
  625. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts +49 -0
  626. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts.map +1 -0
  627. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts +39 -0
  628. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts.map +1 -0
  629. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts +21 -0
  630. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.device.d.ts.map +1 -0
  631. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts +62 -0
  632. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.protocol.d.ts.map +1 -0
  633. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts +46 -0
  634. package/lib/typescript/module/src/modules/bt-management/services/devices/yonker/yonker.sequencer.d.ts.map +1 -0
  635. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +4 -2
  636. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  637. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -1
  638. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  639. package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts +6 -0
  640. package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -1
  641. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +6 -0
  642. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  643. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +33 -0
  644. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  645. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +34 -1
  646. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  647. package/lib/typescript/module/src/modules/bt-management/types/service.type.d.ts +6 -0
  648. package/lib/typescript/module/src/modules/bt-management/types/service.type.d.ts.map +1 -1
  649. package/lib/typescript/module/src/modules/bt-management/types/write-characteristic.d.ts +2 -0
  650. package/lib/typescript/module/src/modules/bt-management/types/write-characteristic.d.ts.map +1 -1
  651. package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts +2 -1
  652. package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts.map +1 -1
  653. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +2 -2
  654. package/package.json +1 -1
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { MeasurementTypeKey } from "@ovok/core";
6
+ import { decodeMedicalFloat } from "../../../utils/decode-medical-float.js";
7
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
8
+ import { opcode, TRANSTEK_CHARACTERISTICS, transtekTime, u16, u32 } from "./transtek-command.protocol.js";
9
+
10
+ /** Record layouts for the Transtek command protocol's measurement characteristics. */
11
+
12
+ const POUND_IN_KG = 0.45359237;
13
+ const DAY_MS = 86_400_000;
14
+ const YEAR_MS = 365 * DAY_MS;
15
+
16
+ /** MedM drops records more than a day ahead of the phone: the device clock was wrong. */
17
+ const isFromFuture = recordedAt => recordedAt.getTime() > Date.now() + DAY_MS;
18
+ /** Characteristic 8A91, sixteen bytes at fixed offsets; MedM ignores the kPa flag. */
19
+ export const readBloodPressure = (frame, shiftUser) => {
20
+ if (frame.length < 16) {
21
+ return undefined;
22
+ }
23
+ const flags = opcode(frame);
24
+ const status = u16(frame, 14);
25
+ const recordedAt = transtekTime(u32(frame, 7));
26
+ if (isFromFuture(recordedAt)) {
27
+ return undefined;
28
+ }
29
+ return {
30
+ systolic: u16(frame, 1),
31
+ diastolic: u16(frame, 3),
32
+ recordedAt,
33
+ heartRate: u16(frame, 11),
34
+ memorySlot: hexToByte(frame[13] ?? "00") + (shiftUser ? 1 : 0),
35
+ irregularHeartbeat: (flags & 0x10) !== 0 && (status & 0x04) !== 0
36
+ };
37
+ };
38
+
39
+ /**
40
+ * Characteristic 8A21 (A2) or 8A24 (A3): an IEEE-11073 FLOAT in kilograms and a status byte
41
+ * that must say the reading is stable or complete. Frames are 11, 15 or 19+ bytes long.
42
+ */
43
+ export const readWeight = frame => {
44
+ const length = frame.length;
45
+ if (!(length > 18 || length === 11 || length === 15)) {
46
+ return undefined;
47
+ }
48
+
49
+ // Only status bit 0 set with code 4 ("complete") is a finished weight. MedM also keeps
50
+ // "unstable" frames, tagged; those are the values a scale shows while someone steps on,
51
+ // so they are not reported here.
52
+ const status = hexToByte(frame[Math.min(length, 19) - 1] ?? "00");
53
+ if ((status & 0x01) !== 1 || (status >> 1 & 0x07) !== 4) {
54
+ return undefined;
55
+ }
56
+ const value = decodeMedicalFloat(u32(frame, 1), 8, 24);
57
+ const recordedAt = transtekTime(u32(frame, 5));
58
+ if (value === undefined || value <= 0 || isFromFuture(recordedAt)) {
59
+ return undefined;
60
+ }
61
+
62
+ // A scale set to pounds flags it (bit 5). MedM reads a value with at most one decimal as
63
+ // kilograms and one with two as already in pounds; the SDK follows it.
64
+ const pounds = (opcode(frame) & 0x20) !== 0 && Math.round(value * 100) % 10 !== 0;
65
+ return {
66
+ bodyWeight: Math.round((pounds ? value * POUND_IN_KG : value) * 100) / 100,
67
+ recordedAt
68
+ };
69
+ };
70
+
71
+ /**
72
+ * Characteristic 8A11: nineteen bytes starting `7E`, with the day's cumulative step count.
73
+ *
74
+ * Only the live record is a reading: stored points (stamped at :59) are earlier running
75
+ * totals and the day's statistic (23:59:59), so reporting them as well would count the same
76
+ * steps again. A record dated outside the past year or after tomorrow is a clock that was
77
+ * never set.
78
+ */
79
+ export const readTrackerSteps = frame => {
80
+ if (frame.length !== 19 || opcode(frame) !== 0x7e) {
81
+ return undefined;
82
+ }
83
+ const recordedAt = transtekTime(u32(frame, 4));
84
+ if (recordedAt.getSeconds() === 59 || isFromFuture(recordedAt) || Date.now() - recordedAt.getTime() > YEAR_MS) {
85
+ return undefined;
86
+ }
87
+ return {
88
+ stepCount: hexToByte(frame[1] ?? "00") | hexToByte(frame[2] ?? "00") << 8 | hexToByte(frame[3] ?? "00") << 16,
89
+ recordedAt
90
+ };
91
+ };
92
+
93
+ /** Decodes a record by the characteristic it arrived on; anything else is not a reading. */
94
+ export const decodeTranstekRecord = (frame, characteristicUuid, shiftUser) => {
95
+ if (characteristicUuid === TRANSTEK_CHARACTERISTICS.bloodPressure) {
96
+ const reading = readBloodPressure(frame, shiftUser);
97
+ return reading && {
98
+ measurementTypeKey: MeasurementTypeKey.bloodPressure,
99
+ systolic: reading.systolic,
100
+ diastolic: reading.diastolic,
101
+ heartRate: reading.heartRate,
102
+ recordedAt: reading.recordedAt,
103
+ memorySlot: reading.memorySlot,
104
+ ...(reading.irregularHeartbeat ? {
105
+ irregularHeartbeat: true
106
+ } : {})
107
+ };
108
+ }
109
+ if (characteristicUuid === TRANSTEK_CHARACTERISTICS.weightA2 || characteristicUuid === TRANSTEK_CHARACTERISTICS.weightA3) {
110
+ const reading = readWeight(frame);
111
+ return reading && {
112
+ measurementTypeKey: MeasurementTypeKey.bodyWeight,
113
+ ...reading
114
+ };
115
+ }
116
+ if (characteristicUuid === TRANSTEK_CHARACTERISTICS.tracker) {
117
+ const reading = readTrackerSteps(frame);
118
+ return reading && {
119
+ measurementTypeKey: MeasurementTypeKey.stepCount,
120
+ ...reading
121
+ };
122
+ }
123
+ return undefined;
124
+ };
125
+ //# sourceMappingURL=transtek-command.records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MeasurementTypeKey","decodeMedicalFloat","hexToByte","opcode","TRANSTEK_CHARACTERISTICS","transtekTime","u16","u32","POUND_IN_KG","DAY_MS","YEAR_MS","isFromFuture","recordedAt","getTime","Date","now","readBloodPressure","frame","shiftUser","length","undefined","flags","status","systolic","diastolic","heartRate","memorySlot","irregularHeartbeat","readWeight","Math","min","value","pounds","round","bodyWeight","readTrackerSteps","getSeconds","stepCount","decodeTranstekRecord","characteristicUuid","bloodPressure","reading","measurementTypeKey","weightA2","weightA3","tracker"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/transtek-command.records.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ import { CaseType } from "../../../types/case-type.js";
4
+ import { peekDeviceSecret, saveDeviceSecret } from "../../device-secrets.js";
5
+ import { accountIdCommand, ANSWER, endSessionCommand, opcode, readPassword, readRandom, scaleProfileCommand, TRANSTEK_CHARACTERISTICS, verificationCommand } from "./transtek-command.protocol.js";
6
+ import { decodeTranstekRecord } from "./transtek-command.records.js";
7
+ import { END_AFTER_MS, SECRET_WAIT_MS, SERVICES, stepsAfterVerification, stepsToBindUser, USER } from "./transtek-command.session.js";
8
+
9
+ /**
10
+ * Drives the Transtek command protocol: the password handshake, the time, the A3 user binding,
11
+ * and the end of the session.
12
+ *
13
+ * The device never acknowledges a command, so every step after the verification code is sent
14
+ * with the pause MedM leaves between them rather than in answer to a frame.
15
+ *
16
+ * Pairing is the device's choice, not the app's: an unbound device opens with its password
17
+ * (`A0`), which is kept and used to answer every later connection's random number (`A1`).
18
+ */
19
+ class TranstekCommandSequencer {
20
+ a3 = false;
21
+ pairing = false;
22
+ receiving = false;
23
+ ended = false;
24
+ recorded = false;
25
+ constructor(params) {
26
+ this.params = params;
27
+ this.serviceUuid = SERVICES[params.kind].a2;
28
+ }
29
+ onServicesDiscovered = serviceUuids => {
30
+ const a3 = SERVICES[this.params.kind].a3;
31
+ this.a3 = a3 !== undefined && serviceUuids.includes(a3);
32
+ this.serviceUuid = this.a3 && a3 ? a3 : SERVICES[this.params.kind].a2;
33
+ };
34
+ initialCommands = () => [];
35
+
36
+ /** The device may drop the link before the app ends the session; after a record that is normal. */
37
+ isNormalDisconnect = () => this.ended || this.recorded;
38
+ commandTimeoutMs = () => this.pendingRandom !== undefined ? SECRET_WAIT_MS : this.receiving ? END_AFTER_MS[this.params.kind] : undefined;
39
+ onCommandTimeout = () => {
40
+ if (this.pendingRandom !== undefined) {
41
+ const random = this.pendingRandom;
42
+ this.pendingRandom = undefined;
43
+ return {
44
+ commands: this.verify(random, true) ?? []
45
+ };
46
+ }
47
+ this.receiving = false;
48
+ this.ended = true;
49
+ return {
50
+ commands: [this.command(endSessionCommand())]
51
+ };
52
+ };
53
+
54
+ /**
55
+ * Answer-channel opcodes all have the top bit set; anything else is a record, and each one
56
+ * restarts the quiet period after which the session is ended. This runs before
57
+ * `nextCommand`, so it is where receiving starts.
58
+ */
59
+ commandProgress = frame => {
60
+ // A random number that arrives before the stored password has loaded waits for it.
61
+ if (opcode(frame) === ANSWER.random && peekDeviceSecret(this.params.secretKey) === undefined) {
62
+ return "partial";
63
+ }
64
+ if (opcode(frame) >= 0x80) {
65
+ return "complete";
66
+ }
67
+ this.receiving = !this.ended;
68
+ return "partial";
69
+ };
70
+ nextCommand = (frame, characteristicUuid) => {
71
+ if (characteristicUuid?.toLowerCase() === TRANSTEK_CHARACTERISTICS.answer) {
72
+ return this.answer(frame);
73
+ }
74
+ this.record(frame, characteristicUuid?.toLowerCase());
75
+ return undefined;
76
+ };
77
+ answer = frame => {
78
+ switch (opcode(frame)) {
79
+ case ANSWER.password:
80
+ this.pairing = true;
81
+ void saveDeviceSecret(this.params.secretKey, String(readPassword(frame))).then(stored => {
82
+ if (!stored) {
83
+ this.params.onError(new Error("Could not store this Transtek device's pairing password: it will need to be paired again after the app restarts."));
84
+ }
85
+ });
86
+ return [this.command(accountIdCommand(USER))];
87
+ case ANSWER.random:
88
+ return this.verify(readRandom(frame));
89
+ case ANSWER.userCount:
90
+ return this.pairing ? this.bindUser() : undefined;
91
+ case ANSWER.userInfo:
92
+ return this.params.kind === "scale" ? [this.command(scaleProfileCommand(USER, this.params.heightInCentimetres === true)), this.endCommand()] : undefined;
93
+ default:
94
+ return undefined;
95
+ }
96
+ };
97
+ verify = (random, retried = false) => {
98
+ const password = Number(peekDeviceSecret(this.params.secretKey));
99
+
100
+ // Storage may still be answering; one short wait before calling the device unpaired.
101
+ if (!Number.isFinite(password) && !retried) {
102
+ this.pendingRandom = random;
103
+ return undefined;
104
+ }
105
+ if (!Number.isFinite(password)) {
106
+ this.params.onError(new Error("Transtek device is not paired with this phone: put it in pairing mode and connect again."));
107
+ return undefined;
108
+ }
109
+ return [this.command(verificationCommand(password, random)), ...this.commands(stepsAfterVerification(this.params.kind, this.a3, this.pairing, this.now()))];
110
+ };
111
+ bindUser = () => this.commands(stepsToBindUser(this.params.kind, this.params.heightInCentimetres === true, this.now()));
112
+ commands = steps => steps.map(step => {
113
+ this.ended ||= step.endsSession === true;
114
+ return this.command(step.frame, step.delayMs);
115
+ });
116
+ record = (frame, characteristicUuid) => {
117
+ const reading = decodeTranstekRecord(frame, characteristicUuid, this.params.shiftUser !== false);
118
+ if (!reading) {
119
+ return;
120
+ }
121
+ this.recorded = true;
122
+ this.params.onResult({
123
+ caseType: CaseType.RESULT,
124
+ ...reading
125
+ });
126
+ };
127
+ now = () => this.params.now?.() ?? new Date();
128
+ endCommand = () => {
129
+ this.ended = true;
130
+ return this.command(endSessionCommand());
131
+ };
132
+ command = (frame, delayBeforeWriteMs) => ({
133
+ serviceUuid: this.serviceUuid,
134
+ characteristicUuid: TRANSTEK_CHARACTERISTICS.command,
135
+ frame,
136
+ ...(delayBeforeWriteMs ? {
137
+ delayBeforeWriteMs
138
+ } : {})
139
+ });
140
+ }
141
+ export { TranstekCommandSequencer };
142
+ //# sourceMappingURL=transtek-command.sequencer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CaseType","peekDeviceSecret","saveDeviceSecret","accountIdCommand","ANSWER","endSessionCommand","opcode","readPassword","readRandom","scaleProfileCommand","TRANSTEK_CHARACTERISTICS","verificationCommand","decodeTranstekRecord","END_AFTER_MS","SECRET_WAIT_MS","SERVICES","stepsAfterVerification","stepsToBindUser","USER","TranstekCommandSequencer","a3","pairing","receiving","ended","recorded","constructor","params","serviceUuid","kind","a2","onServicesDiscovered","serviceUuids","undefined","includes","initialCommands","isNormalDisconnect","commandTimeoutMs","pendingRandom","onCommandTimeout","random","commands","verify","command","commandProgress","frame","secretKey","nextCommand","characteristicUuid","toLowerCase","answer","record","password","String","then","stored","onError","Error","userCount","bindUser","userInfo","heightInCentimetres","endCommand","retried","Number","isFinite","now","steps","map","step","endsSession","delayMs","reading","shiftUser","onResult","caseType","RESULT","Date","delayBeforeWriteMs"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/transtek-command.sequencer.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { bindUserCommand, endSessionCommand, scaleProfileCommand, setTimeCommand, trackerConfigurationCommand, trackerUserDataCommand, TRANSTEK_SERVICES } from "./transtek-command.protocol.js";
6
+ /** The only user slot the SDK binds; the protocol allows more, the SDK has one patient per phone. */
7
+ export const USER = 1;
8
+
9
+ /** How long an unanswered random number waits for the stored password to load. */
10
+ export const SECRET_WAIT_MS = 1_000;
11
+
12
+ /** The name bound into an A3 device's user slot. */
13
+ export const BOUND_NAME = "OVOK";
14
+
15
+ /** Quiet time after the last record before the app ends the session, per MedM. */
16
+ export const END_AFTER_MS = {
17
+ "blood-pressure": 1_000,
18
+ scale: 30_000,
19
+ tracker: 1_000
20
+ };
21
+ export const SERVICES = {
22
+ "blood-pressure": {
23
+ a2: TRANSTEK_SERVICES.bloodPressureA2,
24
+ a3: TRANSTEK_SERVICES.bloodPressureA3
25
+ },
26
+ scale: {
27
+ a2: TRANSTEK_SERVICES.scaleA2,
28
+ a3: TRANSTEK_SERVICES.scaleA3
29
+ },
30
+ tracker: {
31
+ a2: TRANSTEK_SERVICES.tracker
32
+ }
33
+ };
34
+
35
+ /** One write, and the pause MedM leaves before it. */
36
+
37
+ const end = delayMs => ({
38
+ frame: endSessionCommand(),
39
+ delayMs,
40
+ endsSession: true
41
+ });
42
+
43
+ /**
44
+ * What follows a correct verification code. An A3 device that is pairing binds a user slot
45
+ * first, so for it nothing follows until its user count (83) arrives.
46
+ */
47
+ export const stepsAfterVerification = (kind, a3, pairing, now) => {
48
+ if (pairing && a3 && kind !== "tracker") {
49
+ return [];
50
+ }
51
+ if (kind === "tracker") {
52
+ return [...(pairing ? [{
53
+ frame: trackerConfigurationCommand(),
54
+ delayMs: 500
55
+ }] : []), {
56
+ frame: setTimeCommand(now),
57
+ delayMs: 500
58
+ }, {
59
+ frame: trackerUserDataCommand(),
60
+ delayMs: 500
61
+ }, ...(pairing ? [end(500)] : [])];
62
+ }
63
+ return [{
64
+ frame: setTimeCommand(now),
65
+ delayMs: a3 && kind === "scale" ? 1500 : 500
66
+ }, ...(pairing ? [end(1500)] : [])];
67
+ };
68
+
69
+ /** An A3 device's pairing, once it has sent its user count: bind, profile (scales), time, end. */
70
+ export const stepsToBindUser = (kind, heightInCentimetres, now) => kind === "scale" ? [{
71
+ frame: bindUserCommand(USER, BOUND_NAME),
72
+ delayMs: 1000
73
+ }, {
74
+ frame: scaleProfileCommand(USER, heightInCentimetres),
75
+ delayMs: 500
76
+ }, {
77
+ frame: setTimeCommand(now),
78
+ delayMs: 500
79
+ }, end(1500)] : [{
80
+ frame: bindUserCommand(USER, BOUND_NAME)
81
+ }, {
82
+ frame: setTimeCommand(now),
83
+ delayMs: 500
84
+ }, end(1500)];
85
+ //# sourceMappingURL=transtek-command.session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["bindUserCommand","endSessionCommand","scaleProfileCommand","setTimeCommand","trackerConfigurationCommand","trackerUserDataCommand","TRANSTEK_SERVICES","USER","SECRET_WAIT_MS","BOUND_NAME","END_AFTER_MS","scale","tracker","SERVICES","a2","bloodPressureA2","a3","bloodPressureA3","scaleA2","scaleA3","end","delayMs","frame","endsSession","stepsAfterVerification","kind","pairing","now","stepsToBindUser","heightInCentimetres"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/transtek-command.session.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ import { IntegratedDevices } from "../../../types/integrated-devices.js";
4
+ import { BTManagedDevice } from "../bt-managed-device.js";
5
+ import { AOJ_VALUES, LiveOximeterSequencer, readOximeterData } from "../live-oximeter.sequencer.js";
6
+ import { AILINK_GATT, AilinkFrameReader, FIRMWARE_REQUEST, read80bMeasurement, YONKER_GATT } from "./yonker.protocol.js";
7
+ import { YonkerScaleSequencer, YonkerSequencer } from "./yonker.sequencer.js";
8
+ const passThrough = {
9
+ caseValuePosition: [],
10
+ cases: []
11
+ };
12
+ const service = (uuid, notify, optional = false) => ({
13
+ uuid,
14
+ optional,
15
+ monitorUuids: notify.map(monitor => ({
16
+ uuid: monitor,
17
+ parsingModel: passThrough
18
+ }))
19
+ });
20
+
21
+ /** MedM subscribes to all three; the type byte, not the characteristic, says what a frame is. */
22
+ const YONKER_SERVICES = [service(YONKER_GATT.service, [YONKER_GATT.notify, YONKER_GATT.notifyAlternate], true), service(YONKER_GATT.uartService, [YONKER_GATT.uartNotify], true)];
23
+ const SERVICES = {
24
+ [IntegratedDevices.YONKER_OXIMETER]: YONKER_SERVICES,
25
+ [IntegratedDevices.YONKER_BPM]: YONKER_SERVICES,
26
+ [IntegratedDevices.YONKER_THERMOMETER]: YONKER_SERVICES,
27
+ [IntegratedDevices.YONKER_SCALE]: [service(AILINK_GATT.service, [AILINK_GATT.notify])],
28
+ [IntegratedDevices.YONKER_80B]: [service(AILINK_GATT.service, [AILINK_GATT.notify])]
29
+ };
30
+
31
+ /** The YK-80B: MedM asks for the firmware version on connect, then reads the stream. */
32
+ class Yonker80bSequencer extends LiveOximeterSequencer {
33
+ initialCommands = () => [{
34
+ serviceUuid: AILINK_GATT.service,
35
+ characteristicUuid: AILINK_GATT.writeShort,
36
+ frame: FIRMWARE_REQUEST
37
+ }];
38
+ }
39
+ const SEQUENCERS = {
40
+ [IntegratedDevices.YONKER_OXIMETER]: onResult => new LiveOximeterSequencer({
41
+ readValues: frame => readOximeterData(frame, AOJ_VALUES, "spo2-pulse"),
42
+ onResult
43
+ }),
44
+ [IntegratedDevices.YONKER_BPM]: onResult => new YonkerSequencer({
45
+ kind: "blood-pressure",
46
+ onResult
47
+ }),
48
+ [IntegratedDevices.YONKER_THERMOMETER]: onResult => new YonkerSequencer({
49
+ kind: "thermometer",
50
+ onResult
51
+ }),
52
+ [IntegratedDevices.YONKER_SCALE]: onResult => new YonkerScaleSequencer({
53
+ onResult
54
+ }),
55
+ [IntegratedDevices.YONKER_80B]: onResult => new Yonker80bSequencer({
56
+ readValues: read80bMeasurement,
57
+ onResult
58
+ })
59
+ };
60
+
61
+ /**
62
+ * Yonker YK-81C oximeters, YK-BPA blood-pressure monitors, YK-IRT4 thermometers, the AiLink
63
+ * weight scale and the YK-80B oximeter, with their rebrands.
64
+ */
65
+ class YonkerDeviceClass extends BTManagedDevice {
66
+ stuckDataTimeout = 120_000;
67
+ onStreamStart = undefined;
68
+ constructor(device, params) {
69
+ super(device, params);
70
+ this.mainServices = SERVICES[params.deviceName];
71
+ if (params.deviceName === IntegratedDevices.YONKER_SCALE) {
72
+ this.frameReader = new AilinkFrameReader([0xa7]);
73
+ } else if (params.deviceName === IntegratedDevices.YONKER_80B) {
74
+ this.frameReader = new AilinkFrameReader([0xa6, 0xa7]);
75
+ }
76
+ this.createCommandSequencer = () => SEQUENCERS[params.deviceName](result => this.onResult?.(result));
77
+ }
78
+
79
+ /** The oximeter, monitor and thermometer send one frame per notification. */
80
+ validatePackage = () => true;
81
+ handleSuccessResult() {
82
+ return;
83
+ }
84
+ }
85
+ export { YonkerDeviceClass as YonkerDevice };
86
+ //# sourceMappingURL=yonker.device.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IntegratedDevices","BTManagedDevice","AOJ_VALUES","LiveOximeterSequencer","readOximeterData","AILINK_GATT","AilinkFrameReader","FIRMWARE_REQUEST","read80bMeasurement","YONKER_GATT","YonkerScaleSequencer","YonkerSequencer","passThrough","caseValuePosition","cases","service","uuid","notify","optional","monitorUuids","map","monitor","parsingModel","YONKER_SERVICES","notifyAlternate","uartService","uartNotify","SERVICES","YONKER_OXIMETER","YONKER_BPM","YONKER_THERMOMETER","YONKER_SCALE","YONKER_80B","Yonker80bSequencer","initialCommands","serviceUuid","characteristicUuid","writeShort","frame","SEQUENCERS","onResult","readValues","kind","YonkerDeviceClass","stuckDataTimeout","onStreamStart","undefined","constructor","device","params","mainServices","deviceName","frameReader","createCommandSequencer","result","validatePackage","handleSuccessResult","YonkerDevice"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/yonker/yonker.device.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { FrameReadStatus } from "../../../types/frame-read-status.js";
6
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
7
+ /**
8
+ * Yonker devices and their rebrands, from MedM Health Diary 3.12.11's `CYonker_*` classes.
9
+ *
10
+ * The oximeter, blood-pressure monitor and thermometer share one GATT map and send one frame
11
+ * per notification: a type byte (`80` live, `81` result) and its values, no length, no
12
+ * checksum. The scale (an AiLink module, MedM's `CConmo_WeightScale`) and the YK-80B oximeter
13
+ * frame everything as `A6|A7 xx xx LL CMD body CS 7A`.
14
+ */
15
+ const sig16 = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
16
+ export const YONKER_GATT = {
17
+ service: "cdeacd80-5235-4c07-8846-93a37ee6b86d",
18
+ notify: "cdeacd81-5235-4c07-8846-93a37ee6b86d",
19
+ notifyAlternate: "cdeacd82-5235-4c07-8846-93a37ee6b86d",
20
+ /** Nordic UART; MedM subscribes to its `…0002` characteristic. */
21
+ uartService: "6e400001-b5a3-f393-e0a9-e50e24dcca9e",
22
+ uartNotify: "6e400002-b5a3-f393-e0a9-e50e24dcca9e",
23
+ /** Where the blood-pressure monitor takes its clock. */
24
+ timeService: sig16("1804"),
25
+ timeWrite: sig16("2a07")
26
+ };
27
+
28
+ /** The scale and the YK-80B: notify on `ffe2`, long frames to `ffe1`, short ones to `ffe3`. */
29
+ export const AILINK_GATT = {
30
+ service: sig16("ffe0"),
31
+ writeLong: sig16("ffe1"),
32
+ notify: sig16("ffe2"),
33
+ writeShort: sig16("ffe3")
34
+ };
35
+ const bytes = frame => frame.map(byte => hexToByte(byte));
36
+ const toHex = values => values.map(value => (value & 0xff).toString(16).padStart(2, "0"));
37
+ const sum = values => values.reduce((total, value) => total + value, 0) & 0xff;
38
+
39
+ /** `8F YY MM DD hh mm` and nine zero bytes, local time. */
40
+ export const bpmSetTimeCommand = now => toHex([0x8f, now.getFullYear() - 2000, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), ...new Array(9).fill(0)]);
41
+
42
+ /**
43
+ * `81 SYS DIA PULSE USER RECORD YY MM DD hh mm`, mmHg, local time. A zero year means the clock
44
+ * was never set, and the phone's time is used, as MedM does.
45
+ */
46
+ export const readYonkerBloodPressure = (frame, now) => {
47
+ const b = bytes(frame);
48
+ if (b.length < 11 || b[0] !== 0x81 || !b[1] || !b[2]) {
49
+ return undefined;
50
+ }
51
+ const year = b[6] ?? 0;
52
+ const user = b[4] ?? 0;
53
+ return {
54
+ systolic: b[1],
55
+ diastolic: b[2],
56
+ ...(b[3] ? {
57
+ heartRate: b[3]
58
+ } : {}),
59
+ recordedAt: year === 0 ? now : new Date(2000 + year, (b[7] ?? 1) - 1, b[8] ?? 1, b[9] ?? 0, b[10] ?? 0),
60
+ ...(user > 0 ? {
61
+ memorySlot: user
62
+ } : {})
63
+ };
64
+ };
65
+
66
+ /**
67
+ * `80 hi lo FLAGS X`: hundredths of a degree; flags bit 1 marks Fahrenheit, which MedM ignores
68
+ * and the SDK converts.
69
+ */
70
+ export const readYonkerTemperature = frame => {
71
+ const b = bytes(frame);
72
+ if (b.length < 5 || b[0] !== 0x80) {
73
+ return undefined;
74
+ }
75
+ const value = ((b[1] ?? 0) << 8 | (b[2] ?? 0)) / 100;
76
+ if (value === 0) {
77
+ return undefined;
78
+ }
79
+ return ((b[3] ?? 0) & 0x02) !== 0 ? Math.round((value - 32) * 5 / 9 * 100) / 100 : value;
80
+ };
81
+
82
+ /** `A7 ID ID (n+1) CMD payload CS 7A`, the checksum covering everything but the first byte. */
83
+ export const longFrame = (id, command, payload = []) => {
84
+ const covered = [id >> 8, id & 0xff, payload.length + 1, command, ...payload];
85
+ return toHex([0xa7, ...covered, sum(covered), 0x7a]);
86
+ };
87
+
88
+ /** `A6 (n+1) CMD payload CS 6A`. */
89
+ export const shortFrame = (command, payload = []) => {
90
+ const covered = [payload.length + 1, command, ...payload];
91
+ return toHex([0xa6, ...covered, sum(covered), 0x6a]);
92
+ };
93
+
94
+ /** Scale set time, command `37`: `YY MM DD hh mm ss weekday` (Sunday 1), local time. */
95
+ export const scaleSetTimeCommand = now => shortFrame(0x37, [now.getFullYear() - 2000, now.getMonth() + 1, now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds(), now.getDay() + 1]);
96
+ export const idOf = frame => hexToByte(frame[1] ?? "00") << 8 | hexToByte(frame[2] ?? "00");
97
+ export const commandOf = frame => hexToByte(frame[4] ?? "00");
98
+ export const bodyOf = frame => bytes(frame.slice(5, -2));
99
+
100
+ /**
101
+ * Scale weight, command `02`: a u24 big-endian raw value, then precision (high nibble, decimal
102
+ * places) and unit (low nibble). Only kilograms (unit 0) are accepted - the SDK sets the scale to
103
+ * kilograms, and the other unit codes are not documented.
104
+ */
105
+ export const readScaleWeight = body => {
106
+ const raw = (body[0] ?? 0) << 16 | (body[1] ?? 0) << 8 | (body[2] ?? 0);
107
+ const format = body[3] ?? 0;
108
+ if (body.length < 4 || raw === 0 || (format & 0x0f) !== 0) {
109
+ return undefined;
110
+ }
111
+ return raw / 10 ** (format >> 4);
112
+ };
113
+
114
+ /**
115
+ * YK-80B measurement, command `03`: status, SpO2, pulse, PI×10, battery, RR×10, waveform, bar,
116
+ * worn. Dropped when the status or worn flag is zero or the SpO2 is `FF`, as MedM does.
117
+ */
118
+ export const read80bMeasurement = frame => {
119
+ const body = bodyOf(frame);
120
+ if (commandOf(frame) !== 0x03 || body.length < 9) {
121
+ return undefined;
122
+ }
123
+ const [status = 0, bloodOxygen = 0, pulseRate = 0, perfusionIndex = 0] = body;
124
+ if (status === 0 || body[8] === 0 || bloodOxygen === 0 || bloodOxygen > 100 || pulseRate === 0 || pulseRate === 0xff) {
125
+ return undefined;
126
+ }
127
+ return {
128
+ bloodOxygen,
129
+ pulseRate,
130
+ ...(perfusionIndex > 0 && perfusionIndex !== 0xff ? {
131
+ perfusionIndex: perfusionIndex / 10
132
+ } : {})
133
+ };
134
+ };
135
+
136
+ /** YK-80B firmware request, the one command MedM writes to it. */
137
+ export const FIRMWARE_REQUEST = shortFrame(0x0e);
138
+
139
+ /** Isolates checked `A7 … 7A` frames (and `A6 … 7A` for the YK-80B) across notifications. */
140
+ export class AilinkFrameReader {
141
+ constructor(starts) {
142
+ this.starts = starts;
143
+ }
144
+ readFrame(buffer) {
145
+ const values = bytes(buffer);
146
+ const start = values.findIndex(value => this.starts.includes(value));
147
+ if (start === -1) {
148
+ return {
149
+ status: FrameReadStatus.INCOMPLETE,
150
+ consumedBytes: values.length
151
+ };
152
+ }
153
+ if (start + 4 > values.length) {
154
+ return {
155
+ status: FrameReadStatus.INCOMPLETE,
156
+ consumedBytes: start
157
+ };
158
+ }
159
+ const length = (values[start + 3] ?? 0) + 6;
160
+ if (length < 7) {
161
+ return {
162
+ status: FrameReadStatus.CORRUPT,
163
+ consumedBytes: start + 1
164
+ };
165
+ }
166
+ if (start + length > values.length) {
167
+ return {
168
+ status: FrameReadStatus.INCOMPLETE,
169
+ consumedBytes: start
170
+ };
171
+ }
172
+ const received = values.slice(start, start + length);
173
+ if (received[length - 1] !== 0x7a || received[length - 2] !== sum(received.slice(1, -2))) {
174
+ return {
175
+ status: FrameReadStatus.CORRUPT,
176
+ consumedBytes: start + 1
177
+ };
178
+ }
179
+ return {
180
+ status: FrameReadStatus.COMPLETE,
181
+ consumedBytes: start + length,
182
+ frame: buffer.slice(start, start + length)
183
+ };
184
+ }
185
+ }
186
+ //# sourceMappingURL=yonker.protocol.js.map