@ovok/native 1.10.9 → 1.10.10

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 (450) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +16 -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-aoj-variants.js +137 -0
  4. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-aoj-variants.js.map +1 -0
  5. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +15 -1
  6. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  7. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js +3 -2
  8. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  9. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js +227 -0
  10. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js.map +1 -0
  11. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-joytech-variants.js +95 -0
  12. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-joytech-variants.js.map +1 -0
  13. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-jumper-variants.js +149 -0
  14. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-jumper-variants.js.map +1 -0
  15. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js +1001 -0
  16. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -0
  17. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-variants.js +1093 -0
  18. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-transtek-variants.js.map +1 -0
  19. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js +312 -0
  20. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -0
  21. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +75 -9
  22. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +2 -1
  24. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/constants/aoj-device-variants.js +112 -0
  26. package/lib/commonjs/modules/bt-management/constants/aoj-device-variants.js.map +1 -0
  27. package/lib/commonjs/modules/bt-management/constants/device-variants.js +252 -0
  28. package/lib/commonjs/modules/bt-management/constants/device-variants.js.map +1 -0
  29. package/lib/commonjs/modules/bt-management/constants/famidoc-device-variants.js +190 -0
  30. package/lib/commonjs/modules/bt-management/constants/famidoc-device-variants.js.map +1 -0
  31. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js +9 -1
  32. package/lib/commonjs/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/constants/joytech-device-variants.js +80 -0
  34. package/lib/commonjs/modules/bt-management/constants/joytech-device-variants.js.map +1 -0
  35. package/lib/commonjs/modules/bt-management/constants/jumper-device-variants.js +115 -0
  36. package/lib/commonjs/modules/bt-management/constants/jumper-device-variants.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js +802 -0
  38. package/lib/commonjs/modules/bt-management/constants/standard-device-variants.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/constants/transtek-device-variants.js +890 -0
  40. package/lib/commonjs/modules/bt-management/constants/transtek-device-variants.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/index.js +20 -0
  42. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  43. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +15 -0
  44. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +7 -1
  46. package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  47. package/lib/commonjs/modules/bt-management/services/device-classes.js +22 -1
  48. package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
  49. package/lib/commonjs/modules/bt-management/services/device-secrets.js +68 -0
  50. package/lib/commonjs/modules/bt-management/services/device-secrets.js.map +1 -0
  51. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js +41 -0
  52. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -0
  53. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.device.js +45 -0
  54. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.device.js.map +1 -0
  55. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js +140 -0
  56. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js.map +1 -0
  57. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js +138 -0
  58. package/lib/commonjs/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js.map +1 -0
  59. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +24 -1
  60. package/lib/commonjs/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  61. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +27 -1
  62. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  63. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +4 -4
  64. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  65. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +12 -1
  66. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  67. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +12 -4
  68. package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  69. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.device.js +49 -0
  70. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.device.js.map +1 -0
  71. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.protocol.js +163 -0
  72. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.protocol.js.map +1 -0
  73. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js +95 -0
  74. package/lib/commonjs/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js.map +1 -0
  75. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.device.js +40 -0
  76. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.device.js.map +1 -0
  77. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.protocol.js +162 -0
  78. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.protocol.js.map +1 -0
  79. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.sequencer.js +63 -0
  80. package/lib/commonjs/modules/bt-management/services/devices/joytech/joytech.sequencer.js.map +1 -0
  81. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js +56 -0
  82. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -0
  83. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.protocol.js +67 -0
  84. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.protocol.js.map +1 -0
  85. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.sequencer.js +60 -0
  86. package/lib/commonjs/modules/bt-management/services/devices/jumper/jumper.sequencer.js.map +1 -0
  87. package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js +85 -0
  88. package/lib/commonjs/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -0
  89. package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js +22 -8
  90. package/lib/commonjs/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -1
  91. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +13 -2
  92. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  93. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +153 -0
  94. package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -0
  95. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.device.js +71 -0
  96. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.device.js.map +1 -0
  97. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.protocol.js +112 -0
  98. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.protocol.js.map +1 -0
  99. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.records.js +132 -0
  100. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.records.js.map +1 -0
  101. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js +145 -0
  102. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js.map +1 -0
  103. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.session.js +91 -0
  104. package/lib/commonjs/modules/bt-management/services/devices/transtek/transtek-command.session.js.map +1 -0
  105. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +15 -0
  106. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  107. package/lib/commonjs/modules/bt-management/utils/device-title.js +5 -1
  108. package/lib/commonjs/modules/bt-management/utils/device-title.js.map +1 -1
  109. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +16 -1
  110. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  111. package/lib/module/modules/bt-device/constants/supported-device-catalog-aoj-variants.js +135 -0
  112. package/lib/module/modules/bt-device/constants/supported-device-catalog-aoj-variants.js.map +1 -0
  113. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +15 -1
  114. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  115. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js +3 -2
  116. package/lib/module/modules/bt-device/constants/supported-device-catalog-entries.js.map +1 -1
  117. package/lib/module/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js +225 -0
  118. package/lib/module/modules/bt-device/constants/supported-device-catalog-famidoc-variants.js.map +1 -0
  119. package/lib/module/modules/bt-device/constants/supported-device-catalog-joytech-variants.js +93 -0
  120. package/lib/module/modules/bt-device/constants/supported-device-catalog-joytech-variants.js.map +1 -0
  121. package/lib/module/modules/bt-device/constants/supported-device-catalog-jumper-variants.js +147 -0
  122. package/lib/module/modules/bt-device/constants/supported-device-catalog-jumper-variants.js.map +1 -0
  123. package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js +999 -0
  124. package/lib/module/modules/bt-device/constants/supported-device-catalog-standard-variants.js.map +1 -0
  125. package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-variants.js +1091 -0
  126. package/lib/module/modules/bt-device/constants/supported-device-catalog-transtek-variants.js.map +1 -0
  127. package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js +309 -0
  128. package/lib/module/modules/bt-device/constants/supported-device-catalog-variants.js.map +1 -0
  129. package/lib/module/modules/bt-device/constants/supported-devices.js +76 -10
  130. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  131. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +2 -1
  132. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  133. package/lib/module/modules/bt-management/constants/aoj-device-variants.js +110 -0
  134. package/lib/module/modules/bt-management/constants/aoj-device-variants.js.map +1 -0
  135. package/lib/module/modules/bt-management/constants/device-variants.js +249 -0
  136. package/lib/module/modules/bt-management/constants/device-variants.js.map +1 -0
  137. package/lib/module/modules/bt-management/constants/famidoc-device-variants.js +188 -0
  138. package/lib/module/modules/bt-management/constants/famidoc-device-variants.js.map +1 -0
  139. package/lib/module/modules/bt-management/constants/integrated-devices-map.js +9 -1
  140. package/lib/module/modules/bt-management/constants/integrated-devices-map.js.map +1 -1
  141. package/lib/module/modules/bt-management/constants/joytech-device-variants.js +78 -0
  142. package/lib/module/modules/bt-management/constants/joytech-device-variants.js.map +1 -0
  143. package/lib/module/modules/bt-management/constants/jumper-device-variants.js +113 -0
  144. package/lib/module/modules/bt-management/constants/jumper-device-variants.js.map +1 -0
  145. package/lib/module/modules/bt-management/constants/standard-device-variants.js +799 -0
  146. package/lib/module/modules/bt-management/constants/standard-device-variants.js.map +1 -0
  147. package/lib/module/modules/bt-management/constants/transtek-device-variants.js +888 -0
  148. package/lib/module/modules/bt-management/constants/transtek-device-variants.js.map +1 -0
  149. package/lib/module/modules/bt-management/index.js +2 -0
  150. package/lib/module/modules/bt-management/index.js.map +1 -1
  151. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +15 -0
  152. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -1
  153. package/lib/module/modules/bt-management/services/custom/define-custom-device.js +7 -1
  154. package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
  155. package/lib/module/modules/bt-management/services/device-classes.js +22 -1
  156. package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
  157. package/lib/module/modules/bt-management/services/device-secrets.js +59 -0
  158. package/lib/module/modules/bt-management/services/device-secrets.js.map +1 -0
  159. package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js +37 -0
  160. package/lib/module/modules/bt-management/services/devices/aoj/aoj-70b.device.js.map +1 -0
  161. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.device.js +41 -0
  162. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.device.js.map +1 -0
  163. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js +123 -0
  164. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.protocol.js.map +1 -0
  165. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js +134 -0
  166. package/lib/module/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.js.map +1 -0
  167. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js +24 -1
  168. package/lib/module/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.js.map +1 -1
  169. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +27 -1
  170. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  171. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +4 -4
  172. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  173. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +12 -1
  174. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  175. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +12 -4
  176. package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
  177. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.device.js +45 -0
  178. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.device.js.map +1 -0
  179. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.protocol.js +149 -0
  180. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.protocol.js.map +1 -0
  181. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js +91 -0
  182. package/lib/module/modules/bt-management/services/devices/famidoc/famidoc.sequencer.js.map +1 -0
  183. package/lib/module/modules/bt-management/services/devices/joytech/joytech.device.js +36 -0
  184. package/lib/module/modules/bt-management/services/devices/joytech/joytech.device.js.map +1 -0
  185. package/lib/module/modules/bt-management/services/devices/joytech/joytech.protocol.js +150 -0
  186. package/lib/module/modules/bt-management/services/devices/joytech/joytech.protocol.js.map +1 -0
  187. package/lib/module/modules/bt-management/services/devices/joytech/joytech.sequencer.js +60 -0
  188. package/lib/module/modules/bt-management/services/devices/joytech/joytech.sequencer.js.map +1 -0
  189. package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js +52 -0
  190. package/lib/module/modules/bt-management/services/devices/jumper/jumper.device.js.map +1 -0
  191. package/lib/module/modules/bt-management/services/devices/jumper/jumper.protocol.js +62 -0
  192. package/lib/module/modules/bt-management/services/devices/jumper/jumper.protocol.js.map +1 -0
  193. package/lib/module/modules/bt-management/services/devices/jumper/jumper.sequencer.js +57 -0
  194. package/lib/module/modules/bt-management/services/devices/jumper/jumper.sequencer.js.map +1 -0
  195. package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js +79 -0
  196. package/lib/module/modules/bt-management/services/devices/live-oximeter.sequencer.js.map +1 -0
  197. package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js +22 -8
  198. package/lib/module/modules/bt-management/services/devices/polling-command-sequencer.js.map +1 -1
  199. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +6 -2
  200. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
  201. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +149 -0
  202. package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -0
  203. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.device.js +67 -0
  204. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.device.js.map +1 -0
  205. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.protocol.js +94 -0
  206. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.protocol.js.map +1 -0
  207. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.records.js +125 -0
  208. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.records.js.map +1 -0
  209. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js +142 -0
  210. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.sequencer.js.map +1 -0
  211. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.session.js +85 -0
  212. package/lib/module/modules/bt-management/services/devices/transtek/transtek-command.session.js.map +1 -0
  213. package/lib/module/modules/bt-management/types/custom-device-definition.js +2 -0
  214. package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
  215. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  216. package/lib/module/modules/bt-management/types/integrated-devices.js +15 -0
  217. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  218. package/lib/module/modules/bt-management/utils/device-title.js +5 -1
  219. package/lib/module/modules/bt-management/utils/device-title.js.map +1 -1
  220. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts +5 -0
  222. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +15 -1
  224. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts +5 -0
  227. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts.map +1 -0
  228. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts +5 -0
  229. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts.map +1 -0
  230. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts +5 -0
  231. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts.map +1 -0
  232. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts +9 -0
  233. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -0
  234. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts +5 -0
  235. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts.map +1 -0
  236. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts +15 -0
  237. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -0
  238. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +8 -0
  239. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  240. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/src/modules/bt-management/constants/aoj-device-variants.d.ts +5 -0
  242. package/lib/typescript/commonjs/src/modules/bt-management/constants/aoj-device-variants.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts +23 -0
  244. package/lib/typescript/commonjs/src/modules/bt-management/constants/device-variants.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/src/modules/bt-management/constants/famidoc-device-variants.d.ts +5 -0
  246. package/lib/typescript/commonjs/src/modules/bt-management/constants/famidoc-device-variants.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/src/modules/bt-management/constants/joytech-device-variants.d.ts +5 -0
  249. package/lib/typescript/commonjs/src/modules/bt-management/constants/joytech-device-variants.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/src/modules/bt-management/constants/jumper-device-variants.d.ts +5 -0
  251. package/lib/typescript/commonjs/src/modules/bt-management/constants/jumper-device-variants.d.ts.map +1 -0
  252. package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts +10 -0
  253. package/lib/typescript/commonjs/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -0
  254. package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-device-variants.d.ts +10 -0
  255. package/lib/typescript/commonjs/src/modules/bt-management/constants/transtek-device-variants.d.ts.map +1 -0
  256. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +3 -0
  257. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +21 -0
  261. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/src/modules/bt-management/services/device-secrets.d.ts +22 -0
  263. package/lib/typescript/commonjs/src/modules/bt-management/services/device-secrets.d.ts.map +1 -0
  264. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts +17 -0
  265. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts.map +1 -0
  266. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts +16 -0
  267. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts.map +1 -0
  268. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts +54 -0
  269. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts.map +1 -0
  270. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts +36 -0
  271. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts.map +1 -0
  272. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +1 -1
  273. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +3 -0
  275. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -1
  277. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -2
  280. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts +16 -0
  282. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts +56 -0
  284. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts +34 -0
  286. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts +16 -0
  288. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts +43 -0
  290. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts +23 -0
  292. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts +18 -0
  294. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts +32 -0
  296. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts +22 -0
  298. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +33 -0
  300. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +4 -2
  302. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -1
  304. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts +7 -0
  306. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts +21 -0
  308. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts +51 -0
  310. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts +33 -0
  312. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts +49 -0
  314. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts +39 -0
  316. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +4 -2
  318. package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -1
  320. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts +6 -0
  322. package/lib/typescript/commonjs/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -1
  323. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +5 -0
  324. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +15 -0
  326. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +16 -1
  328. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/src/modules/bt-management/types/service.type.d.ts +6 -0
  330. package/lib/typescript/commonjs/src/modules/bt-management/types/service.type.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/src/modules/bt-management/types/write-characteristic.d.ts +2 -0
  332. package/lib/typescript/commonjs/src/modules/bt-management/types/write-characteristic.d.ts.map +1 -1
  333. package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts +2 -1
  334. package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts.map +1 -1
  335. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  336. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts +5 -0
  337. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-aoj-variants.d.ts.map +1 -0
  338. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +15 -1
  339. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  340. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-entries.d.ts.map +1 -1
  341. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts +5 -0
  342. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-famidoc-variants.d.ts.map +1 -0
  343. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts +5 -0
  344. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-joytech-variants.d.ts.map +1 -0
  345. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts +5 -0
  346. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-jumper-variants.d.ts.map +1 -0
  347. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts +9 -0
  348. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-standard-variants.d.ts.map +1 -0
  349. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts +5 -0
  350. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-transtek-variants.d.ts.map +1 -0
  351. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts +15 -0
  352. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-variants.d.ts.map +1 -0
  353. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +8 -0
  354. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  355. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  356. package/lib/typescript/module/src/modules/bt-management/constants/aoj-device-variants.d.ts +5 -0
  357. package/lib/typescript/module/src/modules/bt-management/constants/aoj-device-variants.d.ts.map +1 -0
  358. package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts +23 -0
  359. package/lib/typescript/module/src/modules/bt-management/constants/device-variants.d.ts.map +1 -0
  360. package/lib/typescript/module/src/modules/bt-management/constants/famidoc-device-variants.d.ts +5 -0
  361. package/lib/typescript/module/src/modules/bt-management/constants/famidoc-device-variants.d.ts.map +1 -0
  362. package/lib/typescript/module/src/modules/bt-management/constants/integrated-devices-map.d.ts.map +1 -1
  363. package/lib/typescript/module/src/modules/bt-management/constants/joytech-device-variants.d.ts +5 -0
  364. package/lib/typescript/module/src/modules/bt-management/constants/joytech-device-variants.d.ts.map +1 -0
  365. package/lib/typescript/module/src/modules/bt-management/constants/jumper-device-variants.d.ts +5 -0
  366. package/lib/typescript/module/src/modules/bt-management/constants/jumper-device-variants.d.ts.map +1 -0
  367. package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts +10 -0
  368. package/lib/typescript/module/src/modules/bt-management/constants/standard-device-variants.d.ts.map +1 -0
  369. package/lib/typescript/module/src/modules/bt-management/constants/transtek-device-variants.d.ts +10 -0
  370. package/lib/typescript/module/src/modules/bt-management/constants/transtek-device-variants.d.ts.map +1 -0
  371. package/lib/typescript/module/src/modules/bt-management/index.d.ts +3 -0
  372. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  373. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -1
  374. package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
  375. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +21 -0
  376. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  377. package/lib/typescript/module/src/modules/bt-management/services/device-secrets.d.ts +22 -0
  378. package/lib/typescript/module/src/modules/bt-management/services/device-secrets.d.ts.map +1 -0
  379. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts +17 -0
  380. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-70b.device.d.ts.map +1 -0
  381. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts +16 -0
  382. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.device.d.ts.map +1 -0
  383. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts +54 -0
  384. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.protocol.d.ts.map +1 -0
  385. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts +36 -0
  386. package/lib/typescript/module/src/modules/bt-management/services/devices/aoj/aoj-bp.sequencer.d.ts.map +1 -0
  387. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts +1 -1
  388. package/lib/typescript/module/src/modules/bt-management/services/devices/blood-glucose/blood-glucose.device.d.ts.map +1 -1
  389. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +3 -0
  390. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  391. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts +1 -1
  392. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-data-processor.d.ts.map +1 -1
  393. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  394. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +3 -2
  395. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
  396. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts +16 -0
  397. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.device.d.ts.map +1 -0
  398. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts +56 -0
  399. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.protocol.d.ts.map +1 -0
  400. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts +34 -0
  401. package/lib/typescript/module/src/modules/bt-management/services/devices/famidoc/famidoc.sequencer.d.ts.map +1 -0
  402. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts +16 -0
  403. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.device.d.ts.map +1 -0
  404. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts +43 -0
  405. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.protocol.d.ts.map +1 -0
  406. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts +23 -0
  407. package/lib/typescript/module/src/modules/bt-management/services/devices/joytech/joytech.sequencer.d.ts.map +1 -0
  408. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts +18 -0
  409. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.device.d.ts.map +1 -0
  410. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts +32 -0
  411. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.protocol.d.ts.map +1 -0
  412. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts +22 -0
  413. package/lib/typescript/module/src/modules/bt-management/services/devices/jumper/jumper.sequencer.d.ts.map +1 -0
  414. package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts +33 -0
  415. package/lib/typescript/module/src/modules/bt-management/services/devices/live-oximeter.sequencer.d.ts.map +1 -0
  416. package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts +4 -2
  417. package/lib/typescript/module/src/modules/bt-management/services/devices/polling-command-sequencer.d.ts.map +1 -1
  418. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +2 -1
  419. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
  420. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts +7 -0
  421. package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -0
  422. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts +21 -0
  423. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.device.d.ts.map +1 -0
  424. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts +51 -0
  425. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.protocol.d.ts.map +1 -0
  426. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts +33 -0
  427. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.records.d.ts.map +1 -0
  428. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts +49 -0
  429. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.sequencer.d.ts.map +1 -0
  430. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts +39 -0
  431. package/lib/typescript/module/src/modules/bt-management/services/devices/transtek/transtek-command.session.d.ts.map +1 -0
  432. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +4 -2
  433. package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
  434. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -1
  435. package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
  436. package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts +6 -0
  437. package/lib/typescript/module/src/modules/bt-management/types/custom-service-spec.d.ts.map +1 -1
  438. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +5 -0
  439. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  440. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +15 -0
  441. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  442. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +16 -1
  443. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  444. package/lib/typescript/module/src/modules/bt-management/types/service.type.d.ts +6 -0
  445. package/lib/typescript/module/src/modules/bt-management/types/service.type.d.ts.map +1 -1
  446. package/lib/typescript/module/src/modules/bt-management/types/write-characteristic.d.ts +2 -0
  447. package/lib/typescript/module/src/modules/bt-management/types/write-characteristic.d.ts.map +1 -1
  448. package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts +2 -1
  449. package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts.map +1 -1
  450. package/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable import/group-exports */
4
+
5
+ import { hexToByte } from "../../../utils/hex-to-byte.js";
6
+ import { le32FromHex } from "../../../utils/le-32-from-hex.js";
7
+
8
+ /**
9
+ * The Transtek / LifeSense "command" protocol (generations A2 and A3) spoken by Transtek's
10
+ * white-label blood-pressure monitors, scales and the 405A0 activity tracker.
11
+ *
12
+ * Layouts are from MedM Health Diary 3.12.11's `CTranstekCommandDevice` family. There is no
13
+ * framing: one notification is one message, every integer is little-endian, and the device
14
+ * never acknowledges a command - the app moves on by timers.
15
+ *
16
+ * Generation is picked by which primary service the device has: A2 or A3 for each kind.
17
+ */
18
+ const sig16 = assigned => `0000${assigned}-0000-1000-8000-00805f9b34fb`;
19
+ export const TRANSTEK_SERVICES = {
20
+ bloodPressureA2: sig16("7809"),
21
+ bloodPressureA3: sig16("7889"),
22
+ scaleA2: sig16("7802"),
23
+ scaleA3: sig16("7892"),
24
+ tracker: sig16("7801")
25
+ };
26
+ export const TRANSTEK_CHARACTERISTICS = {
27
+ command: sig16("8a81"),
28
+ answer: sig16("8a82"),
29
+ bloodPressure: sig16("8a91"),
30
+ weightA2: sig16("8a21"),
31
+ weightA3: sig16("8a24"),
32
+ tracker: sig16("8a11")
33
+ };
34
+
35
+ /** Device-to-app opcodes on the answer characteristic. */
36
+ export const ANSWER = {
37
+ password: 0xa0,
38
+ random: 0xa1,
39
+ userCount: 0x83,
40
+ userInfo: 0xc0
41
+ };
42
+
43
+ /** Seconds since this local wall-clock instant are how both directions carry time. */
44
+ const EPOCH_UTC_MS = Date.UTC(2010, 0, 1);
45
+ const toHex = bytes => bytes.map(value => (value & 0xff).toString(16).padStart(2, "0"));
46
+ const le32 = value => [value & 0xff, value >>> 8 & 0xff, value >>> 16 & 0xff, value >>> 24 & 0xff];
47
+ export const u32 = (frame, index) => le32FromHex([...frame], index) >>> 0;
48
+ export const u16 = (frame, index) => hexToByte(frame[index] ?? "00") | hexToByte(frame[index + 1] ?? "00") << 8;
49
+ export const opcode = frame => hexToByte(frame[0] ?? "00");
50
+
51
+ /** A device timestamp, read as the phone's local wall-clock time. */
52
+ export const transtekTime = seconds => {
53
+ const wall = new Date(EPOCH_UTC_MS + seconds * 1000);
54
+ return new Date(wall.getUTCFullYear(), wall.getUTCMonth(), wall.getUTCDate(), wall.getUTCHours(), wall.getUTCMinutes(), wall.getUTCSeconds());
55
+ };
56
+
57
+ /** The phone's local wall-clock time as device seconds; the device has no timezone. */
58
+ export const transtekSeconds = now => Math.floor((Date.UTC(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes(), now.getSeconds()) - EPOCH_UTC_MS) / 1000);
59
+ export const readPassword = frame => u32(frame, 1);
60
+ export const readRandom = frame => u32(frame, 1);
61
+
62
+ /** `21 FF 00 00 UU`: sent after the pairing password. */
63
+ export const accountIdCommand = user => toHex([0x21, 0xff, 0x00, 0x00, user]);
64
+
65
+ /** `20` + (password XOR random): proves this phone holds the device's password. */
66
+ export const verificationCommand = (password, random) => toHex([0x20, ...le32((password ^ random) >>> 0)]);
67
+ export const setTimeCommand = now => toHex([0x02, ...le32(transtekSeconds(now))]);
68
+
69
+ /** `22`: the app is done with this session. */
70
+ export const endSessionCommand = () => toHex([0x22]);
71
+
72
+ /** `03 UU` + an 18-byte, space-padded user name (A3 pairing). */
73
+ export const bindUserCommand = (user, name) => {
74
+ const bytes = Array.from(name.slice(0, 18), char => char.charCodeAt(0) & 0x7f);
75
+ return toHex([0x03, user, ...bytes, ...Array(18 - bytes.length).fill(0x20)]);
76
+ };
77
+
78
+ /**
79
+ * `51`: the A3 scale's user profile. The SDK has no patient profile, so it sends the same
80
+ * defaults MedM falls back to - male, 30 years, 175 cm, kilograms, no goal. They feed only
81
+ * the scale's own body-composition estimate, never the weight.
82
+ */
83
+ export const scaleProfileCommand = (user, heightInCentimetres) => {
84
+ const heightCm = 175;
85
+ const height = heightInCentimetres ? [heightCm & 0xff, 0xe0 + (heightCm >> 8)] : [heightCm * 10 & 0xff, 0xd0 | heightCm * 10 >> 8];
86
+ return toHex([0x51, 0x17, user, 0x01, 30, ...height, 0x00, 0x00, 0x00, 0x00, 0x00]);
87
+ };
88
+
89
+ /** `40 00`: tracker configuration, leaving stored data in place. */
90
+ export const trackerConfigurationCommand = () => toHex([0x40, 0x00]);
91
+
92
+ /** `05`: tracker user data - 70 kg and 1.75 m, the same defaults as the scale profile. */
93
+ export const trackerUserDataCommand = () => toHex([0x05, 0x0a, 0x00, ...[7000 & 0xff, 7000 >> 8], 0x00, 0xfe, 175 & 0xff, 0xe0]);
94
+ //# sourceMappingURL=transtek-command.protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["hexToByte","le32FromHex","sig16","assigned","TRANSTEK_SERVICES","bloodPressureA2","bloodPressureA3","scaleA2","scaleA3","tracker","TRANSTEK_CHARACTERISTICS","command","answer","bloodPressure","weightA2","weightA3","ANSWER","password","random","userCount","userInfo","EPOCH_UTC_MS","Date","UTC","toHex","bytes","map","value","toString","padStart","le32","u32","frame","index","u16","opcode","transtekTime","seconds","wall","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","transtekSeconds","now","Math","floor","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","readPassword","readRandom","accountIdCommand","user","verificationCommand","setTimeCommand","endSessionCommand","bindUserCommand","name","Array","from","slice","char","charCodeAt","length","fill","scaleProfileCommand","heightInCentimetres","heightCm","height","trackerConfigurationCommand","trackerUserDataCommand"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/transtek/transtek-command.protocol.ts"],"mappings":"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","ignoreList":[]}
@@ -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":[]}
@@ -2,6 +2,8 @@
2
2
 
3
3
  import { CUSTOM_DEVICE_BRAND } from "../constants/custom-device-brand.js";
4
4
 
5
+ /** Adds metadata to a validated reading; `null` withholds it, for a frame that is not a patient reading. */
6
+
5
7
  /**
6
8
  * A validated, ready-to-run custom device. Only defineCustomDevice produces one.
7
9
  */
@@ -1 +1 @@
1
- {"version":3,"names":["CUSTOM_DEVICE_BRAND"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/custom-device-definition.ts"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,qCAAkC;;AAgCtE;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["CUSTOM_DEVICE_BRAND"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/custom-device-definition.ts"],"mappings":";;AAEA,SAASA,mBAAmB,QAAQ,qCAAkC;;AAetE;;AAkBA;AACA;AACA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAiBA,SAASA,iBAAiB,QAAQ,yBAAsB;;AAkHxD;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/device-measurement-map.ts"],"mappings":";;AAiBA,SAASA,iBAAiB,QAAQ,yBAAsB;;AAiIxD;AACA;AACA;AACA","ignoreList":[]}
@@ -58,6 +58,21 @@ export let IntegratedDevices = /*#__PURE__*/function (IntegratedDevices) {
58
58
  IntegratedDevices["SA10AW_PU"] = "SA10AW-PU";
59
59
  IntegratedDevices["PF10BW_VE"] = "PF10BW-VE";
60
60
  IntegratedDevices["TRASENSE_S9"] = "Trasense S9";
61
+ IntegratedDevices["TRANSTEK_BPM"] = "Transtek BPM";
62
+ IntegratedDevices["TRANSTEK_SCALE"] = "Transtek Scale";
63
+ IntegratedDevices["TRANSTEK_SCALE_1525"] = "Transtek Scale 1525";
64
+ IntegratedDevices["TRANSTEK_TRACKER"] = "Transtek Tracker";
65
+ IntegratedDevices["FAMIDOC_BPM"] = "Famidoc BPM";
66
+ IntegratedDevices["FAMIDOC_IR_THERMOMETER"] = "Famidoc IR Thermometer";
67
+ IntegratedDevices["FAMIDOC_CONTACT_THERMOMETER"] = "Famidoc Contact Thermometer";
68
+ IntegratedDevices["AOJ_BPM"] = "AOJ BPM";
69
+ IntegratedDevices["AOJ_BPM_FFF0"] = "AOJ BPM FFF0";
70
+ IntegratedDevices["AOJ_70B"] = "AOJ-70B";
71
+ IntegratedDevices["JUMPER_OXIMETER"] = "Jumper Oximeter";
72
+ IntegratedDevices["JUMPER_BPM"] = "Jumper BPM";
73
+ IntegratedDevices["JUMPER_THERMOMETER"] = "Jumper Thermometer";
74
+ IntegratedDevices["JOYTECH_BPM"] = "Joytech BPM";
75
+ IntegratedDevices["JOYTECH_THERMOMETER"] = "Joytech Thermometer";
61
76
  return IntegratedDevices;
62
77
  }({});
63
78
  //# sourceMappingURL=integrated-devices.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/integrated-devices.ts"],"mappings":";;AAAA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["IntegratedDevices"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/integrated-devices.ts"],"mappings":";;AAAA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
@@ -3,11 +3,15 @@
3
3
  import { SUPPORTED_DEVICES } from "../../bt-device/constants/supported-devices.js";
4
4
  /**
5
5
  * Returns the most useful human-readable name for a connected device.
6
- * Known integrated and catalog devices keep their product name even when the
6
+ * A product sharing a parser with other brands is named by its variant. Known
7
+ * integrated and catalog devices keep their product name even when the
7
8
  * peripheral reports a radio-module manufacturer and model. Unknown devices
8
9
  * fall back to their reported identity and then their advertised name.
9
10
  */
10
11
  export const deviceTitle = deviceData => {
12
+ if (deviceData.variant) {
13
+ return deviceData.variant.model;
14
+ }
11
15
  const catalogTitle = SUPPORTED_DEVICES.find(({
12
16
  acceptedDevices
13
17
  }) => acceptedDevices.some(acceptedDevice => typeof acceptedDevice === "string" ? acceptedDevice === deviceData.name : acceptedDevice.id === deviceData.name))?.name;
@@ -1 +1 @@
1
- {"version":3,"names":["SUPPORTED_DEVICES","deviceTitle","deviceData","catalogTitle","find","acceptedDevices","some","acceptedDevice","name","id","reportedModelTitle","manufacturerName","model","filter","Boolean","join","trim","localName","String"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/device-title.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,gDAA6C;AAG/E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAIC,UAAsB,IAAa;EAC7D,MAAMC,YAAY,GAAGH,iBAAiB,CAACI,IAAI,CAAC,CAAC;IAAEC;EAAgB,CAAC,KAC9DA,eAAe,CAACC,IAAI,CAAEC,cAAc,IAClC,OAAOA,cAAc,KAAK,QAAQ,GAC9BA,cAAc,KAAKL,UAAU,CAACM,IAAI,GAClCD,cAAc,CAACE,EAAE,KAAKP,UAAU,CAACM,IACvC,CACF,CAAC,EAAEA,IAAI;EAEP,IAAIL,YAAY,EAAE;IAChB,OAAOA,YAAY;EACrB;EAEA,MAAMO,kBAAkB,GAAG,CAACR,UAAU,CAACS,gBAAgB,EAAET,UAAU,CAACU,KAAK,CAAC,CACvEC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC,CACTC,IAAI,CAAC,CAAC;EAET,IAAId,UAAU,CAACU,KAAK,EAAEI,IAAI,CAAC,CAAC,EAAE;IAC5B,OAAON,kBAAkB;EAC3B;EAEA,OAAOR,UAAU,CAACe,SAAS,IAAIC,MAAM,CAAChB,UAAU,CAACM,IAAI,CAAC,IAAIN,UAAU,CAACS,gBAAgB,IAAI,kBAAkB;AAC7G,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["SUPPORTED_DEVICES","deviceTitle","deviceData","variant","model","catalogTitle","find","acceptedDevices","some","acceptedDevice","name","id","reportedModelTitle","manufacturerName","filter","Boolean","join","trim","localName","String"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/utils/device-title.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,gDAA6C;AAG/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAIC,UAAsB,IAAa;EAC7D,IAAIA,UAAU,CAACC,OAAO,EAAE;IACtB,OAAOD,UAAU,CAACC,OAAO,CAACC,KAAK;EACjC;EAEA,MAAMC,YAAY,GAAGL,iBAAiB,CAACM,IAAI,CAAC,CAAC;IAAEC;EAAgB,CAAC,KAC9DA,eAAe,CAACC,IAAI,CAAEC,cAAc,IAClC,OAAOA,cAAc,KAAK,QAAQ,GAC9BA,cAAc,KAAKP,UAAU,CAACQ,IAAI,GAClCD,cAAc,CAACE,EAAE,KAAKT,UAAU,CAACQ,IACvC,CACF,CAAC,EAAEA,IAAI;EAEP,IAAIL,YAAY,EAAE;IAChB,OAAOA,YAAY;EACrB;EAEA,MAAMO,kBAAkB,GAAG,CAACV,UAAU,CAACW,gBAAgB,EAAEX,UAAU,CAACE,KAAK,CAAC,CACvEU,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC,CACTC,IAAI,CAAC,CAAC;EAET,IAAIf,UAAU,CAACE,KAAK,EAAEa,IAAI,CAAC,CAAC,EAAE;IAC5B,OAAOL,kBAAkB;EAC3B;EAEA,OAAOV,UAAU,CAACgB,SAAS,IAAIC,MAAM,CAACjB,UAAU,CAACQ,IAAI,CAAC,IAAIR,UAAU,CAACW,gBAAgB,IAAI,kBAAkB;AAC7G,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"device-instruction-pdfs.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-instruction-pdfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAOjF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CA0DrE,CAAC"}
1
+ {"version":3,"file":"device-instruction-pdfs.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-instruction-pdfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAOjF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAyErE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { VariantArt } from "./supported-device-catalog-variants";
2
+ /** Catalog art for `AOJ_DEVICE_VARIANTS`, keyed by model. */
3
+ declare const AOJ_VARIANT_ART: Readonly<Record<string, VariantArt>>;
4
+ export { AOJ_VARIANT_ART };
5
+ //# sourceMappingURL=supported-device-catalog-aoj-variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supported-device-catalog-aoj-variants.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-aoj-variants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAStE,6DAA6D;AAC7D,QAAA,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CA+HzD,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -2,6 +2,20 @@ declare const verovalBpu26Image = "https://cdn.hartmann.info/product/40938_43.jp
2
2
  declare const verovalBpw26Image = "https://cdn.hartmann.info/product/40385_43.jpg";
3
3
  declare const verovalFusionImage = "https://cdn.hartmann.info/product/130436_43.jpg";
4
4
  declare const trasenseS9Illustration: string;
5
+ declare const bloodPressureMonitorIllustration: string;
6
+ declare const bloodPressureMonitorIllustrationCredit = "Original OVOK SDK illustration; generic blood pressure monitor artwork, not a manufacturer product photo.";
7
+ declare const thermometerIllustration: string;
8
+ declare const thermometerIllustrationCredit = "Original OVOK SDK illustration; generic thermometer artwork, not a manufacturer product photo.";
9
+ declare const ecgMonitorIllustration: string;
10
+ declare const ecgMonitorIllustrationCredit = "Original OVOK SDK illustration; generic ECG monitor artwork, not a manufacturer product photo.";
11
+ declare const weightScaleIllustration: string;
12
+ declare const weightScaleIllustrationCredit = "Original OVOK SDK illustration; generic weight scale artwork, not a manufacturer product photo.";
13
+ declare const pulseOximeterIllustration: string;
14
+ declare const pulseOximeterIllustrationCredit = "Original OVOK SDK illustration; generic pulse oximeter artwork, not a manufacturer product photo.";
15
+ declare const heartRateMonitorIllustration: string;
16
+ declare const heartRateMonitorIllustrationCredit = "Original OVOK SDK illustration; generic heart-rate strap artwork, not a manufacturer product photo.";
17
+ declare const glucometerIllustration: string;
18
+ declare const glucometerIllustrationCredit = "Original OVOK SDK illustration; generic blood glucose meter artwork, not a manufacturer product photo.";
5
19
  declare const trasenseS9IllustrationCredit = "Original OVOK SDK illustration; generic smartwatch artwork, not a manufacturer product photo.";
6
20
  declare const verovalActivityImage = "https://image-eo.winudf.com/v2/image/aW5mby52ZXJvdmFsLm1lZGkuY29ubmVjdF9pY29uXzE1MzUwMTcwMDVfMDYx/icon.png?w=360&fakeurl=1";
7
21
  declare const bosoMedicusSystemImage = "https://www.boso.de/fileadmin/_processed_/0/b/csm_medicus_system_1019_9ce057ffcc.png";
@@ -41,5 +55,5 @@ declare const cosinussCredit = "cosinuss\u00B0 official product page: https://ww
41
55
  declare const alivecorCredit = "AliveCor official KardiaMobile product page: https://www.alivecor.com/kardiamobile";
42
56
  declare const contecCredit = "Contec official BC401 product page: https://contechealth.com/collections/hot-sales/products/contec-bc401-handheld-urine-analyzer-11-parameter-600pcs-test-strip-bluetooth";
43
57
  declare const transtekCredit = "Transtek official product page: https://www.transtekmed.com/product/transtek-body-scale-gbs-2012-b1";
44
- export { alivecorCredit, aojCredit, bosoMedicusSystemCredit, bosoMedicusSystemImage, bundledAssetCredit, contecCredit, cosinussCredit, cyclotestMySenseCredit, cyclotestMySenseImage, foraCredit, hartmannBpu26Credit, hartmannBpw26Credit, hartmannFusionCredit, hartmannActivityCredit, hartmannDuoControlCredit, hartmannEcgCredit, taidocCredit, transtekCredit, trasenseS9Illustration, trasenseS9IllustrationCredit, viatomAojImage, viatomBodyScaleCredit, viatomBp2Image, viatomBp3Credit, viatomBp3Image, viatomBloodPressureCredit, viatomCheckmeCredit, viatomCheckmeImage, viatomEcgCredit, viatomEr1Image, viatomF4Image, viatomO2RingImage, viatomR20Credit, viatomR20Image, viatomR200Credit, viatomR200Image, viatomOximeterCredit, verovalBpu26Image, verovalBpw26Image, verovalFusionImage, verovalActivityImage, visomatComfortSoftBtCredit, visomatComfortSoftBtImage, };
58
+ export { alivecorCredit, aojCredit, bosoMedicusSystemCredit, bosoMedicusSystemImage, bundledAssetCredit, contecCredit, cosinussCredit, cyclotestMySenseCredit, cyclotestMySenseImage, foraCredit, bloodPressureMonitorIllustration, bloodPressureMonitorIllustrationCredit, thermometerIllustration, thermometerIllustrationCredit, ecgMonitorIllustration, ecgMonitorIllustrationCredit, weightScaleIllustration, weightScaleIllustrationCredit, pulseOximeterIllustration, pulseOximeterIllustrationCredit, heartRateMonitorIllustration, heartRateMonitorIllustrationCredit, glucometerIllustration, glucometerIllustrationCredit, hartmannBpu26Credit, hartmannBpw26Credit, hartmannFusionCredit, hartmannActivityCredit, hartmannDuoControlCredit, hartmannEcgCredit, taidocCredit, transtekCredit, trasenseS9Illustration, trasenseS9IllustrationCredit, viatomAojImage, viatomBodyScaleCredit, viatomBp2Image, viatomBp3Credit, viatomBp3Image, viatomBloodPressureCredit, viatomCheckmeCredit, viatomCheckmeImage, viatomEcgCredit, viatomEr1Image, viatomF4Image, viatomO2RingImage, viatomR20Credit, viatomR20Image, viatomR200Credit, viatomR200Image, viatomOximeterCredit, verovalBpu26Image, verovalBpw26Image, verovalFusionImage, verovalActivityImage, visomatComfortSoftBtCredit, visomatComfortSoftBtImage, };
45
59
  //# sourceMappingURL=supported-device-catalog-assets.d.ts.map