@ovok/native 1.6.1 → 1.6.2
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.
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokBackgroundSyncModule.java +25 -3
- package/android/src/main/java/com/ovok/sdk/backgroundsync/OvokHealthConnectWorker.java +6 -2
- package/app.plugin.js +4 -2
- package/lib/commonjs/modules/auth/default-translation.js +69 -0
- package/lib/commonjs/modules/auth/default-translation.js.map +1 -0
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-session.js +22 -6
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/commonjs/modules/auth/index.js +1 -0
- package/lib/commonjs/modules/auth/index.js.map +1 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +27 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form.js +0 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-button.js +2 -2
- package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/header/description.js +0 -1
- package/lib/commonjs/modules/auth/register/components/header/description.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/header/title.js +5 -2
- package/lib/commonjs/modules/auth/register/components/header/title.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/login-link.js +4 -3
- package/lib/commonjs/modules/auth/register/components/login-link.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/register-with-separator.js +1 -2
- package/lib/commonjs/modules/auth/register/components/register-with-separator.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +4 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js +2 -2
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +6 -2
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/header/description.js +0 -1
- package/lib/commonjs/modules/auth/reset-password/components/header/description.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/header/title.js +5 -2
- package/lib/commonjs/modules/auth/reset-password/components/header/title.js.map +1 -1
- package/lib/commonjs/modules/auth/session/components/session-list.js +5 -3
- package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/footer.js +0 -1
- package/lib/commonjs/modules/auth/sign-in/components/footer.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +2 -2
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/header/description.js +0 -1
- package/lib/commonjs/modules/auth/sign-in/components/header/description.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/header/title.js +5 -2
- package/lib/commonjs/modules/auth/sign-in/components/header/title.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/login-with-separator.js +1 -2
- package/lib/commonjs/modules/auth/sign-in/components/login-with-separator.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/register-link.js +4 -3
- package/lib/commonjs/modules/auth/sign-in/components/register-link.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/site-url.js +1 -3
- package/lib/commonjs/modules/auth/sign-in/components/site-url.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-text.js +1 -3
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-text.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-text.js +1 -3
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-text.js.map +1 -1
- package/lib/commonjs/modules/auth/utils/sign-out-google.js +16 -0
- package/lib/commonjs/modules/auth/utils/sign-out-google.js.map +1 -0
- package/lib/commonjs/modules/breathing-exercise/components/method-name.js +0 -1
- package/lib/commonjs/modules/breathing-exercise/components/method-name.js.map +1 -1
- package/lib/commonjs/modules/breathing-exercise/components/remaining-time.js +0 -1
- package/lib/commonjs/modules/breathing-exercise/components/remaining-time.js.map +1 -1
- package/lib/commonjs/modules/bt-device/components/item/status.js +1 -2
- package/lib/commonjs/modules/bt-device/components/item/status.js.map +1 -1
- package/lib/commonjs/modules/bt-device/components/item/sub-title.js +1 -2
- package/lib/commonjs/modules/bt-device/components/item/sub-title.js.map +1 -1
- package/lib/commonjs/modules/bt-device/components/item/title.js +1 -2
- package/lib/commonjs/modules/bt-device/components/item/title.js.map +1 -1
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js +4 -2
- package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +2 -1
- package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +37 -14
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js +17 -1
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +52 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +20 -11
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js +5 -8
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +11 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +5 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +56 -16
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js +9 -6
- package/lib/commonjs/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js +97 -2
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js +74 -0
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +52 -0
- package/lib/commonjs/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +0 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +22 -2
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +4 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/device-title.js +17 -0
- package/lib/commonjs/modules/bt-management/utils/device-title.js.map +1 -0
- package/lib/commonjs/modules/content/content-card/components/cover-badge.js +1 -3
- package/lib/commonjs/modules/content/content-card/components/cover-badge.js.map +1 -1
- package/lib/commonjs/modules/content/content-card/components/title.js +1 -3
- package/lib/commonjs/modules/content/content-card/components/title.js.map +1 -1
- package/lib/commonjs/modules/content/content-detail/components/content-detail-rich-content.js +1 -1
- package/lib/commonjs/modules/content/content-detail/components/content-detail-rich-content.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/manually-request-sheet/description.js +2 -2
- package/lib/commonjs/modules/data-sync/components/manually-request-sheet/description.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/manually-request-sheet/title.js +0 -1
- package/lib/commonjs/modules/data-sync/components/manually-request-sheet/title.js.map +1 -1
- package/lib/commonjs/modules/data-sync/components/sync-progress-list/sync-progress-list.js +30 -21
- package/lib/commonjs/modules/data-sync/components/sync-progress-list/sync-progress-list.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js +13 -0
- package/lib/commonjs/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js +19 -4
- package/lib/commonjs/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +1 -0
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-observation-device.js +55 -0
- package/lib/commonjs/modules/data-sync/utils/health-observation-device.js.map +1 -0
- package/lib/commonjs/modules/diary/components/no-data.js +1 -2
- package/lib/commonjs/modules/diary/components/no-data.js.map +1 -1
- package/lib/commonjs/modules/helpers/form-items/form-date-field.js +1 -1
- package/lib/commonjs/modules/helpers/form-items/form-date-field.js.map +1 -1
- package/lib/commonjs/modules/helpers/form-items/form-select.js +13 -13
- package/lib/commonjs/modules/helpers/form-items/form-select.js.map +1 -1
- package/lib/commonjs/modules/image/components/optimized-image.js +18 -0
- package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
- package/lib/commonjs/modules/journal/past-journal/components/title.js +0 -1
- package/lib/commonjs/modules/journal/past-journal/components/title.js.map +1 -1
- package/lib/commonjs/modules/language-switcher/components/option/label.js +0 -1
- package/lib/commonjs/modules/language-switcher/components/option/label.js.map +1 -1
- package/lib/commonjs/modules/measurement/components/date-range.js +4 -3
- package/lib/commonjs/modules/measurement/components/date-range.js.map +1 -1
- package/lib/commonjs/modules/measurement/components/measurement-list-item.js +10 -10
- package/lib/commonjs/modules/measurement/components/measurement-list-item.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
- package/lib/commonjs/modules/setting/components/list-header.js +1 -2
- package/lib/commonjs/modules/setting/components/list-header.js.map +1 -1
- package/lib/commonjs/modules/setting/components/setting-list-item.js +0 -1
- package/lib/commonjs/modules/setting/components/setting-list-item.js.map +1 -1
- package/lib/commonjs/modules/tab/components/tab-item.js +0 -1
- package/lib/commonjs/modules/tab/components/tab-item.js.map +1 -1
- package/lib/commonjs/modules/theme/utils/generate-theme.js +35 -4
- package/lib/commonjs/modules/theme/utils/generate-theme.js.map +1 -1
- package/lib/commonjs/modules/tile/components/measured-value.js +0 -3
- package/lib/commonjs/modules/tile/components/measured-value.js.map +1 -1
- package/lib/commonjs/modules/tile/components/title.js +0 -1
- package/lib/commonjs/modules/tile/components/title.js.map +1 -1
- package/lib/commonjs/modules/ui/components/background-sync-setting.js +11 -5
- package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -1
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +19 -6
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/commonjs/modules/ui/components/health-import-card.js +15 -3
- package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -1
- package/lib/commonjs/modules/ui/components/measurement-trend-chart.js +95 -0
- package/lib/commonjs/modules/ui/components/measurement-trend-chart.js.map +1 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js +75 -31
- package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -1
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +3 -4
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -1
- package/lib/commonjs/modules/ui/index.js +11 -0
- package/lib/commonjs/modules/ui/index.js.map +1 -1
- package/lib/commonjs/modules/ui/use-ovok-ui.js +3 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -1
- package/lib/module/modules/auth/default-translation.js +68 -0
- package/lib/module/modules/auth/default-translation.js.map +1 -0
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-session.js +22 -6
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/module/modules/auth/index.js +1 -0
- package/lib/module/modules/auth/index.js.map +1 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js +27 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/module/modules/auth/profile/components/profile-form.js +0 -1
- package/lib/module/modules/auth/profile/components/profile-form.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-button.js +2 -2
- package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/header/description.js +0 -1
- package/lib/module/modules/auth/register/components/header/description.js.map +1 -1
- package/lib/module/modules/auth/register/components/header/title.js +5 -2
- package/lib/module/modules/auth/register/components/header/title.js.map +1 -1
- package/lib/module/modules/auth/register/components/login-link.js +4 -3
- package/lib/module/modules/auth/register/components/login-link.js.map +1 -1
- package/lib/module/modules/auth/register/components/register-with-separator.js +1 -2
- package/lib/module/modules/auth/register/components/register-with-separator.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js +4 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js +2 -2
- package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +6 -2
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/header/description.js +0 -1
- package/lib/module/modules/auth/reset-password/components/header/description.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/header/title.js +5 -2
- package/lib/module/modules/auth/reset-password/components/header/title.js.map +1 -1
- package/lib/module/modules/auth/session/components/session-list.js +5 -3
- package/lib/module/modules/auth/session/components/session-list.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/footer.js +0 -1
- package/lib/module/modules/auth/sign-in/components/footer.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js +2 -2
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/header/description.js +0 -1
- package/lib/module/modules/auth/sign-in/components/header/description.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/header/title.js +5 -2
- package/lib/module/modules/auth/sign-in/components/header/title.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/login-with-separator.js +1 -2
- package/lib/module/modules/auth/sign-in/components/login-with-separator.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/register-link.js +4 -3
- package/lib/module/modules/auth/sign-in/components/register-link.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/site-url.js +1 -3
- package/lib/module/modules/auth/sign-in/components/site-url.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-text.js +1 -3
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-text.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-text.js +1 -3
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-text.js.map +1 -1
- package/lib/module/modules/auth/utils/sign-out-google.js +12 -0
- package/lib/module/modules/auth/utils/sign-out-google.js.map +1 -0
- package/lib/module/modules/breathing-exercise/components/method-name.js +0 -1
- package/lib/module/modules/breathing-exercise/components/method-name.js.map +1 -1
- package/lib/module/modules/breathing-exercise/components/remaining-time.js +0 -1
- package/lib/module/modules/breathing-exercise/components/remaining-time.js.map +1 -1
- package/lib/module/modules/bt-device/components/item/status.js +1 -2
- package/lib/module/modules/bt-device/components/item/status.js.map +1 -1
- package/lib/module/modules/bt-device/components/item/sub-title.js +1 -2
- package/lib/module/modules/bt-device/components/item/sub-title.js.map +1 -1
- package/lib/module/modules/bt-device/components/item/title.js +1 -2
- package/lib/module/modules/bt-device/components/item/title.js.map +1 -1
- package/lib/module/modules/bt-device/constants/supported-devices.js +4 -2
- package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
- package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +2 -1
- package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +37 -14
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js +17 -1
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js +52 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js +20 -11
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js +5 -8
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +1 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +5 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +56 -16
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js +9 -6
- package/lib/module/modules/bt-management/services/devices/boso/boso.medicus.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js +98 -2
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js +68 -0
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.files.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js +48 -0
- package/lib/module/modules/bt-management/services/devices/bp2/bp2.history-sequencer.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +0 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +22 -2
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +1 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js +1 -1
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/types/bluetooth-error.js +4 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -1
- package/lib/module/modules/bt-management/utils/device-title.js +12 -0
- package/lib/module/modules/bt-management/utils/device-title.js.map +1 -0
- package/lib/module/modules/content/content-card/components/cover-badge.js +1 -3
- package/lib/module/modules/content/content-card/components/cover-badge.js.map +1 -1
- package/lib/module/modules/content/content-card/components/title.js +1 -3
- package/lib/module/modules/content/content-card/components/title.js.map +1 -1
- package/lib/module/modules/content/content-detail/components/content-detail-rich-content.js +1 -1
- package/lib/module/modules/content/content-detail/components/content-detail-rich-content.js.map +1 -1
- package/lib/module/modules/data-sync/components/manually-request-sheet/description.js +2 -2
- package/lib/module/modules/data-sync/components/manually-request-sheet/description.js.map +1 -1
- package/lib/module/modules/data-sync/components/manually-request-sheet/title.js +0 -1
- package/lib/module/modules/data-sync/components/manually-request-sheet/title.js.map +1 -1
- package/lib/module/modules/data-sync/components/sync-progress-list/sync-progress-list.js +30 -21
- package/lib/module/modules/data-sync/components/sync-progress-list/sync-progress-list.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-records-to-observation.js +13 -0
- package/lib/module/modules/data-sync/utils/convert-records-to-observation.js.map +1 -1
- package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js +19 -4
- package/lib/module/modules/data-sync/utils/convert-samples-to-observation.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +1 -0
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-observation-device.js +50 -0
- package/lib/module/modules/data-sync/utils/health-observation-device.js.map +1 -0
- package/lib/module/modules/diary/components/no-data.js +1 -2
- package/lib/module/modules/diary/components/no-data.js.map +1 -1
- package/lib/module/modules/helpers/form-items/form-date-field.js +1 -1
- package/lib/module/modules/helpers/form-items/form-date-field.js.map +1 -1
- package/lib/module/modules/helpers/form-items/form-select.js +13 -13
- package/lib/module/modules/helpers/form-items/form-select.js.map +1 -1
- package/lib/module/modules/image/components/optimized-image.js +18 -0
- package/lib/module/modules/image/components/optimized-image.js.map +1 -1
- package/lib/module/modules/journal/past-journal/components/title.js +0 -1
- package/lib/module/modules/journal/past-journal/components/title.js.map +1 -1
- package/lib/module/modules/language-switcher/components/option/label.js +0 -1
- package/lib/module/modules/language-switcher/components/option/label.js.map +1 -1
- package/lib/module/modules/measurement/components/date-range.js +4 -3
- package/lib/module/modules/measurement/components/date-range.js.map +1 -1
- package/lib/module/modules/measurement/components/measurement-list-item.js +10 -10
- package/lib/module/modules/measurement/components/measurement-list-item.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js +1 -1
- package/lib/module/modules/questionnaire-response-form/components/fields/questionnaire-date-field.js.map +1 -1
- package/lib/module/modules/setting/components/list-header.js +1 -2
- package/lib/module/modules/setting/components/list-header.js.map +1 -1
- package/lib/module/modules/setting/components/setting-list-item.js +0 -1
- package/lib/module/modules/setting/components/setting-list-item.js.map +1 -1
- package/lib/module/modules/tab/components/tab-item.js +0 -1
- package/lib/module/modules/tab/components/tab-item.js.map +1 -1
- package/lib/module/modules/theme/utils/generate-theme.js +35 -4
- package/lib/module/modules/theme/utils/generate-theme.js.map +1 -1
- package/lib/module/modules/tile/components/measured-value.js +0 -3
- package/lib/module/modules/tile/components/measured-value.js.map +1 -1
- package/lib/module/modules/tile/components/title.js +0 -1
- package/lib/module/modules/tile/components/title.js.map +1 -1
- package/lib/module/modules/ui/components/background-sync-setting.js +11 -5
- package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -1
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +19 -6
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/module/modules/ui/components/health-import-card.js +15 -3
- package/lib/module/modules/ui/components/health-import-card.js.map +1 -1
- package/lib/module/modules/ui/components/measurement-trend-chart.js +91 -0
- package/lib/module/modules/ui/components/measurement-trend-chart.js.map +1 -0
- package/lib/module/modules/ui/components/pairing-flow.js +78 -34
- package/lib/module/modules/ui/components/pairing-flow.js.map +1 -1
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js +4 -5
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -1
- package/lib/module/modules/ui/index.js +1 -0
- package/lib/module/modules/ui/index.js.map +1 -1
- package/lib/module/modules/ui/use-ovok-ui.js +4 -1
- package/lib/module/modules/ui/use-ovok-ui.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +8 -2
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/types/logout-button-props.d.ts +6 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/types/logout-button-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/header/title.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/login-link.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/header/title.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts +2 -46
- package/lib/typescript/commonjs/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts +1 -47
- package/lib/typescript/commonjs/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-context-type.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/header/title.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/register-link.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +6 -2
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +17 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +28 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-title.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/manually-request-sheet/description.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts +8 -5
- package/lib/typescript/commonjs/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-observation-device.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-observation-device.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-select.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/measurement/components/date-range.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/measurement/components/measurement-list-item.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/measurement/types/measurement-list-item-props.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/measurement/types/measurement-list-item-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/theme/hooks/use-app-theme.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/theme/hooks/use-app-theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/theme/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/theme/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/theme/types/theme-provider-props.d.ts +12 -3
- package/lib/typescript/commonjs/src/modules/theme/types/theme-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/theme/utils/generate-theme.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/theme/utils/generate-theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +5 -1
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/measurement-trend-chart.d.ts +19 -0
- package/lib/typescript/commonjs/src/modules/ui/components/measurement-trend-chart.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +16 -1
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts +2 -0
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +8 -2
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/types/logout-button-props.d.ts +6 -1
- package/lib/typescript/module/src/modules/auth/logout-button/types/logout-button-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/header/title.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/login-link.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/header/title.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts +2 -46
- package/lib/typescript/module/src/modules/auth/reset-password/contexts/reset-password-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts +1 -47
- package/lib/typescript/module/src/modules/auth/reset-password/hooks/use-reset-password-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-context-type.d.ts +3 -1
- package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts +1 -0
- package/lib/typescript/module/src/modules/auth/reset-password/types/reset-password-form-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/header/title.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/register-link.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/utils/sign-out-google.d.ts +3 -0
- package/lib/typescript/module/src/modules/auth/utils/sign-out-google.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +6 -2
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +9 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/boso/boso.medicus.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts +17 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts +17 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.files.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts +28 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bp2/bp2.history-sequencer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +7 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/utils/device-title.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/components/manually-request-sheet/description.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts +8 -5
- package/lib/typescript/module/src/modules/data-sync/components/sync-progress-list/sync-progress-list.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-records-to-observation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-samples-to-observation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/generate-observation-entry.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-observation-device.d.ts +9 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-observation-device.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/helpers/form-items/form-date-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-select.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/measurement/components/date-range.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/measurement/components/measurement-list-item.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/measurement/types/measurement-list-item-props.d.ts +2 -0
- package/lib/typescript/module/src/modules/measurement/types/measurement-list-item-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/theme/hooks/use-app-theme.d.ts +3 -1
- package/lib/typescript/module/src/modules/theme/hooks/use-app-theme.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/theme/index.d.ts +1 -1
- package/lib/typescript/module/src/modules/theme/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/theme/types/theme-provider-props.d.ts +12 -3
- package/lib/typescript/module/src/modules/theme/types/theme-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/theme/utils/generate-theme.d.ts +3 -1
- package/lib/typescript/module/src/modules/theme/utils/generate-theme.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +4 -1
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +7 -1
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +5 -1
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/measurement-trend-chart.d.ts +19 -0
- package/lib/typescript/module/src/modules/ui/components/measurement-trend-chart.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +16 -1
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/types.d.ts +4 -1
- package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -15,12 +15,15 @@ const BOSO_MEDICUS_NAME_MATCH = /^boso medicus [0-9a-f]{6}$/i;
|
|
|
15
15
|
* pairing. The shared profile declaration handles mmHg, optional timestamps, pulse rate and
|
|
16
16
|
* the profile's user/status bytes without inventing a boso-specific wire format.
|
|
17
17
|
*/
|
|
18
|
-
const bosoMedicusMonitor = params =>
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
stuckDataTimeoutMs:
|
|
23
|
-
|
|
18
|
+
const bosoMedicusMonitor = params => ({
|
|
19
|
+
...standardBloodPressureDevice({
|
|
20
|
+
id: params.id ?? "boso-medicus-system",
|
|
21
|
+
nameMatch: params.nameMatch ?? BOSO_MEDICUS_NAME_MATCH,
|
|
22
|
+
...(params.stuckDataTimeoutMs === undefined ? {} : {
|
|
23
|
+
stuckDataTimeoutMs: params.stuckDataTimeoutMs
|
|
24
|
+
})
|
|
25
|
+
}),
|
|
26
|
+
reportsBondedEvent: true
|
|
24
27
|
});
|
|
25
28
|
export { BOSO_MEDICUS_NAME_MATCH, bosoMedicusMonitor };
|
|
26
29
|
//# sourceMappingURL=boso.medicus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["standardBloodPressureDevice","BOSO_MEDICUS_NAME_MATCH","bosoMedicusMonitor","params","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtBC,MAAyB,
|
|
1
|
+
{"version":3,"names":["standardBloodPressureDevice","BOSO_MEDICUS_NAME_MATCH","bosoMedicusMonitor","params","id","nameMatch","stuckDataTimeoutMs","undefined","reportsBondedEvent"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/boso/boso.medicus.ts"],"mappings":";;AACA,SAASA,2BAA2B,QAAQ,2CAAwC;;AAEpF;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAuB,GAAG,6BAA6B;AAc7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,kBAAkB,GACtBC,MAAyB,KACG;EAC5B,GAAGH,2BAA2B,CAAC;IAC7BI,EAAE,EAAED,MAAM,CAACC,EAAE,IAAI,qBAAqB;IACtCC,SAAS,EAAEF,MAAM,CAACE,SAAS,IAAIJ,uBAAuB;IACtD,IAAIE,MAAM,CAACG,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;MAAED,kBAAkB,EAAEH,MAAM,CAACG;IAAmB,CAAC;EACvD,CAAC,CAAC;EACFE,kBAAkB,EAAE;AACtB,CAAC,CAAC;AAEF,SAASP,uBAAuB,EAAEC,kBAAkB","ignoreList":[]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
|
|
3
5
|
import { MeasurementTypeKey, EcgDiagnosticFlag } from "@ovok/core";
|
|
4
6
|
import { BloodPressureStates } from "@ovok/core/dist/client/observation/types/measurement/BloodPressureStates";
|
|
5
7
|
import { bloodPressureTranslatedExceptionMap } from "../../../constants/blood-pressure-translated-exception-map.js";
|
|
@@ -9,7 +11,9 @@ import { i16FromHex } from "../../../utils/i-16-from-hex.js";
|
|
|
9
11
|
import { le16FromHex } from "../../../utils/le-16-from-hex.js";
|
|
10
12
|
import { le32FromHex } from "../../../utils/le-32-from-hex.js";
|
|
11
13
|
import { BTManagedDevice } from "../bt-managed-device.js";
|
|
14
|
+
import { decodeBP2File } from "./bp2.files.js";
|
|
12
15
|
import { BP2FrameReader } from "./bp2.frame-reader.js";
|
|
16
|
+
import { BP2HistorySequencer } from "./bp2.history-sequencer.js";
|
|
13
17
|
import { bp2MainServices } from "./bp2.main-services.js";
|
|
14
18
|
|
|
15
19
|
/**
|
|
@@ -17,16 +21,46 @@ import { bp2MainServices } from "./bp2.main-services.js";
|
|
|
17
21
|
* notifications than the 23 byte default allows.
|
|
18
22
|
*/
|
|
19
23
|
const BP2_PREFERRED_MTU = 247;
|
|
20
|
-
|
|
24
|
+
|
|
25
|
+
/** BP2 ECG waveform resolution from the device protocol. */
|
|
26
|
+
const BP2_ECG_MILLIVOLTS_PER_COUNT = 0.003098;
|
|
27
|
+
class BP2Device extends BTManagedDevice {
|
|
21
28
|
collectedValues = [];
|
|
22
29
|
diagramPoints = [];
|
|
23
30
|
duration = 0;
|
|
31
|
+
historyMode = false;
|
|
32
|
+
historyRequested = false;
|
|
33
|
+
pendingResults = new Map();
|
|
34
|
+
reportedFileNames = new Set();
|
|
24
35
|
mainServices = bp2MainServices;
|
|
25
36
|
stuckDataTimeout = 5_000;
|
|
26
37
|
onStreamStart = () => {
|
|
27
38
|
this.collectedValues = [];
|
|
28
39
|
this.diagramPoints = [];
|
|
29
40
|
this.duration = 0;
|
|
41
|
+
this.lastLiveResultSignature = undefined;
|
|
42
|
+
};
|
|
43
|
+
createCommandSequencer = () => {
|
|
44
|
+
this.historyMode = true;
|
|
45
|
+
this.historyRequested = false;
|
|
46
|
+
this.lastLiveResultSignature = undefined;
|
|
47
|
+
this.pendingResults.clear();
|
|
48
|
+
this.reportedFileNames.clear();
|
|
49
|
+
const service = bp2MainServices[0];
|
|
50
|
+
const write = service.writeUuid;
|
|
51
|
+
return new BP2HistorySequencer({
|
|
52
|
+
write: {
|
|
53
|
+
serviceUuid: service.uuid,
|
|
54
|
+
characteristicUuid: write.uuid
|
|
55
|
+
},
|
|
56
|
+
onFile: this.handleHistoryFile,
|
|
57
|
+
onError: this.handleHistoryError,
|
|
58
|
+
onTransferFinished: this.reportPendingResults,
|
|
59
|
+
shouldStartTransfer: () => this.historyRequested,
|
|
60
|
+
onTransferRequested: () => {
|
|
61
|
+
this.historyRequested = false;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
30
64
|
};
|
|
31
65
|
frameReader = new BP2FrameReader();
|
|
32
66
|
preferredMtu = BP2_PREFERRED_MTU;
|
|
@@ -53,6 +87,10 @@ export class BP2Device extends BTManagedDevice {
|
|
|
53
87
|
this.onError?.(error);
|
|
54
88
|
return;
|
|
55
89
|
}
|
|
90
|
+
if (this.historyMode) {
|
|
91
|
+
this.queueHistoryResult(successResult);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
56
94
|
this.onResult?.(successResult);
|
|
57
95
|
return;
|
|
58
96
|
}
|
|
@@ -80,7 +118,7 @@ export class BP2Device extends BTManagedDevice {
|
|
|
80
118
|
for (let i = 0; i < samplingNum; i++) {
|
|
81
119
|
const byteIndexInData = samplesStart + i * 2;
|
|
82
120
|
const sampleVal = i16FromHex(data, byteIndexInData);
|
|
83
|
-
this.diagramPoints.push(sampleVal);
|
|
121
|
+
this.diagramPoints.push(sampleVal * BP2_ECG_MILLIVOLTS_PER_COUNT);
|
|
84
122
|
}
|
|
85
123
|
}
|
|
86
124
|
handleBloodPressureResult(successResult) {
|
|
@@ -92,6 +130,10 @@ export class BP2Device extends BTManagedDevice {
|
|
|
92
130
|
this.onError?.(error);
|
|
93
131
|
return;
|
|
94
132
|
}
|
|
133
|
+
if (this.historyMode) {
|
|
134
|
+
this.queueHistoryResult(successResult);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
95
137
|
this.onResult?.(successResult);
|
|
96
138
|
}
|
|
97
139
|
checkIfHasErrorForBloodPressure(successResult) {
|
|
@@ -118,6 +160,59 @@ export class BP2Device extends BTManagedDevice {
|
|
|
118
160
|
}
|
|
119
161
|
return undefined;
|
|
120
162
|
}
|
|
163
|
+
queueHistoryResult = result => {
|
|
164
|
+
const signature = this.signatureFor(result);
|
|
165
|
+
if (signature === this.lastLiveResultSignature) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
this.lastLiveResultSignature = signature;
|
|
169
|
+
this.pendingResults.set(result.measurementTypeKey, result);
|
|
170
|
+
this.historyRequested = true;
|
|
171
|
+
};
|
|
172
|
+
signatureFor = result => result.measurementTypeKey === MeasurementTypeKey.bloodPressure ? [result.measurementTypeKey, result.systolic, result.diastolic, result.heartRate, result.status].join("|") : [result.measurementTypeKey, result.heartRate, result.diagnosticResult, result.duration, result.diagramPoints?.join(",")].join("|");
|
|
173
|
+
handleHistoryFile = file => {
|
|
174
|
+
if (this.reportedFileNames.has(file.name)) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const decoded = decodeBP2File(file.name, file.content);
|
|
178
|
+
if (!decoded) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const pending = this.pendingResults.get(decoded.measurementTypeKey);
|
|
182
|
+
if (!pending || !this.matchesPendingResult(pending, decoded)) {
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
this.reportedFileNames.add(file.name);
|
|
186
|
+
const result = {
|
|
187
|
+
...decoded,
|
|
188
|
+
caseType: CaseType.RESULT
|
|
189
|
+
};
|
|
190
|
+
const error = result.measurementTypeKey === MeasurementTypeKey.bloodPressure ? this.checkIfHasErrorForBloodPressure(result) : this.checkIfHasErrorForEcg(result);
|
|
191
|
+
if (error) {
|
|
192
|
+
this.onError?.(error);
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
this.pendingResults.delete(result.measurementTypeKey);
|
|
196
|
+
this.onResult?.(result);
|
|
197
|
+
};
|
|
198
|
+
matchesPendingResult = (pending, decoded) => {
|
|
199
|
+
if (decoded.measurementTypeKey === MeasurementTypeKey.bloodPressure) {
|
|
200
|
+
const pendingBloodPressure = pending;
|
|
201
|
+
const decodedBloodPressure = decoded;
|
|
202
|
+
return pendingBloodPressure.systolic === decodedBloodPressure.systolic && pendingBloodPressure.diastolic === decodedBloodPressure.diastolic && pendingBloodPressure.heartRate === decodedBloodPressure.heartRate && pendingBloodPressure.status === decodedBloodPressure.status;
|
|
203
|
+
}
|
|
204
|
+
const pendingEcg = pending;
|
|
205
|
+
const decodedEcg = decoded;
|
|
206
|
+
return pendingEcg.heartRate === decodedEcg.heartRate && pendingEcg.diagnosticResult === decodedEcg.diagnosticResult && pendingEcg.duration === decodedEcg.duration;
|
|
207
|
+
};
|
|
208
|
+
handleHistoryError = reason => {
|
|
209
|
+
this.onError?.(new Error(`BP2 history: ${reason}`));
|
|
210
|
+
this.reportPendingResults();
|
|
211
|
+
};
|
|
212
|
+
reportPendingResults = () => {
|
|
213
|
+
this.pendingResults.forEach(result => this.onResult?.(result));
|
|
214
|
+
this.pendingResults.clear();
|
|
215
|
+
};
|
|
121
216
|
checkIfHasErrorForEcg(successResult) {
|
|
122
217
|
const ecgMeasurement = successResult;
|
|
123
218
|
if (ecgMeasurement.diagnosticResult === EcgDiagnosticFlag.POOR_WAVEFORM) {
|
|
@@ -145,4 +240,5 @@ export class BP2Device extends BTManagedDevice {
|
|
|
145
240
|
return undefined;
|
|
146
241
|
}
|
|
147
242
|
}
|
|
243
|
+
export { BP2Device, BP2_ECG_MILLIVOLTS_PER_COUNT };
|
|
148
244
|
//# sourceMappingURL=bp2.device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","EcgDiagnosticFlag","BloodPressureStates","bloodPressureTranslatedExceptionMap","CaseType","hexToByte","i16FromHex","le16FromHex","le32FromHex","BTManagedDevice","BP2FrameReader","bp2MainServices","BP2_PREFERRED_MTU","BP2Device","collectedValues","diagramPoints","duration","mainServices","stuckDataTimeout","onStreamStart","frameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","EcgDiagnosticFlag","BloodPressureStates","bloodPressureTranslatedExceptionMap","CaseType","hexToByte","i16FromHex","le16FromHex","le32FromHex","BTManagedDevice","decodeBP2File","BP2FrameReader","BP2HistorySequencer","bp2MainServices","BP2_PREFERRED_MTU","BP2_ECG_MILLIVOLTS_PER_COUNT","BP2Device","collectedValues","diagramPoints","duration","historyMode","historyRequested","pendingResults","Map","reportedFileNames","Set","mainServices","stuckDataTimeout","onStreamStart","lastLiveResultSignature","undefined","createCommandSequencer","clear","service","write","writeUuid","serviceUuid","uuid","characteristicUuid","onFile","handleHistoryFile","onError","handleHistoryError","onTransferFinished","reportPendingResults","shouldStartTransfer","onTransferRequested","frameReader","preferredMtu","handleSuccessResult","successResult","measurementTypeKey","caseType","Error","ecg","handleEcgResult","bloodPressure","handleBloodPressureResult","RESULT","error","checkIfHasErrorForEcg","queueHistoryResult","onResult","handleEcgStream","lenL","lenH","dataLen","dataStart","dataEnd","data","slice","samplingNum","samplesStart","i","byteIndexInData","sampleVal","push","checkIfHasErrorForBloodPressure","bpMeasurement","status","diastolic","systolic","heartRate","REGULAR","errorString","get","DEVICE_ERROR","result","signature","signatureFor","set","join","diagnosticResult","file","has","name","decoded","content","pending","matchesPendingResult","add","delete","pendingBloodPressure","decodedBloodPressure","pendingEcg","decodedEcg","reason","forEach","ecgMeasurement","POOR_WAVEFORM","LEAD_OFF","length"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { MeasurementTypeKey } from "@ovok/core";
|
|
4
|
+
import { convertBpStateFlag } from "../../../utils/convert-bp-state-flag.js";
|
|
5
|
+
import { convertEcgDiagnosticFlag } from "../../../utils/convert-ecg-diagnostic-flag.js";
|
|
6
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
7
|
+
import { le32FromHex } from "../../../utils/le-32-from-hex.js";
|
|
8
|
+
const BP2_BLOOD_PRESSURE_FILE_TYPE = 1;
|
|
9
|
+
const BP2_ECG_FILE_TYPE = 2;
|
|
10
|
+
const BP2_BLOOD_PRESSURE_FILE_BYTES = 19;
|
|
11
|
+
const BP2_ECG_WAVEFORM_OFFSET = 48;
|
|
12
|
+
const BP2_ECG_MILLIVOLTS_PER_COUNT = 0.003098;
|
|
13
|
+
const recordedAtFromSeconds = seconds => {
|
|
14
|
+
if (seconds <= 0) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const recordedAt = new Date(seconds * 1000);
|
|
18
|
+
return Number.isNaN(recordedAt.getTime()) ? undefined : recordedAt;
|
|
19
|
+
};
|
|
20
|
+
const signed16FromHex = (content, offset) => {
|
|
21
|
+
const value = hexToByte(content[offset] ?? "0") | hexToByte(content[offset + 1] ?? "0") << 8;
|
|
22
|
+
return value & 0x8000 ? value - 0x10000 : value;
|
|
23
|
+
};
|
|
24
|
+
const decodeBP2BloodPressureFile = (name, content) => {
|
|
25
|
+
if (content.length < BP2_BLOOD_PRESSURE_FILE_BYTES || hexToByte(content[1] ?? "0") !== BP2_BLOOD_PRESSURE_FILE_TYPE) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
measurementTypeKey: MeasurementTypeKey.bloodPressure,
|
|
30
|
+
systolic: Number.parseInt(`${content[12] ?? "00"}${content[11] ?? "00"}`, 16),
|
|
31
|
+
diastolic: Number.parseInt(`${content[14] ?? "00"}${content[13] ?? "00"}`, 16),
|
|
32
|
+
meanArterialPressure: Number.parseInt(`${content[16] ?? "00"}${content[15] ?? "00"}`, 16),
|
|
33
|
+
heartRate: hexToByte(content[17] ?? "0"),
|
|
34
|
+
status: convertBpStateFlag(content[18] ?? "00"),
|
|
35
|
+
recordedAt: recordedAtFromSeconds(le32FromHex([...content], 2)),
|
|
36
|
+
recordingId: name
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
const decodeBP2EcgFile = (name, content) => {
|
|
40
|
+
if (content.length <= BP2_ECG_WAVEFORM_OFFSET || hexToByte(content[1] ?? "0") !== BP2_ECG_FILE_TYPE) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const diagramPoints = [];
|
|
44
|
+
for (let index = BP2_ECG_WAVEFORM_OFFSET; index + 1 < content.length; index += 2) {
|
|
45
|
+
diagramPoints.push(signed16FromHex(content, index) * BP2_ECG_MILLIVOLTS_PER_COUNT);
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
measurementTypeKey: MeasurementTypeKey.ecg,
|
|
49
|
+
heartRate: Number.parseInt(`${content[21] ?? "00"}${content[20] ?? "00"}`, 16),
|
|
50
|
+
diagnosticResult: convertEcgDiagnosticFlag(content.slice(16, 20).join("")),
|
|
51
|
+
diagramPoints,
|
|
52
|
+
duration: le32FromHex([...content], 10),
|
|
53
|
+
recordedAt: recordedAtFromSeconds(le32FromHex([...content], 2)),
|
|
54
|
+
recordingId: name
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
const decodeBP2File = (name, content) => {
|
|
58
|
+
const fileType = hexToByte(content[1] ?? "0");
|
|
59
|
+
if (fileType === BP2_BLOOD_PRESSURE_FILE_TYPE) {
|
|
60
|
+
return decodeBP2BloodPressureFile(name, content);
|
|
61
|
+
}
|
|
62
|
+
if (fileType === BP2_ECG_FILE_TYPE) {
|
|
63
|
+
return decodeBP2EcgFile(name, content);
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
};
|
|
67
|
+
export { decodeBP2BloodPressureFile, decodeBP2EcgFile, decodeBP2File, BP2_BLOOD_PRESSURE_FILE_BYTES, BP2_ECG_MILLIVOLTS_PER_COUNT, BP2_ECG_WAVEFORM_OFFSET };
|
|
68
|
+
//# sourceMappingURL=bp2.files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","convertBpStateFlag","convertEcgDiagnosticFlag","hexToByte","le32FromHex","BP2_BLOOD_PRESSURE_FILE_TYPE","BP2_ECG_FILE_TYPE","BP2_BLOOD_PRESSURE_FILE_BYTES","BP2_ECG_WAVEFORM_OFFSET","BP2_ECG_MILLIVOLTS_PER_COUNT","recordedAtFromSeconds","seconds","undefined","recordedAt","Date","Number","isNaN","getTime","signed16FromHex","content","offset","value","decodeBP2BloodPressureFile","name","length","measurementTypeKey","bloodPressure","systolic","parseInt","diastolic","meanArterialPressure","heartRate","status","recordingId","decodeBP2EcgFile","diagramPoints","index","push","ecg","diagnosticResult","slice","join","duration","decodeBP2File","fileType"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.files.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { hexToByte } from "../../../utils/hex-to-byte.js";
|
|
4
|
+
import { LepuCommandBuilder } from "../lepu/lepu.command-builder.js";
|
|
5
|
+
import { LepuFileTransfer } from "../lepu/lepu.file-transfer.js";
|
|
6
|
+
const BP2_REALTIME_COMMAND = 0x08;
|
|
7
|
+
const BP2_RESULT_STATES = new Set(["05", "07", "11"]);
|
|
8
|
+
/** Reads BP2 history only after a realtime result asks for its device timestamp. */
|
|
9
|
+
class BP2HistorySequencer {
|
|
10
|
+
builder = new LepuCommandBuilder();
|
|
11
|
+
constructor(params) {
|
|
12
|
+
this.params = params;
|
|
13
|
+
}
|
|
14
|
+
initialCommands = () => [this.pollCommand()];
|
|
15
|
+
isHistoryTransfer = () => true;
|
|
16
|
+
nextCommand = frame => {
|
|
17
|
+
if (this.transfer) {
|
|
18
|
+
return this.transfer.nextCommand(frame);
|
|
19
|
+
}
|
|
20
|
+
if (this.params.shouldStartTransfer() && this.isResultFrame(frame)) {
|
|
21
|
+
this.params.onTransferRequested();
|
|
22
|
+
return this.startTransfer();
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
};
|
|
26
|
+
startTransfer = () => {
|
|
27
|
+
this.transfer = new LepuFileTransfer({
|
|
28
|
+
write: this.params.write,
|
|
29
|
+
builder: this.builder,
|
|
30
|
+
onFile: this.params.onFile,
|
|
31
|
+
onError: this.params.onError,
|
|
32
|
+
afterTransfer: this.finishTransfer
|
|
33
|
+
});
|
|
34
|
+
return this.transfer.initialCommands();
|
|
35
|
+
};
|
|
36
|
+
finishTransfer = () => {
|
|
37
|
+
this.transfer = undefined;
|
|
38
|
+
this.params.onTransferFinished();
|
|
39
|
+
return [this.pollCommand()];
|
|
40
|
+
};
|
|
41
|
+
pollCommand = () => ({
|
|
42
|
+
...this.params.write,
|
|
43
|
+
frame: this.builder.build(BP2_REALTIME_COMMAND)
|
|
44
|
+
});
|
|
45
|
+
isResultFrame = frame => hexToByte(frame[1] ?? "0") === BP2_REALTIME_COMMAND && BP2_RESULT_STATES.has((frame[7] ?? "").toLowerCase());
|
|
46
|
+
}
|
|
47
|
+
export { BP2HistorySequencer, BP2_REALTIME_COMMAND };
|
|
48
|
+
//# sourceMappingURL=bp2.history-sequencer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["hexToByte","LepuCommandBuilder","LepuFileTransfer","BP2_REALTIME_COMMAND","BP2_RESULT_STATES","Set","BP2HistorySequencer","builder","constructor","params","initialCommands","pollCommand","isHistoryTransfer","nextCommand","frame","transfer","shouldStartTransfer","isResultFrame","onTransferRequested","startTransfer","undefined","write","onFile","onError","afterTransfer","finishTransfer","onTransferFinished","build","has","toLowerCase"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/bp2/bp2.history-sequencer.ts"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,+BAA4B;AACtD,SAASC,kBAAkB,QAAQ,iCAA8B;AACjE,SAAmBC,gBAAgB,QAAQ,+BAA4B;AAEvE,MAAMC,oBAAoB,GAAG,IAAI;AACjC,MAAMC,iBAAiB,GAAG,IAAIC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAWrD;AACA,MAAMC,mBAAmB,CAA6B;EACnCC,OAAO,GAAG,IAAIN,kBAAkB,CAAC,CAAC;EAG5CO,WAAWA,CAAkBC,MAAiC,EAAE;IAAA,KAAnCA,MAAiC,GAAjCA,MAAiC;EAAG;EAEjEC,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACC,WAAW,CAAC,CAAC,CACnB;EAEMC,iBAAiB,GAAGA,CAAA,KAAe,IAAI;EAEvCC,WAAW,GAChBC,KAAwB,IACiB;IACzC,IAAI,IAAI,CAACC,QAAQ,EAAE;MACjB,OAAO,IAAI,CAACA,QAAQ,CAACF,WAAW,CAACC,KAAK,CAAC;IACzC;IAEA,IACE,IAAI,CAACL,MAAM,CAACO,mBAAmB,CAAC,CAAC,IACjC,IAAI,CAACC,aAAa,CAACH,KAAK,CAAC,EACzB;MACA,IAAI,CAACL,MAAM,CAACS,mBAAmB,CAAC,CAAC;MAEjC,OAAO,IAAI,CAACC,aAAa,CAAC,CAAC;IAC7B;IAEA,OAAOC,SAAS;EAClB,CAAC;EAEOD,aAAa,GAAGA,CAAA,KAAgC;IACtD,IAAI,CAACJ,QAAQ,GAAG,IAAIb,gBAAgB,CAAC;MACnCmB,KAAK,EAAE,IAAI,CAACZ,MAAM,CAACY,KAAK;MACxBd,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBe,MAAM,EAAE,IAAI,CAACb,MAAM,CAACa,MAAM;MAC1BC,OAAO,EAAE,IAAI,CAACd,MAAM,CAACc,OAAO;MAC5BC,aAAa,EAAE,IAAI,CAACC;IACtB,CAAC,CAAC;IAEF,OAAO,IAAI,CAACV,QAAQ,CAACL,eAAe,CAAC,CAAC;EACxC,CAAC;EAEOe,cAAc,GAAGA,CAAA,KAAgC;IACvD,IAAI,CAACV,QAAQ,GAAGK,SAAS;IACzB,IAAI,CAACX,MAAM,CAACiB,kBAAkB,CAAC,CAAC;IAEhC,OAAO,CAAC,IAAI,CAACf,WAAW,CAAC,CAAC,CAAC;EAC7B,CAAC;EAEOA,WAAW,GAAGA,CAAA,MAAsB;IAC1C,GAAG,IAAI,CAACF,MAAM,CAACY,KAAK;IACpBP,KAAK,EAAE,IAAI,CAACP,OAAO,CAACoB,KAAK,CAACxB,oBAAoB;EAChD,CAAC,CAAC;EAEMc,aAAa,GAAIH,KAAwB,IAC/Cd,SAAS,CAACc,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAKX,oBAAoB,IACnDC,iBAAiB,CAACwB,GAAG,CAAC,CAACd,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAEe,WAAW,CAAC,CAAC,CAAC;AACzD;AAEA,SAASvB,mBAAmB,EAAEH,oBAAoB","ignoreList":[]}
|
|
@@ -62,7 +62,6 @@ export class BTConnectionHandler {
|
|
|
62
62
|
code: 2,
|
|
63
63
|
message: error instanceof Error ? error.message : String(error)
|
|
64
64
|
});
|
|
65
|
-
throw error;
|
|
66
65
|
} finally {
|
|
67
66
|
recordOvokDuration("ovok.device.connection.duration", Date.now() - startedAt, {
|
|
68
67
|
deviceId: this.device.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokDuration","recordOvokMetric","startOvokSpan","BluetoothErrorCode","toBluetoothError","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","startedAt","Date","now","span","deviceId","id","deviceName","name","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","readBatteryLevel","onStatusChanged","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","setStatus","code","error","Error","message","PAIRING_REQUIRED","onConnectionEvent","kind","pairingCodeRequired","DISCONNECTED","recordException","String","end","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","requestedMtu","characteristic","readCharacteristicForService","value","Number","parseInt","isFinite","batteryLevel","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokDuration","recordOvokMetric","startOvokSpan","BluetoothErrorCode","toBluetoothError","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","startedAt","Date","now","span","deviceId","id","deviceName","name","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","readBatteryLevel","onStatusChanged","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","setStatus","code","error","Error","message","PAIRING_REQUIRED","onConnectionEvent","kind","pairingCodeRequired","DISCONNECTED","recordException","String","end","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","requestedMtu","characteristic","readCharacteristicForService","value","Number","parseInt","isFinite","batteryLevel","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,8 +13,10 @@ import { BTConnectionHandler } from "./bt-connection-handler.js";
|
|
|
13
13
|
import { BTDataProcessor } from "./bt-data-processor.js";
|
|
14
14
|
import { pollingSequencerFor } from "./polling-command-sequencer.js";
|
|
15
15
|
export class BTManagedDevice {
|
|
16
|
+
connected = false;
|
|
16
17
|
resultReportedThisConnection = false;
|
|
17
18
|
historyTransferActive = false;
|
|
19
|
+
bondedEventReported = false;
|
|
18
20
|
reportedMeasurementKinds = new Set();
|
|
19
21
|
reportedDailyTotals = new Set();
|
|
20
22
|
historyResultCount = 0;
|
|
@@ -58,6 +60,9 @@ export class BTManagedDevice {
|
|
|
58
60
|
* long payloads. Devices that leave this undefined keep the platform default.
|
|
59
61
|
*/
|
|
60
62
|
|
|
63
|
+
/** Only declarations with an actual bonding flow should report this event. */
|
|
64
|
+
reportsBondedEvent = false;
|
|
65
|
+
|
|
61
66
|
/**
|
|
62
67
|
* Decides whether the buffer holds a parseable frame.
|
|
63
68
|
*
|
|
@@ -216,6 +221,7 @@ export class BTManagedDevice {
|
|
|
216
221
|
|
|
217
222
|
/** Stops this device's subscriptions and closes its BLE connection. */
|
|
218
223
|
disconnect = async () => {
|
|
224
|
+
this.connected = false;
|
|
219
225
|
this.destroy();
|
|
220
226
|
try {
|
|
221
227
|
await this.device.cancelConnection();
|
|
@@ -226,7 +232,7 @@ export class BTManagedDevice {
|
|
|
226
232
|
});
|
|
227
233
|
}
|
|
228
234
|
};
|
|
229
|
-
|
|
235
|
+
connectInternal = async () => {
|
|
230
236
|
this.resultReportedThisConnection = false;
|
|
231
237
|
this.reportedMeasurementKinds.clear();
|
|
232
238
|
this.reportedDailyTotals.clear();
|
|
@@ -238,8 +244,10 @@ export class BTManagedDevice {
|
|
|
238
244
|
this.historyTransferActive = sequencer.isHistoryTransfer?.() === true;
|
|
239
245
|
this.connectionHandler = new BTConnectionHandler(this.device, this.mainServices, {
|
|
240
246
|
onStatusChanged: status => {
|
|
247
|
+
this.connected = status === DeviceStatus.CONNECTED;
|
|
241
248
|
this.onDeviceStatusChanged?.bind(this)(status);
|
|
242
|
-
if (status === DeviceStatus.CONNECTED) {
|
|
249
|
+
if (status === DeviceStatus.CONNECTED && this.reportsBondedEvent && !this.bondedEventReported) {
|
|
250
|
+
this.bondedEventReported = true;
|
|
243
251
|
this.onConnectionEvent?.({
|
|
244
252
|
deviceData: this.deviceData,
|
|
245
253
|
kind: "bonded"
|
|
@@ -294,5 +302,17 @@ export class BTManagedDevice {
|
|
|
294
302
|
}, this.frameReader);
|
|
295
303
|
await this.connectionHandler.connect();
|
|
296
304
|
};
|
|
305
|
+
connect = () => {
|
|
306
|
+
if (this.connectionPromise) {
|
|
307
|
+
return this.connectionPromise;
|
|
308
|
+
}
|
|
309
|
+
if (this.connected) {
|
|
310
|
+
return Promise.resolve();
|
|
311
|
+
}
|
|
312
|
+
this.connectionPromise = this.connectInternal().finally(() => {
|
|
313
|
+
this.connectionPromise = undefined;
|
|
314
|
+
});
|
|
315
|
+
return this.connectionPromise;
|
|
316
|
+
};
|
|
297
317
|
}
|
|
298
318
|
//# sourceMappingURL=bt-managed-device.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","DeviceStatus","createStableResultId","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","resultReportedThisConnection","historyTransferActive","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","model","error","Error","message","normalized","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","kind","progress","current","result","Object","defineProperty","value","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connect","clear","mainServices","sequencer","createCommandSequencer","isHistoryTransfer","onStatusChanged","bind","CONNECTED","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","DeviceStatus","createStableResultId","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","connected","resultReportedThisConnection","historyTransferActive","bondedEventReported","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","reportsBondedEvent","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","model","error","Error","message","normalized","originalError","translationKey","code","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","kind","progress","current","result","Object","defineProperty","value","enumerable","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connectInternal","clear","mainServices","sequencer","createCommandSequencer","isHistoryTransfer","onStatusChanged","CONNECTED","bind","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","connect","connectionPromise","Promise","resolve","finally"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,6 +32,7 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
32
32
|
this.deliveredEcgFileNames = new Set(params.deliveredEcgFileNames ?? []);
|
|
33
33
|
this.mainServices = definition.mainServices;
|
|
34
34
|
this.stuckDataTimeout = definition.stuckDataTimeout;
|
|
35
|
+
this.reportsBondedEvent = definition.reportsBondedEvent === true;
|
|
35
36
|
if (definition.preferredMtu !== undefined) {
|
|
36
37
|
this.preferredMtu = definition.preferredMtu;
|
|
37
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","deviceData","kind","current","receivedBytes","total","totalBytes","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","_frame","_recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","recordOffset","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":";;AAAA;AACA,SAASA,kBAAkB,QAAQ,YAAY;AAG/C,SAASC,QAAQ,QAAQ,6BAA0B;AAUnD,SAASC,oBAAoB,QAAQ,0CAAuC;AAC5E,SAASC,gBAAgB,QAAQ,qCAAkC;AACnE,SACEC,qBAAqB,EACrBC,mBAAmB,QACd,yCAAsC;AAC7C,SAASC,eAAe,QAAQ,yBAAsB;AACtD,SAASC,kBAAkB,QAAQ,iCAA8B;AAEjE,SAAmBC,gBAAgB,QAAQ,+BAA4B;AACvE,SAASC,eAAe,QAAQ,8BAA2B;AAC3D,SACEC,wBAAwB,EACxBC,4BAA4B,QACvB,+BAA4B;AAEnC,SACEC,mBAAmB,EACnBC,kBAAkB,QACb,4BAAyB;AAKhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,YAAY,SAASR,eAAe,CAAiB;EAO/CS,UAAU,GAAG,IAAIC,GAAG,CAAqC,CAAC;EAE3EC,WAAWA,CACTC,MAAc,EACdC,MAA0C,EAC1CC,UAAkC,EAClC;IACA,KAAK,CAACF,MAAM,EAAE;MACZ,GAAGC,MAAM;MACTE,uBAAuB,EACrBF,MAAM,CAACE,uBAAuB,IAAID,UAAU,CAACC;IACjD,CAAC,CAAC;IAEF,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACE,qBAAqB,GAAG,IAAIC,GAAG,CAACJ,MAAM,CAACG,qBAAqB,IAAI,EAAE,CAAC;IACxE,IAAI,CAACE,YAAY,GAAGJ,UAAU,CAACI,YAAY;IAC3C,IAAI,CAACC,gBAAgB,GAAGL,UAAU,CAACK,gBAAgB;
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","CaseType","createFrameValidator","parseMeasurement","discardedReadingError","rejectCustomReading","BTManagedDevice","LepuCommandBuilder","LepuFileTransfer","LepuFrameReader","decodeViatomEcgRecording","recordedAtFromViatomFileName","createLepuSequencer","recordLepuIdentity","CustomDevice","validators","Map","constructor","device","params","definition","oneReadingPerConnection","deliveredEcgFileNames","Set","mainServices","stuckDataTimeout","reportsBondedEvent","preferredMtu","undefined","declareLepuProtocol","frames","forEach","frame","uuid","set","lepu","frameReader","startBytes","createCommandSequencer","fileTransfer","write","serviceUuid","characteristicUuid","builder","onFile","reportViatomEcgFile","skipFiles","afterTransfer","pollCommand","build","onError","reason","Error","onProgress","progress","onConnectionEvent","deviceData","kind","current","receivedBytes","total","totalBytes","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","id","validatePackage","pkg","validate","get","String","toLowerCase","handleDependentResult","data","shouldReportDependentResult","reportFrame","error","parsingCase","OTHER","_data","handleSuccessResult","decorateReading","reading","_frame","_recordOffset","repeated","repeatedRecords","report","parsedData","records","Math","floor","from","recordBytes","record","recordOffset","measurements","discard","measurement","reportMeasurement","fieldNames","rejection","map","fields","find","message"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/custom/custom.device.ts"],"mappings":"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","ignoreList":[]}
|