@ovok/native 1.6.55 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js +2 -1
  2. package/lib/commonjs/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  3. package/lib/commonjs/modules/bt-device/constants/device-list-items.js +7 -0
  4. package/lib/commonjs/modules/bt-device/constants/device-list-items.js.map +1 -1
  5. package/lib/commonjs/modules/bt-device/constants/supported-device-catalog-assets.js +3 -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-devices.js +11 -2
  8. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  9. package/lib/commonjs/modules/bt-management/core/resolve-device-key.js +6 -1
  10. package/lib/commonjs/modules/bt-management/core/resolve-device-key.js.map +1 -1
  11. package/lib/commonjs/modules/bt-management/index.js +48 -0
  12. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  13. package/lib/commonjs/modules/bt-management/services/bt-manager.js +9 -17
  14. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/device-classes.js +3 -1
  16. package/lib/commonjs/modules/bt-management/services/device-classes.js.map +1 -1
  17. package/lib/commonjs/modules/bt-management/services/device-creator.js +9 -7
  18. package/lib/commonjs/modules/bt-management/services/device-creator.js.map +1 -1
  19. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +1 -7
  20. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  21. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +1 -5
  22. package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  23. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +2 -8
  24. package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  25. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +17 -31
  26. package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  27. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js +1 -1
  28. package/lib/commonjs/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  29. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +2 -3
  30. package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -1
  31. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +8 -24
  32. package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  33. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +0 -3
  34. package/lib/commonjs/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  35. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9-advertisement.js +31 -0
  36. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9-advertisement.js.map +1 -0
  37. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9-frame-reader.js +27 -0
  38. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9-frame-reader.js.map +1 -0
  39. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9.command-sequencer.js +340 -0
  40. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9.command-sequencer.js.map +1 -0
  41. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9.device.js +74 -0
  42. package/lib/commonjs/modules/bt-management/services/devices/trasense/s9.device.js.map +1 -0
  43. package/lib/commonjs/modules/bt-management/types/clock-sync.js +1 -0
  44. package/lib/commonjs/modules/bt-management/types/clock-sync.js.map +1 -1
  45. package/lib/commonjs/modules/bt-management/types/integrated-devices.js +1 -0
  46. package/lib/commonjs/modules/bt-management/types/integrated-devices.js.map +1 -1
  47. package/lib/commonjs/modules/data-sync/index.js +15 -0
  48. package/lib/commonjs/modules/data-sync/index.js.map +1 -1
  49. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +25 -19
  50. package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  51. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +73 -17
  52. package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
  53. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js +14 -0
  54. package/lib/commonjs/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  55. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +45 -7
  56. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  57. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js +15 -2
  58. package/lib/commonjs/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  59. package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js +103 -8
  60. package/lib/commonjs/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
  61. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js +66 -23
  62. package/lib/commonjs/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  63. package/lib/commonjs/modules/data-sync/utils/get-total-records-count.js +4 -1
  64. package/lib/commonjs/modules/data-sync/utils/get-total-records-count.js.map +1 -1
  65. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js +3 -3
  66. package/lib/commonjs/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  67. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +364 -0
  68. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -0
  69. package/lib/commonjs/modules/data-sync/utils/health-units.js +13 -11
  70. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
  71. package/lib/commonjs/modules/data-sync/utils/healthkit-data-types.js +34 -0
  72. package/lib/commonjs/modules/data-sync/utils/healthkit-data-types.js.map +1 -0
  73. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js +2 -1
  74. package/lib/module/modules/bt-device/constants/device-instruction-pdfs.js.map +1 -1
  75. package/lib/module/modules/bt-device/constants/device-list-items.js +7 -0
  76. package/lib/module/modules/bt-device/constants/device-list-items.js.map +1 -1
  77. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js +3 -1
  78. package/lib/module/modules/bt-device/constants/supported-device-catalog-assets.js.map +1 -1
  79. package/lib/module/modules/bt-device/constants/supported-devices.js +12 -3
  80. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  81. package/lib/module/modules/bt-management/core/resolve-device-key.js +6 -1
  82. package/lib/module/modules/bt-management/core/resolve-device-key.js.map +1 -1
  83. package/lib/module/modules/bt-management/index.js +4 -0
  84. package/lib/module/modules/bt-management/index.js.map +1 -1
  85. package/lib/module/modules/bt-management/services/bt-manager.js +9 -17
  86. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  87. package/lib/module/modules/bt-management/services/device-classes.js +3 -1
  88. package/lib/module/modules/bt-management/services/device-classes.js.map +1 -1
  89. package/lib/module/modules/bt-management/services/device-creator.js +9 -7
  90. package/lib/module/modules/bt-management/services/device-creator.js.map +1 -1
  91. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +1 -7
  92. package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
  93. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +1 -5
  94. package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -1
  95. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +2 -8
  96. package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
  97. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +17 -31
  98. package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
  99. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js +1 -1
  100. package/lib/module/modules/bt-management/services/devices/bt-data-processor.js.map +1 -1
  101. package/lib/module/modules/bt-management/services/devices/bt-device-information.js +2 -3
  102. package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -1
  103. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +8 -24
  104. package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
  105. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js +0 -3
  106. package/lib/module/modules/bt-management/services/devices/custom/custom-lepu-sequencer.js.map +1 -1
  107. package/lib/module/modules/bt-management/services/devices/trasense/s9-advertisement.js +26 -0
  108. package/lib/module/modules/bt-management/services/devices/trasense/s9-advertisement.js.map +1 -0
  109. package/lib/module/modules/bt-management/services/devices/trasense/s9-frame-reader.js +22 -0
  110. package/lib/module/modules/bt-management/services/devices/trasense/s9-frame-reader.js.map +1 -0
  111. package/lib/module/modules/bt-management/services/devices/trasense/s9.command-sequencer.js +336 -0
  112. package/lib/module/modules/bt-management/services/devices/trasense/s9.command-sequencer.js.map +1 -0
  113. package/lib/module/modules/bt-management/services/devices/trasense/s9.device.js +69 -0
  114. package/lib/module/modules/bt-management/services/devices/trasense/s9.device.js.map +1 -0
  115. package/lib/module/modules/bt-management/types/clock-sync.js +1 -0
  116. package/lib/module/modules/bt-management/types/clock-sync.js.map +1 -1
  117. package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
  118. package/lib/module/modules/bt-management/types/integrated-devices.js +1 -0
  119. package/lib/module/modules/bt-management/types/integrated-devices.js.map +1 -1
  120. package/lib/module/modules/data-sync/index.js +1 -0
  121. package/lib/module/modules/data-sync/index.js.map +1 -1
  122. package/lib/module/modules/data-sync/services/base-health-sync-service.js +25 -19
  123. package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
  124. package/lib/module/modules/data-sync/services/managers/data-processor.js +74 -18
  125. package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
  126. package/lib/module/modules/data-sync/services/managers/storage-manager.js +14 -0
  127. package/lib/module/modules/data-sync/services/managers/storage-manager.js.map +1 -1
  128. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +45 -7
  129. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  130. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js +15 -2
  131. package/lib/module/modules/data-sync/utils/get-health-record-sync-id.js.map +1 -1
  132. package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js +103 -8
  133. package/lib/module/modules/data-sync/utils/get-records-from-health-connect.js.map +1 -1
  134. package/lib/module/modules/data-sync/utils/get-samples-from-health.js +66 -22
  135. package/lib/module/modules/data-sync/utils/get-samples-from-health.js.map +1 -1
  136. package/lib/module/modules/data-sync/utils/get-total-records-count.js +4 -1
  137. package/lib/module/modules/data-sync/utils/get-total-records-count.js.map +1 -1
  138. package/lib/module/modules/data-sync/utils/get-total-samples-count.js +2 -2
  139. package/lib/module/modules/data-sync/utils/get-total-samples-count.js.map +1 -1
  140. package/lib/module/modules/data-sync/utils/health-data-catalog.js +360 -0
  141. package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -0
  142. package/lib/module/modules/data-sync/utils/health-units.js +13 -11
  143. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
  144. package/lib/module/modules/data-sync/utils/healthkit-data-types.js +26 -0
  145. package/lib/module/modules/data-sync/utils/healthkit-data-types.js.map +1 -0
  146. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  147. package/lib/typescript/commonjs/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +3 -1
  149. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +7 -0
  151. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/src/modules/bt-management/core/resolve-device-key.d.ts +1 -1
  153. package/lib/typescript/commonjs/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
  154. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +4 -0
  155. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  156. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts +2 -0
  158. package/lib/typescript/commonjs/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts +1 -1
  160. package/lib/typescript/commonjs/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  162. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9-advertisement.d.ts +8 -0
  169. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9-advertisement.d.ts.map +1 -0
  170. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9-frame-reader.d.ts +7 -0
  171. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9-frame-reader.d.ts.map +1 -0
  172. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9.command-sequencer.d.ts +63 -0
  173. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9.command-sequencer.d.ts.map +1 -0
  174. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9.device.d.ts +18 -0
  175. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/trasense/s9.device.d.ts.map +1 -0
  176. package/lib/typescript/commonjs/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts +5 -1
  178. package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts +2 -0
  180. package/lib/typescript/commonjs/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +3 -0
  182. package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts +2 -1
  184. package/lib/typescript/commonjs/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  185. package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts +1 -0
  186. package/lib/typescript/commonjs/src/modules/data-sync/index.d.ts.map +1 -1
  187. package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +2 -1
  189. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -0
  191. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  193. package/lib/typescript/commonjs/src/modules/data-sync/types/convert-data-props.d.ts +2 -0
  194. package/lib/typescript/commonjs/src/modules/data-sync/types/convert-data-props.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/src/modules/data-sync/types/data-from-provider-result.d.ts +4 -0
  196. package/lib/typescript/commonjs/src/modules/data-sync/types/data-from-provider-result.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts +6 -1
  198. package/lib/typescript/commonjs/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts +1 -1
  200. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  201. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -1
  202. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts +49 -4
  205. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-records-count.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +30 -0
  209. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts +1 -1
  211. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts +11 -0
  213. package/lib/typescript/commonjs/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -0
  214. package/lib/typescript/module/src/modules/bt-device/constants/device-instruction-pdfs.d.ts.map +1 -1
  215. package/lib/typescript/module/src/modules/bt-device/constants/device-list-items.d.ts.map +1 -1
  216. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts +3 -1
  217. package/lib/typescript/module/src/modules/bt-device/constants/supported-device-catalog-assets.d.ts.map +1 -1
  218. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +7 -0
  219. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  220. package/lib/typescript/module/src/modules/bt-management/core/resolve-device-key.d.ts +1 -1
  221. package/lib/typescript/module/src/modules/bt-management/core/resolve-device-key.d.ts.map +1 -1
  222. package/lib/typescript/module/src/modules/bt-management/index.d.ts +4 -0
  223. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  224. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  225. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts +2 -0
  226. package/lib/typescript/module/src/modules/bt-management/services/device-classes.d.ts.map +1 -1
  227. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts +1 -1
  228. package/lib/typescript/module/src/modules/bt-management/services/device-creator.d.ts.map +1 -1
  229. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
  230. package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -1
  231. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
  232. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
  233. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -1
  234. package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
  235. package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom-lepu-sequencer.d.ts.map +1 -1
  236. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9-advertisement.d.ts +8 -0
  237. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9-advertisement.d.ts.map +1 -0
  238. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9-frame-reader.d.ts +7 -0
  239. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9-frame-reader.d.ts.map +1 -0
  240. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9.command-sequencer.d.ts +63 -0
  241. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9.command-sequencer.d.ts.map +1 -0
  242. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9.device.d.ts +18 -0
  243. package/lib/typescript/module/src/modules/bt-management/services/devices/trasense/s9.device.d.ts.map +1 -0
  244. package/lib/typescript/module/src/modules/bt-management/types/clock-sync.d.ts.map +1 -1
  245. package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts +5 -1
  246. package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -1
  247. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts +2 -0
  248. package/lib/typescript/module/src/modules/bt-management/types/device-data.d.ts.map +1 -1
  249. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +3 -0
  250. package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
  251. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts +2 -1
  252. package/lib/typescript/module/src/modules/bt-management/types/integrated-devices.d.ts.map +1 -1
  253. package/lib/typescript/module/src/modules/data-sync/index.d.ts +1 -0
  254. package/lib/typescript/module/src/modules/data-sync/index.d.ts.map +1 -1
  255. package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
  256. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +2 -1
  257. package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
  258. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts +2 -0
  259. package/lib/typescript/module/src/modules/data-sync/services/managers/storage-manager.d.ts.map +1 -1
  260. package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
  261. package/lib/typescript/module/src/modules/data-sync/types/convert-data-props.d.ts +2 -0
  262. package/lib/typescript/module/src/modules/data-sync/types/convert-data-props.d.ts.map +1 -1
  263. package/lib/typescript/module/src/modules/data-sync/types/data-from-provider-result.d.ts +4 -0
  264. package/lib/typescript/module/src/modules/data-sync/types/data-from-provider-result.d.ts.map +1 -1
  265. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts +6 -1
  266. package/lib/typescript/module/src/modules/data-sync/types/health-sync-props.d.ts.map +1 -1
  267. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts +1 -1
  268. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  269. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts +9 -1
  270. package/lib/typescript/module/src/modules/data-sync/utils/get-health-record-sync-id.d.ts.map +1 -1
  271. package/lib/typescript/module/src/modules/data-sync/utils/get-records-from-health-connect.d.ts.map +1 -1
  272. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts +49 -4
  273. package/lib/typescript/module/src/modules/data-sync/utils/get-samples-from-health.d.ts.map +1 -1
  274. package/lib/typescript/module/src/modules/data-sync/utils/get-total-records-count.d.ts.map +1 -1
  275. package/lib/typescript/module/src/modules/data-sync/utils/get-total-samples-count.d.ts.map +1 -1
  276. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +30 -0
  277. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -0
  278. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts +1 -1
  279. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  280. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts +11 -0
  281. package/lib/typescript/module/src/modules/data-sync/utils/healthkit-data-types.d.ts.map +1 -0
  282. package/package.json +1 -1
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable max-lines */
4
+
5
+ import { healthUnitFor } from "./health-units.js";
6
+ const HEALTH_CONNECT_PERMISSION_PREFIX = "android.permission.health.READ_";
7
+ const HEALTH_CONNECT_CODE_SYSTEM = "urn:ovok:health-connect:record-type";
8
+ const HEALTHKIT_CODE_SYSTEM = "urn:ovok:healthkit:sample-type";
9
+ const APPLE_HEALTH_IDENTIFIERS = {
10
+ height: "HKQuantityTypeIdentifierHeight",
11
+ bodyMass: "HKQuantityTypeIdentifierBodyMass",
12
+ bodyTemperature: "HKQuantityTypeIdentifierBodyTemperature",
13
+ systolicBloodPressure: "HKQuantityTypeIdentifierBloodPressureSystolic",
14
+ diastolicBloodPressure: "HKQuantityTypeIdentifierBloodPressureDiastolic",
15
+ heartRate: "HKQuantityTypeIdentifierHeartRate",
16
+ restingHeartRate: "HKQuantityTypeIdentifierRestingHeartRate",
17
+ heartRateVariabilitySDNN: "HKQuantityTypeIdentifierHeartRateVariabilitySDNN",
18
+ respiratoryRate: "HKQuantityTypeIdentifierRespiratoryRate",
19
+ stepCount: "HKQuantityTypeIdentifierStepCount"
20
+ };
21
+ const appleLoincMappings = {
22
+ [APPLE_HEALTH_IDENTIFIERS.height]: {
23
+ code: "8302-2",
24
+ display: "Body height",
25
+ sourceUrl: "https://loinc.org/8302-2",
26
+ modes: ["point"]
27
+ },
28
+ [APPLE_HEALTH_IDENTIFIERS.bodyMass]: {
29
+ code: "29463-7",
30
+ display: "Body weight",
31
+ sourceUrl: "https://loinc.org/29463-7",
32
+ modes: ["point"]
33
+ },
34
+ [APPLE_HEALTH_IDENTIFIERS.bodyTemperature]: {
35
+ code: "8310-5",
36
+ display: "Body temperature",
37
+ sourceUrl: "https://loinc.org/8310-5",
38
+ modes: ["point"]
39
+ },
40
+ [APPLE_HEALTH_IDENTIFIERS.systolicBloodPressure]: {
41
+ code: "8480-6",
42
+ display: "Systolic blood pressure",
43
+ sourceUrl: "https://loinc.org/8480-6",
44
+ modes: ["point"]
45
+ },
46
+ [APPLE_HEALTH_IDENTIFIERS.diastolicBloodPressure]: {
47
+ code: "8462-4",
48
+ display: "Diastolic blood pressure",
49
+ sourceUrl: "https://loinc.org/8462-4",
50
+ modes: ["point"]
51
+ },
52
+ [APPLE_HEALTH_IDENTIFIERS.heartRate]: {
53
+ code: "8867-4",
54
+ display: "Heart rate",
55
+ sourceUrl: "https://loinc.org/8867-4",
56
+ modes: ["point"]
57
+ },
58
+ [APPLE_HEALTH_IDENTIFIERS.restingHeartRate]: {
59
+ code: "40443-4",
60
+ display: "Heart rate --resting",
61
+ sourceUrl: "https://loinc.org/40443-4",
62
+ modes: ["point"]
63
+ },
64
+ [APPLE_HEALTH_IDENTIFIERS.heartRateVariabilitySDNN]: {
65
+ code: "112429-6",
66
+ display: "Heart rate variability SDNN [Time]",
67
+ sourceUrl: "https://loinc.org/112429-6",
68
+ modes: ["point"]
69
+ },
70
+ [APPLE_HEALTH_IDENTIFIERS.respiratoryRate]: {
71
+ code: "9279-1",
72
+ display: "Respiratory rate",
73
+ sourceUrl: "https://loinc.org/9279-1",
74
+ modes: ["point"]
75
+ }
76
+ };
77
+
78
+ // HKQuantityTypeIdentifier is type-only from the wrapper's shared native entry
79
+ // point. Keep the 8.7.2 identifiers here so the catalog is complete on Android,
80
+ // Jest, and other entry points where Object.values(enum) is empty.
81
+ const appleQuantityIdentifiers = ["HKQuantityTypeIdentifierBodyMassIndex", "HKQuantityTypeIdentifierBodyFatPercentage", "HKQuantityTypeIdentifierHeight", "HKQuantityTypeIdentifierBodyMass", "HKQuantityTypeIdentifierLeanBodyMass", "HKQuantityTypeIdentifierWaistCircumference", "HKQuantityTypeIdentifierStepCount", "HKQuantityTypeIdentifierDistanceWalkingRunning", "HKQuantityTypeIdentifierDistanceCycling", "HKQuantityTypeIdentifierDistanceWheelchair", "HKQuantityTypeIdentifierBasalEnergyBurned", "HKQuantityTypeIdentifierActiveEnergyBurned", "HKQuantityTypeIdentifierFlightsClimbed", "HKQuantityTypeIdentifierNikeFuel", "HKQuantityTypeIdentifierAppleExerciseTime", "HKQuantityTypeIdentifierPushCount", "HKQuantityTypeIdentifierDistanceSwimming", "HKQuantityTypeIdentifierSwimmingStrokeCount", "HKQuantityTypeIdentifierVO2Max", "HKQuantityTypeIdentifierDistanceDownhillSnowSports", "HKQuantityTypeIdentifierAppleStandTime", "HKQuantityTypeIdentifierHeartRate", "HKQuantityTypeIdentifierBodyTemperature", "HKQuantityTypeIdentifierBasalBodyTemperature", "HKQuantityTypeIdentifierBloodPressureSystolic", "HKQuantityTypeIdentifierBloodPressureDiastolic", "HKQuantityTypeIdentifierRespiratoryRate", "HKQuantityTypeIdentifierRestingHeartRate", "HKQuantityTypeIdentifierWalkingHeartRateAverage", "HKQuantityTypeIdentifierHeartRateVariabilitySDNN", "HKQuantityTypeIdentifierOxygenSaturation", "HKQuantityTypeIdentifierPeripheralPerfusionIndex", "HKQuantityTypeIdentifierBloodGlucose", "HKQuantityTypeIdentifierNumberOfTimesFallen", "HKQuantityTypeIdentifierElectrodermalActivity", "HKQuantityTypeIdentifierInhalerUsage", "HKQuantityTypeIdentifierInsulinDelivery", "HKQuantityTypeIdentifierBloodAlcoholContent", "HKQuantityTypeIdentifierForcedVitalCapacity", "HKQuantityTypeIdentifierForcedExpiratoryVolume1", "HKQuantityTypeIdentifierPeakExpiratoryFlowRate", "HKQuantityTypeIdentifierEnvironmentalAudioExposure", "HKQuantityTypeIdentifierHeadphoneAudioExposure", "HKQuantityTypeIdentifierDietaryFatTotal", "HKQuantityTypeIdentifierDietaryFatPolyunsaturated", "HKQuantityTypeIdentifierDietaryFatMonounsaturated", "HKQuantityTypeIdentifierDietaryFatSaturated", "HKQuantityTypeIdentifierDietaryCholesterol", "HKQuantityTypeIdentifierDietarySodium", "HKQuantityTypeIdentifierDietaryCarbohydrates", "HKQuantityTypeIdentifierDietaryFiber", "HKQuantityTypeIdentifierDietarySugar", "HKQuantityTypeIdentifierDietaryEnergyConsumed", "HKQuantityTypeIdentifierDietaryProtein", "HKQuantityTypeIdentifierDietaryVitaminA", "HKQuantityTypeIdentifierDietaryVitaminB6", "HKQuantityTypeIdentifierDietaryVitaminB12", "HKQuantityTypeIdentifierDietaryVitaminC", "HKQuantityTypeIdentifierDietaryVitaminD", "HKQuantityTypeIdentifierDietaryVitaminE", "HKQuantityTypeIdentifierDietaryVitaminK", "HKQuantityTypeIdentifierDietaryCalcium", "HKQuantityTypeIdentifierDietaryIron", "HKQuantityTypeIdentifierDietaryThiamin", "HKQuantityTypeIdentifierDietaryRiboflavin", "HKQuantityTypeIdentifierDietaryNiacin", "HKQuantityTypeIdentifierDietaryFolate", "HKQuantityTypeIdentifierDietaryBiotin", "HKQuantityTypeIdentifierDietaryPantothenicAcid", "HKQuantityTypeIdentifierDietaryPhosphorus", "HKQuantityTypeIdentifierDietaryIodine", "HKQuantityTypeIdentifierDietaryMagnesium", "HKQuantityTypeIdentifierDietaryZinc", "HKQuantityTypeIdentifierDietarySelenium", "HKQuantityTypeIdentifierDietaryCopper", "HKQuantityTypeIdentifierDietaryManganese", "HKQuantityTypeIdentifierDietaryChromium", "HKQuantityTypeIdentifierDietaryMolybdenum", "HKQuantityTypeIdentifierDietaryChloride", "HKQuantityTypeIdentifierDietaryPotassium", "HKQuantityTypeIdentifierDietaryCaffeine", "HKQuantityTypeIdentifierDietaryWater", "HKQuantityTypeIdentifierSixMinuteWalkTestDistance", "HKQuantityTypeIdentifierWalkingSpeed", "HKQuantityTypeIdentifierWalkingStepLength", "HKQuantityTypeIdentifierWalkingAsymmetryPercentage", "HKQuantityTypeIdentifierWalkingDoubleSupportPercentage", "HKQuantityTypeIdentifierStairAscentSpeed", "HKQuantityTypeIdentifierStairDescentSpeed", "HKQuantityTypeIdentifierUVExposure", "HKQuantityTypeIdentifierAppleMoveTime", "HKQuantityTypeIdentifierAppleWalkingSteadiness", "HKQuantityTypeIdentifierNumberOfAlcoholicBeverages", "HKQuantityTypeIdentifierAtrialFibrillationBurden", "HKQuantityTypeIdentifierUnderwaterDepth", "HKQuantityTypeIdentifierWaterTemperature", "HKQuantityTypeIdentifierAppleSleepingWristTemperature", "HKQuantityTypeIdentifierTimeInDaylight", "HKQuantityTypeIdentifierPhysicalEffort", "HKQuantityTypeIdentifierCyclingSpeed", "HKQuantityTypeIdentifierCyclingPower", "HKQuantityTypeIdentifierCyclingFunctionalThresholdPower", "HKQuantityTypeIdentifierCyclingCadence", "HKQuantityTypeIdentifierEnvironmentalSoundReduction", "HKQuantityTypeIdentifierHeartRateRecoveryOneMinute", "HKQuantityTypeIdentifierRunningGroundContactTime", "HKQuantityTypeIdentifierRunningStrideLength", "HKQuantityTypeIdentifierRunningPower", "HKQuantityTypeIdentifierRunningVerticalOscillation", "HKQuantityTypeIdentifierRunningSpeed", "HKQuantityTypeIdentifierCrossCountrySkiingSpeed", "HKQuantityTypeIdentifierDistanceCrossCountrySkiing", "HKQuantityTypeIdentifierDistancePaddleSports", "HKQuantityTypeIdentifierDistanceRowing", "HKQuantityTypeIdentifierDistanceSkatingSports", "HKQuantityTypeIdentifierEstimatedWorkoutEffortScore", "HKQuantityTypeIdentifierPaddleSportsSpeed", "HKQuantityTypeIdentifierRowingSpeed", "HKQuantityTypeIdentifierWorkoutEffortScore"];
82
+
83
+ // The HealthKit wrapper's native entry point does not export the category and
84
+ // correlation enums at runtime on every platform, so keep their identifiers as
85
+ // explicit catalog data instead of enumerating a platform-specific value.
86
+ const appleCategoryIdentifiers = ["HKCategoryTypeIdentifierSleepAnalysis", "HKCategoryTypeIdentifierAppleStandHour", "HKCategoryTypeIdentifierCervicalMucusQuality", "HKCategoryTypeIdentifierOvulationTestResult", "HKCategoryTypeIdentifierMenstrualFlow", "HKCategoryTypeIdentifierIntermenstrualBleeding", "HKCategoryTypeIdentifierSexualActivity", "HKCategoryTypeIdentifierMindfulSession", "HKCategoryTypeIdentifierHighHeartRateEvent", "HKCategoryTypeIdentifierLowHeartRateEvent", "HKCategoryTypeIdentifierIrregularHeartRhythmEvent", "HKCategoryTypeIdentifierAudioExposureEvent", "HKCategoryTypeIdentifierToothbrushingEvent", "HKCategoryTypeIdentifierLowCardioFitnessEvent", "HKCategoryTypeIdentifierContraceptive", "HKCategoryTypeIdentifierLactation", "HKCategoryTypeIdentifierPregnancy", "HKCategoryTypeIdentifierPregnancyTestResult", "HKCategoryTypeIdentifierProgesteroneTestResult", "HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent", "HKCategoryTypeIdentifierHeadphoneAudioExposureEvent", "HKCategoryTypeIdentifierAppleWalkingSteadinessEvent", "HKCategoryTypeIdentifierHandwashingEvent", "HKCategoryTypeIdentifierAbdominalCramps", "HKCategoryTypeIdentifierAcne", "HKCategoryTypeIdentifierAppetiteChanges", "HKCategoryTypeIdentifierBladderIncontinence", "HKCategoryTypeIdentifierBloating", "HKCategoryTypeIdentifierBreastPain", "HKCategoryTypeIdentifierChestTightnessOrPain", "HKCategoryTypeIdentifierChills", "HKCategoryTypeIdentifierConstipation", "HKCategoryTypeIdentifierCoughing", "HKCategoryTypeIdentifierDiarrhea", "HKCategoryTypeIdentifierDizziness", "HKCategoryTypeIdentifierDrySkin", "HKCategoryTypeIdentifierFainting", "HKCategoryTypeIdentifierFatigue", "HKCategoryTypeIdentifierFever", "HKCategoryTypeIdentifierGeneralizedBodyAche", "HKCategoryTypeIdentifierHairLoss", "HKCategoryTypeIdentifierHeadache", "HKCategoryTypeIdentifierHeartburn", "HKCategoryTypeIdentifierHotFlashes", "HKCategoryTypeIdentifierLossOfSmell", "HKCategoryTypeIdentifierLossOfTaste", "HKCategoryTypeIdentifierLowerBackPain", "HKCategoryTypeIdentifierMemoryLapse", "HKCategoryTypeIdentifierMoodChanges", "HKCategoryTypeIdentifierNausea", "HKCategoryTypeIdentifierNightSweats", "HKCategoryTypeIdentifierPelvicPain", "HKCategoryTypeIdentifierRapidPoundingOrFlutteringHeartbeat", "HKCategoryTypeIdentifierRunnyNose", "HKCategoryTypeIdentifierShortnessOfBreath", "HKCategoryTypeIdentifierSinusCongestion", "HKCategoryTypeIdentifierSkippedHeartbeat", "HKCategoryTypeIdentifierSleepChanges", "HKCategoryTypeIdentifierSoreThroat", "HKCategoryTypeIdentifierVaginalDryness", "HKCategoryTypeIdentifierVomiting", "HKCategoryTypeIdentifierWheezing", "HKCategoryTypeIdentifierBleedingAfterPregnancy", "HKCategoryTypeIdentifierBleedingDuringPregnancy"];
87
+ const appleCorrelationIdentifiers = ["HKCorrelationTypeIdentifierBloodPressure", "HKCorrelationTypeIdentifierFood"];
88
+ const healthConnectLoincMappings = {
89
+ Height: appleLoincMappings[APPLE_HEALTH_IDENTIFIERS.height],
90
+ Weight: appleLoincMappings[APPLE_HEALTH_IDENTIFIERS.bodyMass],
91
+ HeartRate: appleLoincMappings[APPLE_HEALTH_IDENTIFIERS.heartRate],
92
+ RestingHeartRate: appleLoincMappings[APPLE_HEALTH_IDENTIFIERS.restingHeartRate],
93
+ RespiratoryRate: appleLoincMappings[APPLE_HEALTH_IDENTIFIERS.respiratoryRate],
94
+ BodyWaterMass: {
95
+ code: "101683-1",
96
+ display: "Body water mass",
97
+ sourceUrl: "https://loinc.org/101683-1",
98
+ modes: ["point"]
99
+ }
100
+ };
101
+ const appleSupportedSamples = [...appleQuantityIdentifiers.map(identifier => ({
102
+ provider: "apple-health",
103
+ identifier,
104
+ category: "quantity",
105
+ shape: "sample",
106
+ readPermission: identifier,
107
+ readStrategy: "Anchored HealthKit quantity query",
108
+ fhirResource: "Observation",
109
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
110
+ unit: healthUnitFor(identifier) ?? "HealthKit preferred unit",
111
+ loincMapping: appleLoincMappings[identifier]
112
+ })), ...appleCategoryIdentifiers.map(identifier => ({
113
+ provider: "apple-health",
114
+ identifier,
115
+ category: "category",
116
+ shape: "interval",
117
+ readPermission: identifier,
118
+ readStrategy: "Anchored HealthKit category query",
119
+ fhirResource: "Observation",
120
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
121
+ unit: "not applicable"
122
+ })), ...appleCorrelationIdentifiers.map(identifier => ({
123
+ provider: "apple-health",
124
+ identifier,
125
+ category: "correlation",
126
+ shape: "sample",
127
+ readPermission: identifier,
128
+ readStrategy: "Non-anchored HealthKit date-window query",
129
+ fhirResource: "Observation",
130
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
131
+ unit: "record-specific",
132
+ limitation: "This wrapper does not expose a correlation anchor or deleted-sample cursor."
133
+ })), {
134
+ provider: "apple-health",
135
+ identifier: "HKWorkoutTypeIdentifier",
136
+ category: "workout",
137
+ shape: "interval",
138
+ readPermission: "HKWorkoutTypeIdentifier",
139
+ readStrategy: "Anchored HealthKit workout query",
140
+ fhirResource: "Observation",
141
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
142
+ unit: "record-specific"
143
+ }, {
144
+ provider: "apple-health",
145
+ identifier: "HKDataTypeIdentifierHeartbeatSeries",
146
+ category: "series",
147
+ shape: "series",
148
+ readPermission: "HKDataTypeIdentifierHeartbeatSeries",
149
+ readStrategy: "Anchored HealthKit heartbeat-series query",
150
+ fhirResource: "Observation",
151
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
152
+ unit: "count/min"
153
+ }, {
154
+ provider: "apple-health",
155
+ identifier: "HKStateOfMindTypeIdentifier",
156
+ category: "state of mind",
157
+ shape: "sample",
158
+ readPermission: "HKStateOfMindTypeIdentifier",
159
+ readStrategy: "Non-anchored HealthKit date-window query",
160
+ fhirResource: "Observation",
161
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
162
+ unit: "not applicable",
163
+ limitation: "Requires iOS 18 or later; this wrapper does not expose an anchor or deleted-sample cursor."
164
+ }];
165
+ const appleExcludedTypes = [{
166
+ provider: "apple-health",
167
+ identifier: "HKElectrocardiogramType",
168
+ category: "electrocardiogram",
169
+ shape: "series",
170
+ readPermission: "HKObjectType.electrocardiogramType()",
171
+ readStrategy: "not exposed by the pinned wrapper",
172
+ fhirResource: "Observation",
173
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
174
+ unit: "ECG samples",
175
+ limitation: "HealthKit exposes read-only ECG samples, but the pinned wrapper does not expose an ECG query or voltage-series serializer."
176
+ }, ...["AllergyRecord", "ClinicalNoteRecord", "ConditionRecord", "ImmunizationRecord", "LabResultRecord", "MedicationRecord", "ProcedureRecord", "VitalSignRecord", "CoverageRecord"].map(type => ({
177
+ provider: "apple-health",
178
+ identifier: `HKClinicalTypeIdentifier${type}`,
179
+ category: "clinical record",
180
+ shape: "sample",
181
+ readPermission: `HKObjectType.clinicalType(forIdentifier: .${type[0]?.toLowerCase()}${type.slice(1)})`,
182
+ readStrategy: "not exposed by the pinned wrapper",
183
+ fhirResource: "FHIR resource",
184
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
185
+ unit: "FHIR JSON",
186
+ limitation: "HealthKit clinical records contain source FHIR resources and require per-type authorization; the pinned wrapper exposes neither the query nor FHIR-resource serializer."
187
+ })), {
188
+ provider: "apple-health",
189
+ identifier: "HKDocumentTypeIdentifierCDA",
190
+ category: "clinical document",
191
+ shape: "sample",
192
+ readPermission: "HKObjectType.documentType(forIdentifier: .CDA)",
193
+ readStrategy: "not exposed by the pinned wrapper",
194
+ fhirResource: "FHIR resource",
195
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
196
+ unit: "CDA document",
197
+ limitation: "The pinned wrapper does not expose HealthKit document queries or a CDA document importer."
198
+ }, {
199
+ provider: "apple-health",
200
+ identifier: "HKVisionPrescriptionTypeIdentifier",
201
+ category: "vision prescription",
202
+ shape: "sample",
203
+ readPermission: "HKObjectType.visionPrescriptionType()",
204
+ readStrategy: "not exposed by the pinned wrapper",
205
+ fhirResource: "Observation",
206
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
207
+ unit: "prescription-specific",
208
+ limitation: "The pinned wrapper does not expose HealthKit vision-prescription queries or a prescription serializer."
209
+ }, {
210
+ provider: "apple-health",
211
+ identifier: "HKActivitySummaryTypeIdentifier",
212
+ category: "activity summary",
213
+ shape: "sample",
214
+ readPermission: "HKActivitySummaryTypeIdentifier",
215
+ readStrategy: "not exposed by the pinned wrapper",
216
+ fhirResource: "Observation",
217
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
218
+ unit: "record-specific",
219
+ limitation: "The pinned wrapper does not expose an activity-summary query."
220
+ }, {
221
+ provider: "apple-health",
222
+ identifier: "HKAudiogramSampleType",
223
+ category: "audiogram",
224
+ shape: "sample",
225
+ readPermission: "HKAudiogramSampleType",
226
+ readStrategy: "not exposed by the pinned wrapper",
227
+ fhirResource: "Observation",
228
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
229
+ unit: "record-specific",
230
+ limitation: "The pinned wrapper does not expose an audiogram query or serializer."
231
+ }, {
232
+ provider: "apple-health",
233
+ identifier: "HKWorkoutRouteTypeIdentifier",
234
+ category: "workout route",
235
+ shape: "series",
236
+ readPermission: "HKWorkoutRouteTypeIdentifier",
237
+ readStrategy: "getWorkoutRoutes(workoutUUID)",
238
+ fhirResource: "Observation",
239
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
240
+ unit: "geographic coordinates",
241
+ limitation: "The wrapper requires a known workout UUID and the route is not a pageable sample query; routes are excluded from automatic import."
242
+ }];
243
+ const appleCharacteristics = [["HKCharacteristicTypeIdentifierBiologicalSex", "getBiologicalSex"], ["HKCharacteristicTypeIdentifierBloodType", "getBloodType"], ["HKCharacteristicTypeIdentifierDateOfBirth", "getDateOfBirth"], ["HKCharacteristicTypeIdentifierFitzpatrickSkinType", "getFitzpatrickSkinType"], ["HKCharacteristicTypeIdentifierWheelchairUse", "getWheelchairUse"], ["HKCharacteristicTypeIdentifierActivityMoveMode", "not exposed by the pinned wrapper"]].map(([identifier, readStrategy]) => ({
244
+ provider: "apple-health",
245
+ identifier,
246
+ category: "characteristic",
247
+ shape: "characteristic",
248
+ readPermission: identifier,
249
+ readStrategy,
250
+ fhirResource: "Patient",
251
+ sourceCodeSystem: HEALTHKIT_CODE_SYSTEM,
252
+ unit: "not applicable",
253
+ limitation: "Characteristics are not HKSampleType values and are not accepted by dataToSync; they need a separate Patient mapping."
254
+ }));
255
+ const healthConnectRecords = [["ActiveCaloriesBurned", "Activity", "interval", "ACTIVE_CALORIES_BURNED", "kcal"], ["BasalBodyTemperature", "Cycle Tracking", "instantaneous", "BASAL_BODY_TEMPERATURE", "native temperature unit"], ["BasalMetabolicRate", "Body Measurement", "instantaneous", "BASAL_METABOLIC_RATE", "native power unit"], ["BloodGlucose", "Vitals", "instantaneous", "BLOOD_GLUCOSE", "native glucose unit"], ["BloodPressure", "Vitals", "instantaneous", "BLOOD_PRESSURE", "mm[Hg]"], ["BodyFat", "Body Measurement", "instantaneous", "BODY_FAT", "%"], ["BodyTemperature", "Vitals", "instantaneous", "BODY_TEMPERATURE", "native temperature unit"], ["BodyWaterMass", "Body Measurement", "instantaneous", "BODY_WATER_MASS", "kg"], ["BoneMass", "Body Measurement", "instantaneous", "BONE_MASS", "kg"], ["CervicalMucus", "Cycle Tracking", "instantaneous", "CERVICAL_MUCUS", "not applicable"], ["CyclingPedalingCadence", "Activity", "series", "EXERCISE", "rpm"], ["ElevationGained", "Activity", "interval", "ELEVATION_GAINED", "m"], ["ExerciseSession", "Activity", "interval", "EXERCISE", "record-specific"], ["FloorsClimbed", "Activity", "interval", "FLOORS_CLIMBED", "count"], ["HeartRate", "Vitals", "series", "HEART_RATE", "count/min"], ["RestingHeartRate", "Vitals", "instantaneous", "RESTING_HEART_RATE", "count/min"], ["Steps", "Activity", "interval", "STEPS", "count"], ["StepsCadence", "Activity", "series", "STEPS", "steps/min"], ["Distance", "Activity", "interval", "DISTANCE", "m"], ["Height", "Body Measurement", "instantaneous", "HEIGHT", "m"], ["Hydration", "Nutrition", "interval", "HYDRATION", "L"], ["HeartRateVariabilityRmssd", "Vitals", "instantaneous", "HEART_RATE_VARIABILITY", "ms"], ["SexualActivity", "Cycle Tracking", "instantaneous", "SEXUAL_ACTIVITY", "not applicable"], ["Weight", "Body Measurement", "instantaneous", "WEIGHT", "kg"], ["Nutrition", "Nutrition", "interval", "NUTRITION", "record-specific"], ["LeanBodyMass", "Body Measurement", "instantaneous", "LEAN_BODY_MASS", "kg"], ["IntermenstrualBleeding", "Cycle Tracking", "instantaneous", "INTERMENSTRUAL_BLEEDING", "not applicable"], ["Speed", "Activity", "series", "SPEED", "m/s"], ["MenstruationFlow", "Cycle Tracking", "instantaneous", "MENSTRUATION", "not applicable"], ["MenstruationPeriod", "Cycle Tracking", "interval", "MENSTRUATION", "not applicable"], ["SleepSession", "Sleep", "interval", "SLEEP", "min"], ["RespiratoryRate", "Vitals", "instantaneous", "RESPIRATORY_RATE", "count/min"], ["WheelchairPushes", "Activity", "interval", "WHEELCHAIR_PUSHES", "count"], ["Vo2Max", "Activity", "instantaneous", "VO2_MAX", "mL/kg/min"], ["OvulationTest", "Cycle Tracking", "instantaneous", "OVULATION_TEST", "not applicable"], ["TotalCaloriesBurned", "Activity", "interval", "TOTAL_CALORIES_BURNED", "kcal"], ["OxygenSaturation", "Vitals", "instantaneous", "OXYGEN_SATURATION", "%"], ["Power", "Activity", "series", "POWER", "W"]];
256
+ const readPermissionOverrides = {
257
+ CyclingPedalingCadence: "EXERCISE",
258
+ ExerciseSession: "EXERCISE",
259
+ HeartRateVariabilityRmssd: "HEART_RATE_VARIABILITY",
260
+ MenstruationFlow: "MENSTRUATION",
261
+ MenstruationPeriod: "MENSTRUATION",
262
+ StepsCadence: "STEPS"
263
+ };
264
+ const healthConnectCatalog = healthConnectRecords.map(([identifier, category, shape, permission, unit]) => ({
265
+ provider: "health-connect",
266
+ identifier,
267
+ category,
268
+ shape,
269
+ readPermission: `${HEALTH_CONNECT_PERMISSION_PREFIX}${readPermissionOverrides[identifier] ?? permission}`,
270
+ readStrategy: "readRecords pages followed by the Health Connect changes feed",
271
+ fhirResource: "Observation",
272
+ sourceCodeSystem: HEALTH_CONNECT_CODE_SYSTEM,
273
+ unit,
274
+ loincMapping: healthConnectLoincMappings[identifier]
275
+ }));
276
+ const healthConnectSpecialTypes = [{
277
+ provider: "health-connect",
278
+ identifier: "ExerciseRoute",
279
+ category: "route",
280
+ shape: "series",
281
+ readPermission: "per-session Health Connect consent dialog",
282
+ readStrategy: "ExerciseSessionRecord.exerciseRoute / requestExerciseRoute(recordId)",
283
+ fhirResource: "Observation",
284
+ sourceCodeSystem: HEALTH_CONNECT_CODE_SYSTEM,
285
+ unit: "geographic coordinates",
286
+ limitation: "Routes are returned with exercise sessions only when the user grants per-session route access; the SDK does not expose a standalone route selector or requestExerciseRoute flow."
287
+ }];
288
+ const catalogEntries = [...appleSupportedSamples, ...appleExcludedTypes, ...appleCharacteristics, ...healthConnectCatalog, ...healthConnectSpecialTypes];
289
+ const getLoincLimitation = entry => {
290
+ if (entry.provider === "apple-health" && entry.identifier === "HKQuantityTypeIdentifierBodyFatPercentage" || entry.provider === "health-connect" && entry.identifier === "BodyFat") {
291
+ return "Not mapped: LOINC 41982-0 specifies the Measured method, but neither platform record type establishes how the body-fat percentage was derived.";
292
+ }
293
+ if (entry.identifier === APPLE_HEALTH_IDENTIFIERS.stepCount || entry.provider === "health-connect" && entry.identifier === "Steps") {
294
+ return "Not mapped: the default daily-total result is a local-calendar-day count, while LOINC 41950-7 is a 24-hour count rate with UCUM unit {#}/(24.h). The local day can be shorter or longer at daylight-saving transitions; individual source intervals are not asserted to be a 24-hour rate either.";
295
+ }
296
+ if (entry.provider === "health-connect" && entry.identifier === "BloodPressure") {
297
+ return "Not mapped: this is a composite systolic/diastolic record. The importer must emit the paired component Observations (or a correctly coded panel) instead of attaching one code to the serialized record.";
298
+ }
299
+ if (entry.provider === "health-connect" && entry.identifier === "HeartRateVariabilityRmssd") {
300
+ return "Not mapped: this source is RMSSD; it must not be coded as the distinct SDNN measure (LOINC 112429-6).";
301
+ }
302
+ if (entry.provider === "health-connect" && entry.identifier === "BodyTemperature") {
303
+ return "Not mapped: Health Connect exposes temperature as a structured value and includes a measurement location. The generic Observation converter does not yet normalize that value to a numeric UCUM quantity or preserve the location in bodySite.";
304
+ }
305
+ if (entry.provider === "health-connect" && entry.identifier === "SleepSession") {
306
+ return "Not mapped: the current session value is elapsed session duration, not total time asleep; sleep stages can include awake intervals.";
307
+ }
308
+ if (entry.provider === "health-connect" && entry.identifier === "BasalMetabolicRate") {
309
+ return "Not mapped: the source value is power (W), while the matching LOINC candidate is a basal metabolic rate index; these representations are not interchangeable.";
310
+ }
311
+ if (entry.provider === "apple-health" && entry.identifier === "HKQuantityTypeIdentifierBodyMassIndex") {
312
+ return "Not mapped: the HealthKit quantity is dimensionless, while LOINC 39156-5 expects a body-mass-index ratio represented with kg/m2. The importer does not normalize this unit.";
313
+ }
314
+ if (entry.identifier === "BloodGlucose" || entry.identifier === "HKQuantityTypeIdentifierBloodGlucose") {
315
+ return "Not mapped: the platform type alone does not guarantee a compatible specimen, method, and unit combination for one LOINC glucose term.";
316
+ }
317
+ if (entry.category === "characteristic") {
318
+ return "This is a Patient characteristic, not a dated Observation; no Observation LOINC mapping is asserted.";
319
+ }
320
+ if (entry.category === "correlation") {
321
+ return "This is a composite correlation; a single LOINC code could misrepresent its component observations.";
322
+ }
323
+ if (entry.shape === "series") {
324
+ return "This time series needs a clinically reviewed panel or series mapping before a LOINC code can be assigned.";
325
+ }
326
+ if (entry.shape === "sample" && entry.unit === "record-specific") {
327
+ return "This structured sample needs its component/value semantics reviewed before a LOINC code can be assigned.";
328
+ }
329
+ return "No audited LOINC mapping is assigned for this identifier yet; this is not a claim that no valid LOINC term exists. The platform code is retained without asserting LOINC.";
330
+ };
331
+ const HEALTH_DATA_CATALOG = catalogEntries.map(entry => {
332
+ if (!entry.loincMapping) {
333
+ return {
334
+ ...entry,
335
+ loincLimitation: getLoincLimitation(entry)
336
+ };
337
+ }
338
+ return entry.loincMapping.modes.length < 4 ? {
339
+ ...entry,
340
+ loincLimitation: `The reviewed mapping applies only to ${entry.loincMapping.modes.join(", ")} mode; other representations retain the platform code.`
341
+ } : entry;
342
+ });
343
+ const getHealthDataCoding = (provider, identifier, mode) => {
344
+ const catalogProvider = provider === "apple-health" ? "apple-health" : "health-connect";
345
+ const entry = HEALTH_DATA_CATALOG.find(candidate => candidate.provider === catalogProvider && candidate.identifier === identifier);
346
+ const mapping = entry?.loincMapping;
347
+ if (mapping?.modes.includes(mode)) {
348
+ return {
349
+ code: mapping.code,
350
+ system: "http://loinc.org",
351
+ display: mapping.display
352
+ };
353
+ }
354
+ return {
355
+ code: identifier,
356
+ system: entry?.sourceCodeSystem ?? (catalogProvider === "apple-health" ? HEALTHKIT_CODE_SYSTEM : HEALTH_CONNECT_CODE_SYSTEM)
357
+ };
358
+ };
359
+ export { HEALTH_DATA_CATALOG, getHealthDataCoding };
360
+ //# sourceMappingURL=health-data-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["healthUnitFor","HEALTH_CONNECT_PERMISSION_PREFIX","HEALTH_CONNECT_CODE_SYSTEM","HEALTHKIT_CODE_SYSTEM","APPLE_HEALTH_IDENTIFIERS","height","bodyMass","bodyTemperature","systolicBloodPressure","diastolicBloodPressure","heartRate","restingHeartRate","heartRateVariabilitySDNN","respiratoryRate","stepCount","appleLoincMappings","code","display","sourceUrl","modes","appleQuantityIdentifiers","appleCategoryIdentifiers","appleCorrelationIdentifiers","healthConnectLoincMappings","Height","Weight","HeartRate","RestingHeartRate","RespiratoryRate","BodyWaterMass","appleSupportedSamples","map","identifier","provider","category","shape","readPermission","readStrategy","fhirResource","sourceCodeSystem","unit","loincMapping","limitation","appleExcludedTypes","type","toLowerCase","slice","appleCharacteristics","healthConnectRecords","readPermissionOverrides","CyclingPedalingCadence","ExerciseSession","HeartRateVariabilityRmssd","MenstruationFlow","MenstruationPeriod","StepsCadence","healthConnectCatalog","permission","healthConnectSpecialTypes","catalogEntries","getLoincLimitation","entry","HEALTH_DATA_CATALOG","loincLimitation","length","join","getHealthDataCoding","mode","catalogProvider","find","candidate","mapping","includes","system"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/health-data-catalog.ts"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
 
3
- import { HKQuantityTypeIdentifier } from "@kingstinct/react-native-healthkit";
4
3
  const HEALTH_UNITS = {
5
- [HKQuantityTypeIdentifier.bodyMass]: "kg",
6
- [HKQuantityTypeIdentifier.bodyTemperature]: "degC",
7
- [HKQuantityTypeIdentifier.basalBodyTemperature]: "degC",
8
- [HKQuantityTypeIdentifier.bloodPressureSystolic]: "mmHg",
9
- [HKQuantityTypeIdentifier.bloodPressureDiastolic]: "mmHg",
10
- [HKQuantityTypeIdentifier.bloodGlucose]: "mg/dL",
11
- [HKQuantityTypeIdentifier.oxygenSaturation]: "%",
12
- [HKQuantityTypeIdentifier.heartRate]: "count/min",
13
- [HKQuantityTypeIdentifier.restingHeartRate]: "count/min",
14
- [HKQuantityTypeIdentifier.walkingHeartRateAverage]: "count/min"
4
+ HKQuantityTypeIdentifierBodyMass: "kg",
5
+ HKQuantityTypeIdentifierBodyFatPercentage: "%",
6
+ HKQuantityTypeIdentifierBodyTemperature: "degC",
7
+ HKQuantityTypeIdentifierBasalBodyTemperature: "degC",
8
+ HKQuantityTypeIdentifierBloodPressureSystolic: "mmHg",
9
+ HKQuantityTypeIdentifierBloodPressureDiastolic: "mmHg",
10
+ HKQuantityTypeIdentifierBloodGlucose: "mg/dL",
11
+ HKQuantityTypeIdentifierOxygenSaturation: "%",
12
+ HKQuantityTypeIdentifierHeartRate: "count/min",
13
+ HKQuantityTypeIdentifierHeartRateVariabilitySDNN: "ms",
14
+ HKQuantityTypeIdentifierRestingHeartRate: "count/min",
15
+ HKQuantityTypeIdentifierRespiratoryRate: "count/min",
16
+ HKQuantityTypeIdentifierWalkingHeartRateAverage: "count/min"
15
17
  };
16
18
  export const healthUnitFor = typeIdentifier => HEALTH_UNITS[typeIdentifier];
17
19
  //# sourceMappingURL=health-units.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["HKQuantityTypeIdentifier","HEALTH_UNITS","bodyMass","bodyTemperature","basalBodyTemperature","bloodPressureSystolic","bloodPressureDiastolic","bloodGlucose","oxygenSaturation","heartRate","restingHeartRate","walkingHeartRateAverage","healthUnitFor","typeIdentifier"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/health-units.ts"],"mappings":";;AAAA,SACEA,wBAAwB,QAEnB,oCAAoC;AAE3C,MAAMC,YAA+D,GAAG;EACtE,CAACD,wBAAwB,CAACE,QAAQ,GAAG,IAAI;EACzC,CAACF,wBAAwB,CAACG,eAAe,GAAG,MAAM;EAClD,CAACH,wBAAwB,CAACI,oBAAoB,GAAG,MAAM;EACvD,CAACJ,wBAAwB,CAACK,qBAAqB,GAAG,MAAM;EACxD,CAACL,wBAAwB,CAACM,sBAAsB,GAAG,MAAM;EACzD,CAACN,wBAAwB,CAACO,YAAY,GAAG,OAAO;EAChD,CAACP,wBAAwB,CAACQ,gBAAgB,GAAG,GAAG;EAChD,CAACR,wBAAwB,CAACS,SAAS,GAAG,WAAW;EACjD,CAACT,wBAAwB,CAACU,gBAAgB,GAAG,WAAW;EACxD,CAACV,wBAAwB,CAACW,uBAAuB,GAAG;AACtD,CAAC;AAED,OAAO,MAAMC,aAAa,GACxBC,cAAiB,IAEjBZ,YAAY,CAACY,cAAc,CAAqC","ignoreList":[]}
1
+ {"version":3,"names":["HEALTH_UNITS","HKQuantityTypeIdentifierBodyMass","HKQuantityTypeIdentifierBodyFatPercentage","HKQuantityTypeIdentifierBodyTemperature","HKQuantityTypeIdentifierBasalBodyTemperature","HKQuantityTypeIdentifierBloodPressureSystolic","HKQuantityTypeIdentifierBloodPressureDiastolic","HKQuantityTypeIdentifierBloodGlucose","HKQuantityTypeIdentifierOxygenSaturation","HKQuantityTypeIdentifierHeartRate","HKQuantityTypeIdentifierHeartRateVariabilitySDNN","HKQuantityTypeIdentifierRestingHeartRate","HKQuantityTypeIdentifierRespiratoryRate","HKQuantityTypeIdentifierWalkingHeartRateAverage","healthUnitFor","typeIdentifier"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/health-units.ts"],"mappings":";;AAKA,MAAMA,YAA8C,GAAG;EACrDC,gCAAgC,EAAE,IAAI;EACtCC,yCAAyC,EAAE,GAAG;EAC9CC,uCAAuC,EAAE,MAAM;EAC/CC,4CAA4C,EAAE,MAAM;EACpDC,6CAA6C,EAAE,MAAM;EACrDC,8CAA8C,EAAE,MAAM;EACtDC,oCAAoC,EAAE,OAAO;EAC7CC,wCAAwC,EAAE,GAAG;EAC7CC,iCAAiC,EAAE,WAAW;EAC9CC,gDAAgD,EAAE,IAAI;EACtDC,wCAAwC,EAAE,WAAW;EACrDC,uCAAuC,EAAE,WAAW;EACpDC,+CAA+C,EAAE;AACnD,CAAC;AAED,OAAO,MAAMC,aAAa,GACxBC,cAAiB,IAEjBf,YAAY,CAACe,cAAc,CAAqC","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ const isCategoryIdentifier = typeIdentifier => typeof typeIdentifier === "string" && typeIdentifier.startsWith("HKCategoryTypeIdentifier");
4
+ const isQuantityIdentifier = typeIdentifier => typeof typeIdentifier === "string" && typeIdentifier.startsWith("HKQuantityTypeIdentifier");
5
+ const isCorrelationIdentifier = typeIdentifier => typeof typeIdentifier === "string" && typeIdentifier.startsWith("HKCorrelationTypeIdentifier");
6
+ const unsupportedHealthKitTypeReason = typeIdentifier => {
7
+ switch (typeIdentifier) {
8
+ case "HKActivitySummaryTypeIdentifier":
9
+ return "The pinned HealthKit wrapper does not expose an activity-summary query.";
10
+ case "HKAudiogramSampleType":
11
+ return "The pinned HealthKit wrapper does not expose an audiogram query/serializer.";
12
+ case "HKWorkoutRouteTypeIdentifier":
13
+ return "The wrapper can read routes only when given a workout UUID; it does not expose a route sample query.";
14
+ default:
15
+ return "The pinned HealthKit wrapper does not expose a compatible read query for this type.";
16
+ }
17
+ };
18
+ class UnsupportedHealthKitDataError extends Error {
19
+ constructor(typeIdentifier, reason) {
20
+ super(`Cannot import ${typeIdentifier}: ${reason}`);
21
+ this.typeIdentifier = typeIdentifier;
22
+ this.name = "UnsupportedHealthKitDataError";
23
+ }
24
+ }
25
+ export { isCategoryIdentifier, isCorrelationIdentifier, isQuantityIdentifier, UnsupportedHealthKitDataError, unsupportedHealthKitTypeReason };
26
+ //# sourceMappingURL=healthkit-data-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isCategoryIdentifier","typeIdentifier","startsWith","isQuantityIdentifier","isCorrelationIdentifier","unsupportedHealthKitTypeReason","UnsupportedHealthKitDataError","Error","constructor","reason","name"],"sourceRoot":"../../../../../src","sources":["modules/data-sync/utils/healthkit-data-types.ts"],"mappings":";;AAOA,MAAMA,oBAAoB,GACxBC,cAAsC,IAEtC,OAAOA,cAAc,KAAK,QAAQ,IAClCA,cAAc,CAACC,UAAU,CAAC,0BAA0B,CAAC;AAEvD,MAAMC,oBAAoB,GACxBF,cAAsC,IAEtC,OAAOA,cAAc,KAAK,QAAQ,IAClCA,cAAc,CAACC,UAAU,CAAC,0BAA0B,CAAC;AAEvD,MAAME,uBAAuB,GAC3BH,cAAsC,IAEtC,OAAOA,cAAc,KAAK,QAAQ,IAClCA,cAAc,CAACC,UAAU,CAAC,6BAA6B,CAAC;AAE1D,MAAMG,8BAA8B,GAClCJ,cAAsC,IAC3B;EACX,QAAQA,cAAc;IACpB,KAAK,iCAAiC;MACpC,OAAO,yEAAyE;IAClF,KAAK,uBAAuB;MAC1B,OAAO,6EAA6E;IACtF,KAAK,8BAA8B;MACjC,OAAO,sGAAsG;IAC/G;MACE,OAAO,qFAAqF;EAChG;AACF,CAAC;AAED,MAAMK,6BAA6B,SAASC,KAAK,CAAC;EAChDC,WAAWA,CACAP,cAAsB,EAC/BQ,MAAc,EACd;IACA,KAAK,CAAC,iBAAiBR,cAAc,KAAKQ,MAAM,EAAE,CAAC;IAAC,KAH3CR,cAAsB,GAAtBA,cAAsB;IAI/B,IAAI,CAACS,IAAI,GAAG,+BAA+B;EAC7C;AACF;AAEA,SACEV,oBAAoB,EACpBI,uBAAuB,EACvBD,oBAAoB,EACpBG,6BAA6B,EAC7BD,8BAA8B","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,CAyDrE,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,CA0DrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-list-items.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-list-items.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAI3D,eAAO,MAAM,eAAe,EAAE,cAAc,EA8J3C,CAAC"}
1
+ {"version":3,"file":"device-list-items.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/device-list-items.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAO3D,eAAO,MAAM,eAAe,EAAE,cAAc,EAqK3C,CAAC"}
@@ -1,6 +1,8 @@
1
1
  declare const verovalBpu26Image = "https://cdn.hartmann.info/product/40938_43.jpg";
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
+ declare const trasenseS9Illustration: string;
5
+ declare const trasenseS9IllustrationCredit = "Original OVOK SDK illustration; generic smartwatch artwork, not a manufacturer product photo.";
4
6
  declare const verovalActivityImage = "https://image-eo.winudf.com/v2/image/aW5mby52ZXJvdmFsLm1lZGkuY29ubmVjdF9pY29uXzE1MzUwMTcwMDVfMDYx/icon.png?w=360&fakeurl=1";
5
7
  declare const bosoMedicusSystemImage = "https://www.boso.de/fileadmin/_processed_/0/b/csm_medicus_system_1019_9ce057ffcc.png";
6
8
  declare const visomatComfortSoftBtImage = "https://www.visomat.de/wp-content/uploads/2023/10/prd_slider_comfort-soft-BT.jpg";
@@ -39,5 +41,5 @@ declare const cosinussCredit = "cosinuss\u00B0 official product page: https://ww
39
41
  declare const alivecorCredit = "AliveCor official KardiaMobile product page: https://www.alivecor.com/kardiamobile";
40
42
  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";
41
43
  declare const transtekCredit = "Transtek official product page: https://www.transtekmed.com/product/transtek-body-scale-gbs-2012-b1";
42
- export { alivecorCredit, aojCredit, bosoMedicusSystemCredit, bosoMedicusSystemImage, bundledAssetCredit, contecCredit, cosinussCredit, cyclotestMySenseCredit, cyclotestMySenseImage, foraCredit, hartmannBpu26Credit, hartmannBpw26Credit, hartmannFusionCredit, hartmannActivityCredit, hartmannDuoControlCredit, hartmannEcgCredit, taidocCredit, transtekCredit, viatomAojImage, viatomBodyScaleCredit, viatomBp2Image, viatomBp3Credit, viatomBp3Image, viatomBloodPressureCredit, viatomCheckmeCredit, viatomCheckmeImage, viatomEcgCredit, viatomEr1Image, viatomF4Image, viatomO2RingImage, viatomR20Credit, viatomR20Image, viatomR200Credit, viatomR200Image, viatomOximeterCredit, verovalBpu26Image, verovalBpw26Image, verovalFusionImage, verovalActivityImage, visomatComfortSoftBtCredit, visomatComfortSoftBtImage, };
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, };
43
45
  //# sourceMappingURL=supported-device-catalog-assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supported-device-catalog-assets.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-assets.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,kBAAkB,oDAAoD,CAAC;AAE7E,QAAA,MAAM,oBAAoB,+HACoG,CAAC;AAE/H,QAAA,MAAM,sBAAsB,yFAC4D,CAAC;AAEzF,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,qBAAqB,4GACgF,CAAC;AAE5G,QAAA,MAAM,cAAc,oMAC+K,CAAC;AAEpM,QAAA,MAAM,cAAc,kKAC6I,CAAC;AAElK,QAAA,MAAM,aAAa,oLACgK,CAAC;AAEpL,QAAA,MAAM,iBAAiB,8LACsK,CAAC;AAE9L,QAAA,MAAM,cAAc,yKACoJ,CAAC;AAEzK,QAAA,MAAM,cAAc,yEACoD,CAAC;AAEzE,QAAA,MAAM,eAAe,sEACgD,CAAC;AAEtE,QAAA,MAAM,kBAAkB,6KACoJ,CAAC;AAE7K,QAAA,MAAM,cAAc,2KACsJ,CAAC;AAE3K,QAAA,MAAM,kBAAkB,0FACiE,CAAC;AAE1F,QAAA,MAAM,wBAAwB,+JACgI,CAAC;AAE/J,QAAA,MAAM,iBAAiB,wIACgH,CAAC;AAExI,QAAA,MAAM,mBAAmB,oMAC0K,CAAC;AAEpM,QAAA,MAAM,mBAAmB,4LACkK,CAAC;AAE5L,QAAA,MAAM,oBAAoB,iMACsK,CAAC;AAEjM,QAAA,MAAM,sBAAsB,+MACkL,CAAC;AAE/M,QAAA,MAAM,uBAAuB,+HACiG,CAAC;AAE/H,QAAA,MAAM,0BAA0B,qFACoD,CAAC;AAErF,QAAA,MAAM,sBAAsB,2GAC8E,CAAC;AAE3G,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,eAAe,oGAC8E,CAAC;AAEpG,QAAA,MAAM,qBAAqB,wEAC4C,CAAC;AAExE,QAAA,MAAM,oBAAoB,6EACkD,CAAC;AAE7E,QAAA,MAAM,eAAe,8EACwD,CAAC;AAE9E,QAAA,MAAM,eAAe,kKAC4I,CAAC;AAElK,QAAA,MAAM,gBAAgB,sLAC+J,CAAC;AAEtL,QAAA,MAAM,mBAAmB,0FACgE,CAAC;AAE1F,QAAA,MAAM,SAAS,0EAC0D,CAAC;AAE1E,QAAA,MAAM,YAAY,qEACkD,CAAC;AAErE,QAAA,MAAM,UAAU,mEAAmE,CAAC;AAEpF,QAAA,MAAM,cAAc,mGACyE,CAAC;AAE9F,QAAA,MAAM,cAAc,uFACkE,CAAC;AAEvF,QAAA,MAAM,YAAY,8KAC2J,CAAC;AAE9K,QAAA,MAAM,cAAc,wGACmF,CAAC;AAExG,OAAO,EACL,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
1
+ {"version":3,"file":"supported-device-catalog-assets.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-device-catalog-assets.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,iBAAiB,mDAAmD,CAAC;AAE3E,QAAA,MAAM,kBAAkB,oDAAoD,CAAC;AAE7E,QAAA,MAAM,sBAAsB,QAEzB,CAAC;AAEJ,QAAA,MAAM,4BAA4B,kGAC+D,CAAC;AAElG,QAAA,MAAM,oBAAoB,+HACoG,CAAC;AAE/H,QAAA,MAAM,sBAAsB,yFAC4D,CAAC;AAEzF,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,qBAAqB,4GACgF,CAAC;AAE5G,QAAA,MAAM,cAAc,oMAC+K,CAAC;AAEpM,QAAA,MAAM,cAAc,kKAC6I,CAAC;AAElK,QAAA,MAAM,aAAa,oLACgK,CAAC;AAEpL,QAAA,MAAM,iBAAiB,8LACsK,CAAC;AAE9L,QAAA,MAAM,cAAc,yKACoJ,CAAC;AAEzK,QAAA,MAAM,cAAc,yEACoD,CAAC;AAEzE,QAAA,MAAM,eAAe,sEACgD,CAAC;AAEtE,QAAA,MAAM,kBAAkB,6KACoJ,CAAC;AAE7K,QAAA,MAAM,cAAc,2KACsJ,CAAC;AAE3K,QAAA,MAAM,kBAAkB,0FACiE,CAAC;AAE1F,QAAA,MAAM,wBAAwB,+JACgI,CAAC;AAE/J,QAAA,MAAM,iBAAiB,wIACgH,CAAC;AAExI,QAAA,MAAM,mBAAmB,oMAC0K,CAAC;AAEpM,QAAA,MAAM,mBAAmB,4LACkK,CAAC;AAE5L,QAAA,MAAM,oBAAoB,iMACsK,CAAC;AAEjM,QAAA,MAAM,sBAAsB,+MACkL,CAAC;AAE/M,QAAA,MAAM,uBAAuB,+HACiG,CAAC;AAE/H,QAAA,MAAM,0BAA0B,qFACoD,CAAC;AAErF,QAAA,MAAM,sBAAsB,2GAC8E,CAAC;AAE3G,QAAA,MAAM,yBAAyB,qFACqD,CAAC;AAErF,QAAA,MAAM,eAAe,oGAC8E,CAAC;AAEpG,QAAA,MAAM,qBAAqB,wEAC4C,CAAC;AAExE,QAAA,MAAM,oBAAoB,6EACkD,CAAC;AAE7E,QAAA,MAAM,eAAe,8EACwD,CAAC;AAE9E,QAAA,MAAM,eAAe,kKAC4I,CAAC;AAElK,QAAA,MAAM,gBAAgB,sLAC+J,CAAC;AAEtL,QAAA,MAAM,mBAAmB,0FACgE,CAAC;AAE1F,QAAA,MAAM,SAAS,0EAC0D,CAAC;AAE1E,QAAA,MAAM,YAAY,qEACkD,CAAC;AAErE,QAAA,MAAM,UAAU,mEAAmE,CAAC;AAEpF,QAAA,MAAM,cAAc,mGACyE,CAAC;AAE9F,QAAA,MAAM,cAAc,uFACkE,CAAC;AAEvF,QAAA,MAAM,YAAY,8KAC2J,CAAC;AAE9K,QAAA,MAAM,cAAc,wGACmF,CAAC;AAExG,OAAO,EACL,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,4BAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,cAAc,EACd,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,GAC1B,CAAC"}
@@ -94,6 +94,13 @@ declare const Devices: readonly [{
94
94
  readonly manufacturerKey: "devices.catalog.manufacturers.hartmann";
95
95
  readonly logo: "https://image-eo.winudf.com/v2/image/aW5mby52ZXJvdmFsLm1lZGkuY29ubmVjdF9pY29uXzE1MzUwMTcwMDVfMDYx/icon.png?w=360&fakeurl=1";
96
96
  readonly creditsForImage: "Veroval Medi.Connect app artwork from APKPure: https://apkpure.net/veroval%C2%AE-medi-connect/info.veroval.medi.connect; device and protocol supplied by HARTMANN's Veroval Activity integration materials";
97
+ }, {
98
+ readonly name: "Trasense S9 (SH09)";
99
+ readonly nameKey: "devices.catalog.trasense-s9.name";
100
+ readonly manufacturer: "Trasense / Shenzhen Pucheng Technology";
101
+ readonly manufacturerKey: "devices.catalog.manufacturers.trasense";
102
+ readonly logo: string;
103
+ readonly creditsForImage: "Original OVOK SDK illustration; generic smartwatch artwork, not a manufacturer product photo.";
97
104
  }, {
98
105
  readonly name: "boso medicus system";
99
106
  readonly nameKey: "devices.catalog.boso-medicus-system.name";
@@ -1 +1 @@
1
- {"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AA4FhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IACjD,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPA+MkC,CAAC;AAmiBhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAUH,CAAC;AAExD,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"supported-devices.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-device/constants/supported-devices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AA8FhF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB,CAAC;AAEF,KAAK,yBAAyB,GAAG,eAAe,GAAG;IACjD,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,eAAe,EAAE,SAAS,cAAc,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF;;;;;;;GAOG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qPAuNkC,CAAC;AAwiBhD,+FAA+F;AAC/F,QAAA,MAAM,gBAAgB,EAAE,SAAS,yBAAyB,EAUH,CAAC;AAExD,QAAA,MAAM,iBAAiB,sCAAmB,CAAC;AAK3C,iFAAiF;AACjF,QAAA,MAAM,0BAA0B,EAAE,SAAS,cAAc,EAMxD,CAAC;AAEF,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,CAAC;AACF,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AcceptedDevice } from "../types/accepted-device";
2
2
  import { DeviceKey } from "../types/device-key";
3
3
  /** Resolves a scan result using only the SDK's plain device declarations. */
4
- export declare const resolveDeviceKey: (acceptedDevices: readonly AcceptedDevice[], advertisedName?: string, serviceUUIDs?: readonly string[]) => DeviceKey | undefined;
4
+ export declare const resolveDeviceKey: (acceptedDevices: readonly AcceptedDevice[], advertisedName?: string, serviceUUIDs?: readonly string[], manufacturerData?: string) => DeviceKey | undefined;
5
5
  //# sourceMappingURL=resolve-device-key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-device-key.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/core/resolve-device-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,GAC3B,iBAAiB,SAAS,cAAc,EAAE,EAC1C,uBAAmB,EACnB,eAAc,SAAS,MAAM,EAAO,KACnC,SAAS,GAAG,SAyCd,CAAC"}
1
+ {"version":3,"file":"resolve-device-key.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/bt-management/core/resolve-device-key.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIhD,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,GAC3B,iBAAiB,SAAS,cAAc,EAAE,EAC1C,uBAAmB,EACnB,eAAc,SAAS,MAAM,EAAO,EACpC,mBAAmB,MAAM,KACxB,SAAS,GAAG,SAkDd,CAAC"}
@@ -54,6 +54,10 @@ export * from "./services/devices/veroval/veroval.fusion";
54
54
  export * from "./services/devices/veroval/veroval.duo-control-device";
55
55
  export * from "./services/devices/veroval/veroval.ecg-device";
56
56
  export * from "./services/devices/veroval/veroval.activity-device";
57
+ export * from "./services/devices/trasense/s9-advertisement";
58
+ export * from "./services/devices/trasense/s9-frame-reader";
59
+ export * from "./services/devices/trasense/s9.command-sequencer";
60
+ export * from "./services/devices/trasense/s9.device";
57
61
  export * from "./services/devices/veroval/veroval-activity-sequencer";
58
62
  export * from "./services/devices/veroval/veroval.ecg-samples";
59
63
  export * from "./services/devices/lepu/lepu.transports";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/bt-management/index.ts"],"names":[],"mappings":"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"}