@ovok/native 1.5.6 → 1.6.1
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/README.md +35 -19
- package/android/src/main/AndroidManifest.xml +1 -20
- package/app.plugin.js +181 -0
- package/lib/commonjs/index.js +5 -104
- package/lib/commonjs/index.js.map +1 -1
- 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-rate-limit-cooldown.js +23 -0
- package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js +105 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -0
- package/lib/commonjs/modules/auth/index.js +44 -0
- package/lib/commonjs/modules/auth/index.js.map +1 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +5 -2
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js +50 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-button.js +4 -0
- package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +6 -0
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +12 -0
- 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 +4 -0
- 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 +7 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/session/components/session-list.js +82 -0
- package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -0
- package/lib/commonjs/modules/auth/session/events.js +19 -0
- package/lib/commonjs/modules/auth/session/events.js.map +1 -0
- package/lib/commonjs/modules/auth/session/index.js +13 -0
- package/lib/commonjs/modules/auth/session/index.js.map +1 -0
- package/lib/commonjs/modules/auth/session/types/session-list-props.js +6 -0
- package/lib/commonjs/modules/auth/session/types/session-list-props.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +26 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js +58 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +13 -5
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/commonjs/modules/auth/types/session.js +2 -0
- package/lib/commonjs/modules/auth/types/session.js.map +1 -0
- package/lib/commonjs/modules/auth/utils/rate-limit.js +37 -0
- package/lib/commonjs/modules/auth/utils/rate-limit.js.map +1 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/background-sync/background-safe-storage.js +76 -0
- package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -0
- package/lib/commonjs/modules/background-sync/index.js +11 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device/index.js +0 -22
- package/lib/commonjs/modules/bt-device/index.js.map +1 -1
- package/lib/commonjs/modules/bt-device-instructions/index.js +39 -0
- package/lib/commonjs/modules/bt-device-instructions/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +64 -0
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +94 -26
- 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 +1 -0
- package/lib/commonjs/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +95 -0
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +51 -0
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +51 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +40 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +82 -0
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +79 -0
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +33 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +58 -0
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js +21 -0
- package/lib/commonjs/modules/bt-management/hooks/use-scan-control.js.map +1 -0
- package/lib/commonjs/modules/bt-management/index.js +154 -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 +41 -5
- 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 +91 -22
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +59 -0
- 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 +107 -4
- 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 +9 -1
- 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 -0
- package/lib/commonjs/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/push-notification.js +39 -0
- package/lib/commonjs/modules/bt-management/services/push-notification.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +132 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/index.js +28 -0
- package/lib/commonjs/modules/bt-management/testing/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/recorded-frames.js +23 -0
- package/lib/commonjs/modules/bt-management/testing/recorded-frames.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +82 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/device-connection-event.js +6 -0
- package/lib/commonjs/modules/bt-management/types/device-connection-event.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/result-policy.js +6 -0
- package/lib/commonjs/modules/bt-management/types/result-policy.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js +63 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -0
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +20 -5
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +29 -4
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +2 -2
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js +29 -21
- package/lib/commonjs/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/retry-save.js +99 -0
- package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -0
- package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -0
- package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/commonjs/modules/helpers/index.js +23 -4
- package/lib/commonjs/modules/helpers/index.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/s-log.js +4 -13
- package/lib/commonjs/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js +27 -17
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/telemetry.js +230 -0
- package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -0
- package/lib/commonjs/modules/image/components/optimized-image.js +31 -6
- package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +18 -9
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +44 -17
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
- package/lib/commonjs/modules/tile/components/task-icon.js +2 -1
- package/lib/commonjs/modules/tile/components/task-icon.js.map +1 -1
- package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js +4 -1
- package/lib/commonjs/modules/tile/constants/measurement-icon-svg.js.map +1 -1
- package/lib/commonjs/modules/ui/components/background-sync-setting.js +123 -0
- package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +119 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +175 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -0
- package/lib/commonjs/modules/ui/components/health-import-card.js +141 -0
- package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -0
- package/lib/commonjs/modules/ui/components/manual-entry-form.js +136 -0
- package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js +247 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +107 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
- package/lib/commonjs/modules/ui/components/urine-test-result.js +99 -0
- package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -0
- package/lib/commonjs/modules/ui/index.js +116 -0
- package/lib/commonjs/modules/ui/index.js.map +1 -0
- package/lib/commonjs/modules/ui/types.js +6 -0
- package/lib/commonjs/modules/ui/types.js.map +1 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js +51 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -0
- package/lib/module/index.js +3 -9
- package/lib/module/index.js.map +1 -1
- 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-rate-limit-cooldown.js +17 -0
- package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-session.js +99 -0
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -0
- package/lib/module/modules/auth/index.js +4 -0
- package/lib/module/modules/auth/index.js.map +1 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js +5 -2
- package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/inputs.js +50 -1
- package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-button.js +4 -0
- package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +6 -0
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js +12 -0
- 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 +4 -0
- 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 +7 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/session/components/session-list.js +76 -0
- package/lib/module/modules/auth/session/components/session-list.js.map +1 -0
- package/lib/module/modules/auth/session/events.js +13 -0
- package/lib/module/modules/auth/session/events.js.map +1 -0
- package/lib/module/modules/auth/session/index.js +4 -0
- package/lib/module/modules/auth/session/index.js.map +1 -0
- package/lib/module/modules/auth/session/types/session-list-props.js +4 -0
- package/lib/module/modules/auth/session/types/session-list-props.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/inputs.js +26 -0
- package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js +52 -0
- package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
- package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js +13 -5
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/module/modules/auth/types/session.js +2 -0
- package/lib/module/modules/auth/types/session.js.map +1 -0
- package/lib/module/modules/auth/utils/rate-limit.js +31 -0
- package/lib/module/modules/auth/utils/rate-limit.js.map +1 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/background-sync/background-safe-storage.js +71 -0
- package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -0
- package/lib/module/modules/background-sync/index.js +1 -0
- package/lib/module/modules/background-sync/index.js.map +1 -1
- package/lib/module/modules/bt-device/index.js +0 -2
- package/lib/module/modules/bt-device/index.js.map +1 -1
- package/lib/module/modules/bt-device-instructions/index.js +6 -0
- package/lib/module/modules/bt-device-instructions/index.js.map +1 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +58 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +94 -26
- 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 +1 -0
- package/lib/module/modules/bt-management/constants/measurement-field-catalog.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js +86 -0
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-background-sync.js +45 -0
- package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +45 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js +34 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-health-import.js +76 -0
- package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-measurements.js +73 -0
- package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +27 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js +52 -0
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-scan-control.js +16 -0
- package/lib/module/modules/bt-management/hooks/use-scan-control.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +14 -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 +41 -5
- 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 +91 -22
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +59 -0
- 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 +107 -4
- 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 +9 -1
- 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 -0
- package/lib/module/modules/bt-management/services/devices/lepu/lepu.file-transfer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
- package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
- package/lib/module/modules/bt-management/services/push-notification.js +34 -0
- package/lib/module/modules/bt-management/services/push-notification.js.map +1 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js +127 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
- package/lib/module/modules/bt-management/testing/index.js +5 -0
- package/lib/module/modules/bt-management/testing/index.js.map +1 -0
- package/lib/module/modules/bt-management/testing/recorded-frames.js +17 -0
- package/lib/module/modules/bt-management/testing/recorded-frames.js.map +1 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js +76 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -0
- package/lib/module/modules/bt-management/types/device-connection-event.js +4 -0
- package/lib/module/modules/bt-management/types/device-connection-event.js.map +1 -0
- package/lib/module/modules/bt-management/types/result-policy.js +4 -0
- package/lib/module/modules/bt-management/types/result-policy.js.map +1 -0
- package/lib/module/modules/bt-management/utils/result-identity.js +57 -0
- package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -0
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +20 -5
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +29 -4
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +2 -2
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js +29 -21
- package/lib/module/modules/data-sync/utils/generate-observation-entry.js.map +1 -1
- package/lib/module/modules/data-sync/utils/retry-save.js +92 -0
- package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -0
- package/lib/module/modules/helpers/form-items/form-field.js +2 -0
- package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/module/modules/helpers/index.js +2 -1
- package/lib/module/modules/helpers/index.js.map +1 -1
- package/lib/module/modules/helpers/utils/s-log.js +4 -12
- package/lib/module/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/module/modules/helpers/utils/sentry-logger.js +25 -14
- package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/module/modules/helpers/utils/telemetry.js +218 -0
- package/lib/module/modules/helpers/utils/telemetry.js.map +1 -0
- package/lib/module/modules/image/components/optimized-image.js +32 -7
- package/lib/module/modules/image/components/optimized-image.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +20 -11
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +44 -17
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
- package/lib/module/modules/tile/components/task-icon.js +2 -1
- package/lib/module/modules/tile/components/task-icon.js.map +1 -1
- package/lib/module/modules/tile/constants/measurement-icon-svg.js +4 -1
- package/lib/module/modules/tile/constants/measurement-icon-svg.js.map +1 -1
- package/lib/module/modules/ui/components/background-sync-setting.js +117 -0
- package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +113 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js +169 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -0
- package/lib/module/modules/ui/components/health-import-card.js +135 -0
- package/lib/module/modules/ui/components/health-import-card.js.map +1 -0
- package/lib/module/modules/ui/components/manual-entry-form.js +130 -0
- package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -0
- package/lib/module/modules/ui/components/pairing-flow.js +241 -0
- package/lib/module/modules/ui/components/pairing-flow.js.map +1 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js +101 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
- package/lib/module/modules/ui/components/urine-test-result.js +94 -0
- package/lib/module/modules/ui/components/urine-test-result.js.map +1 -0
- package/lib/module/modules/ui/index.js +13 -0
- package/lib/module/modules/ui/index.js.map +1 -0
- package/lib/module/modules/ui/types.js +4 -0
- package/lib/module/modules/ui/types.js.map +1 -0
- package/lib/module/modules/ui/use-ovok-ui.js +45 -0
- package/lib/module/modules/ui/use-ovok-ui.js.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +0 -9
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- 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-rate-limit-cooldown.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts +4 -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.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.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/form/register-form-provider.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.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.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/sign-in.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
- package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +31 -0
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts +0 -2
- package/lib/typescript/commonjs/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-device-instructions/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
- 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/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +48 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +14 -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 +22 -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/bt-connection-handler.d.ts +4 -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 +10 -1
- 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/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +3 -1
- 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 +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
- 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/command-sequencer.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.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/retry-save.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/s-log.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +69 -0
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tile/components/task-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +0 -9
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- 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-rate-limit-cooldown.d.ts +2 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +16 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts +4 -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.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/inputs.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/form/register-form-provider.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.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/events.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/session/events.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/auth/session/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.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/sign-in.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
- package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
- package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/types/session.d.ts +10 -0
- package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts +11 -0
- package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +31 -0
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device/index.d.ts +0 -2
- package/lib/typescript/module/src/modules/bt-device/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-device-instructions/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -0
- 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/constants/measurement-field-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +48 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-scan-control.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +14 -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 +22 -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/bt-connection-handler.d.ts +4 -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 +10 -1
- 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/services/devices/lepu/lepu.file-transfer.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/lepu/lepu.file-transfer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/push-notification.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +3 -1
- 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 +23 -0
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
- 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/command-sequencer.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts +5 -2
- package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.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/retry-save.d.ts +6 -0
- package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +4 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts +2 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/s-log.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +69 -0
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts +1 -1
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts +4 -0
- package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tile/components/task-icon.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts +1 -0
- package/lib/typescript/module/src/modules/tile/constants/measurement-icon-svg.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +9 -0
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +13 -0
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +21 -0
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +15 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +10 -0
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts +11 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts +24 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts +7 -0
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
- package/package.json +146 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","stopScan","autoConnectTimer","clearTimeout","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","stateChangeListener","generation","subscription","poweredOnBeforeSubscription","onStateChange","state","PoweredOn","removeStateChangeListener","startDeviceScan","OS","sendIntent","error","Error","String","push","setBackgroundScanEnabled","enabled","restartScan","stopDeviceScan","sub","remove","index","indexOf","splice","serviceUUIDs","length","scanMode","LowPower","Balanced","onScanResult","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","oneReadingPerConnection","deliveredEcgFileNames","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","DeviceCreator","bluetoothErrorCallback","error","normalized","originalError","translationKey","Error","code","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","stopScan","autoConnectTimer","clearTimeout","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","forEach","device","clear","startScan","stateChangeListener","generation","subscription","poweredOnBeforeSubscription","onStateChange","state","PoweredOn","removeStateChangeListener","startDeviceScan","OS","sendIntent","push","setBackgroundScanEnabled","enabled","restartScan","stopDeviceScan","sub","remove","pauseScan","resumeScan","index","indexOf","splice","serviceUUIDs","length","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","forget","deviceId","add","get","disconnect","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","advertisedName","name","trim","localName","has","deviceName","getDeviceName","size","currentSize","deviceClass","createDevice","bind","oneReadingPerConnection","deliveredEcgFileNames","resultPolicy","resultPolicies","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","model","queueAutoConnect","autoConnect","setTimeout","values","candidate","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/* eslint-disable max-lines */
|
|
4
|
+
|
|
3
5
|
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
6
|
+
import { addOvokSpanEvent, recordOvokDuration, recordOvokMetric, startOvokSpan } from "../../../helpers/utils/telemetry.js";
|
|
7
|
+
import { BluetoothErrorCode, toBluetoothError } from "../../types/bluetooth-error.js";
|
|
4
8
|
import { DeviceStatus } from "../../types/device-status.js";
|
|
5
9
|
import { base64ToHex } from "../../utils/base-64-to-hex.js";
|
|
6
10
|
import { BTCommandWriter } from "./bt-command-writer.js";
|
|
@@ -15,21 +19,56 @@ export class BTConnectionHandler {
|
|
|
15
19
|
this.writer = new BTCommandWriter(device, callbacks.onError);
|
|
16
20
|
}
|
|
17
21
|
connect = async () => {
|
|
22
|
+
const startedAt = Date.now();
|
|
23
|
+
const span = startOvokSpan("bluetooth.connect", {
|
|
24
|
+
deviceId: this.device.id,
|
|
25
|
+
deviceName: this.device.name ?? "unknown"
|
|
26
|
+
});
|
|
18
27
|
try {
|
|
19
28
|
await this.connectWithRetries();
|
|
20
29
|
await this.requestPreferredMtu();
|
|
21
30
|
await this.device.discoverAllServicesAndCharacteristics();
|
|
22
31
|
await readDeviceInformation(this.device, this.callbacks.onDeviceInfo);
|
|
32
|
+
await this.readBatteryLevel();
|
|
23
33
|
this.callbacks.onStatusChanged?.(DeviceStatus.CONNECTED);
|
|
24
34
|
this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
|
|
25
35
|
await this.subscribeToAllCharacteristics();
|
|
36
|
+
span?.setStatus?.({
|
|
37
|
+
code: 1
|
|
38
|
+
});
|
|
26
39
|
} catch (error) {
|
|
27
40
|
sentryLogger("error", "BT_MANAGER: Error connecting to device", {
|
|
28
41
|
error: error instanceof Error ? error.message : error,
|
|
29
42
|
deviceName: this.device.name
|
|
30
43
|
});
|
|
31
44
|
this.callbacks.onError?.(error);
|
|
45
|
+
if (toBluetoothError(error).code === BluetoothErrorCode.PAIRING_REQUIRED) {
|
|
46
|
+
recordOvokMetric("ovok.pairing.failures", 1, {
|
|
47
|
+
deviceId: this.device.id,
|
|
48
|
+
deviceName: this.device.name ?? "unknown"
|
|
49
|
+
});
|
|
50
|
+
addOvokSpanEvent("pairing.failed", {
|
|
51
|
+
deviceId: this.device.id,
|
|
52
|
+
deviceName: this.device.name ?? "unknown"
|
|
53
|
+
}, span);
|
|
54
|
+
this.callbacks.onConnectionEvent?.({
|
|
55
|
+
kind: "pairing",
|
|
56
|
+
pairingCodeRequired: true
|
|
57
|
+
});
|
|
58
|
+
}
|
|
32
59
|
this.callbacks.onStatusChanged?.(DeviceStatus.DISCONNECTED);
|
|
60
|
+
span?.recordException?.(error instanceof Error ? error : String(error));
|
|
61
|
+
span?.setStatus?.({
|
|
62
|
+
code: 2,
|
|
63
|
+
message: error instanceof Error ? error.message : String(error)
|
|
64
|
+
});
|
|
65
|
+
throw error;
|
|
66
|
+
} finally {
|
|
67
|
+
recordOvokDuration("ovok.device.connection.duration", Date.now() - startedAt, {
|
|
68
|
+
deviceId: this.device.id,
|
|
69
|
+
deviceName: this.device.name ?? "unknown"
|
|
70
|
+
});
|
|
71
|
+
span?.end();
|
|
33
72
|
}
|
|
34
73
|
};
|
|
35
74
|
destroy = () => {
|
|
@@ -64,6 +103,26 @@ export class BTConnectionHandler {
|
|
|
64
103
|
});
|
|
65
104
|
}
|
|
66
105
|
};
|
|
106
|
+
|
|
107
|
+
/** Reads the standard Battery Service when a peripheral exposes it. */
|
|
108
|
+
readBatteryLevel = async () => {
|
|
109
|
+
try {
|
|
110
|
+
const characteristic = await this.device.readCharacteristicForService("180F", "2A19");
|
|
111
|
+
if (!characteristic.value) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const value = Number.parseInt(base64ToHex(characteristic.value)[0] ?? "", 16);
|
|
115
|
+
if (!Number.isFinite(value) || value < 0 || value > 100) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
this.callbacks.onConnectionEvent?.({
|
|
119
|
+
kind: "battery",
|
|
120
|
+
batteryLevel: value
|
|
121
|
+
});
|
|
122
|
+
} catch {
|
|
123
|
+
// Battery is optional. A device without the standard service must still connect.
|
|
124
|
+
}
|
|
125
|
+
};
|
|
67
126
|
connectWithRetries = async () => {
|
|
68
127
|
const maxRetries = 5;
|
|
69
128
|
const retryDelay = 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","connect","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","onStatusChanged","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","Error","message","
|
|
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":";;AAAA;;AAIA,SAASA,YAAY,QAAQ,yCAAsC;AACnE,SACEC,gBAAgB,EAChBC,kBAAkB,EAClBC,gBAAgB,EAChBC,aAAa,QACR,qCAAkC;AACzC,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,gCAA6B;AAGlF,SAASC,YAAY,QAAQ,8BAA2B;AAExD,SAASC,WAAW,QAAQ,+BAA4B;AAExD,SAASC,eAAe,QAAQ,wBAAqB;AACrD,SAASC,qBAAqB,QAAQ,4BAAyB;AAqB/D,OAAO,MAAMC,mBAAmB,CAAC;EAEvBC,2BAA2B,GAAmB,EAAE;EAGxDC,WAAWA,CACQC,MAAc,EACdC,YAA2C,EAC3CC,SAAqC,EACrCC,YAAqB,EACtC;IAAA,KAJiBH,MAAc,GAAdA,MAAc;IAAA,KACdC,YAA2C,GAA3CA,YAA2C;IAAA,KAC3CC,SAAqC,GAArCA,SAAqC;IAAA,KACrCC,YAAqB,GAArBA,YAAqB;IAEtC,IAAI,CAACC,MAAM,GAAG,IAAIT,eAAe,CAACK,MAAM,EAAEE,SAAS,CAACG,OAAO,CAAC;EAC9D;EAEOC,OAAO,GAAG,MAAAA,CAAA,KAAY;IAC3B,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAE5B,MAAMC,IAAI,GAAGpB,aAAa,CAAC,mBAAmB,EAAE;MAC9CqB,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;MACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI,IAAI;IAClC,CAAC,CAAC;IAEF,IAAI;MACF,MAAM,IAAI,CAACC,kBAAkB,CAAC,CAAC;MAC/B,MAAM,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAEhC,MAAM,IAAI,CAAChB,MAAM,CAACiB,qCAAqC,CAAC,CAAC;MACzD,MAAMrB,qBAAqB,CAAC,IAAI,CAACI,MAAM,EAAE,IAAI,CAACE,SAAS,CAACgB,YAAY,CAAC;MACrE,MAAM,IAAI,CAACC,gBAAgB,CAAC,CAAC;MAE7B,IAAI,CAACjB,SAAS,CAACkB,eAAe,GAAG3B,YAAY,CAAC4B,SAAS,CAAC;MAExD,IAAI,CAACC,wBAAwB,GAAG,IAAI,CAACtB,MAAM,CAACuB,cAAc,CACxD,IAAI,CAACC,oBACP,CAAC;MAED,MAAM,IAAI,CAACC,6BAA6B,CAAC,CAAC;MAC1Cf,IAAI,EAAEgB,SAAS,GAAG;QAAEC,IAAI,EAAE;MAAE,CAAC,CAAC;IAChC,CAAC,CAAC,OAAOC,KAAK,EAAE;MACd1C,YAAY,CAAC,OAAO,EAAE,wCAAwC,EAAE;QAC9D0C,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDf,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc;MAC1B,CAAC,CAAC;MACF,IAAI,CAACZ,SAAS,CAACG,OAAO,GAAGuB,KAAyB,CAAC;MACnD,IAAIpC,gBAAgB,CAACoC,KAAK,CAAC,CAACD,IAAI,KAAKpC,kBAAkB,CAACwC,gBAAgB,EAAE;QACxE1C,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,EAAE;UAC3CsB,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;UACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI,IAAI;QAClC,CAAC,CAAC;QACF3B,gBAAgB,CAAC,gBAAgB,EAAE;UACjCwB,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;UACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI,IAAI;QAClC,CAAC,EAAEJ,IAAI,CAAC;QACR,IAAI,CAACR,SAAS,CAAC8B,iBAAiB,GAAG;UACjCC,IAAI,EAAE,SAAS;UACfC,mBAAmB,EAAE;QACvB,CAAC,CAAC;MACJ;MACA,IAAI,CAAChC,SAAS,CAACkB,eAAe,GAAG3B,YAAY,CAAC0C,YAAY,CAAC;MAC3DzB,IAAI,EAAE0B,eAAe,GAAGR,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAGS,MAAM,CAACT,KAAK,CAAC,CAAC;MACvElB,IAAI,EAAEgB,SAAS,GAAG;QAChBC,IAAI,EAAE,CAAC;QACPG,OAAO,EAAEF,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGO,MAAM,CAACT,KAAK;MAChE,CAAC,CAAC;MACF,MAAMA,KAAK;IACb,CAAC,SAAS;MACRxC,kBAAkB,CAAC,iCAAiC,EAAEoB,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,EAAE;QAC5EI,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;QACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI,IAAI;MAClC,CAAC,CAAC;MACFJ,IAAI,EAAE4B,GAAG,CAAC,CAAC;IACb;EACF,CAAC;EAEMC,OAAO,GAAGA,CAAA,KAAM;IACrB,IAAI,CAACzC,2BAA2B,CAAC0C,OAAO,CAAEC,GAAG,IAAKA,GAAG,EAAEC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC5C,2BAA2B,GAAG,EAAE;IACrC,IAAI,CAACM,MAAM,CAACuC,KAAK,CAAC,CAAC;IAEnB,IAAI,CAACrB,wBAAwB,EAAEoB,MAAM,CAAC,CAAC;EACzC,CAAC;;EAED;EACOE,YAAY,GAAIC,QAAkC,IACvD,IAAI,CAACzC,MAAM,CAAC0C,IAAI,CAACD,QAAQ,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACU7B,mBAAmB,GAAG,MAAAA,CAAA,KAA2B;IACvD,IAAI,CAAC,IAAI,CAACb,YAAY,EAAE;MACtB;IACF;IAEA,IAAI;MACF,MAAM4C,UAAU,GAAG,MAAM,IAAI,CAAC/C,MAAM,CAACgD,UAAU,CAAC,IAAI,CAAC7C,YAAY,CAAC;MAElE,IAAI,CAACC,MAAM,CAAC6C,gBAAgB,CAACF,UAAU,EAAEG,GAAG,IAAI,IAAI,CAAClD,MAAM,CAACkD,GAAG,CAAC;IAClE,CAAC,CAAC,OAAOtB,KAAK,EAAE;MACd1C,YAAY,CAAC,MAAM,EAAE,qCAAqC,EAAE;QAC1DyB,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;QACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI;QAC5BqC,YAAY,EAAE,IAAI,CAAChD,YAAY;QAC/ByB,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGO,MAAM,CAACT,KAAK;MAC9D,CAAC,CAAC;IACJ;EACF,CAAC;;EAED;EACQT,gBAAgB,GAAG,MAAAA,CAAA,KAA2B;IACpD,IAAI;MACF,MAAMiC,cAAc,GAAG,MAAM,IAAI,CAACpD,MAAM,CAACqD,4BAA4B,CACnE,MAAM,EACN,MACF,CAAC;MAED,IAAI,CAACD,cAAc,CAACE,KAAK,EAAE;QACzB;MACF;MAEA,MAAMA,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAAC9D,WAAW,CAAC0D,cAAc,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;MAE7E,IAAI,CAACC,MAAM,CAACE,QAAQ,CAACH,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,GAAG,EAAE;QACvD;MACF;MAEA,IAAI,CAACpD,SAAS,CAAC8B,iBAAiB,GAAG;QACjCC,IAAI,EAAE,SAAS;QACfyB,YAAY,EAAEJ;MAChB,CAAC,CAAC;IACJ,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC;EAEOvC,kBAAkB,GAAG,MAAAA,CAAA,KAAY;IACvC,MAAM4C,UAAU,GAAG,CAAC;IACpB,MAAMC,UAAU,GAAG,IAAI;IACvB,MAAMC,QAAQ,GAAG,KAAK;IACtB,IAAIC,SAAS,GAAG,KAAK;IACrB,IAAIC,UAAU,GAAG,CAAC;IAElB,OAAO,CAACD,SAAS,IAAIC,UAAU,GAAGJ,UAAU,EAAE;MAC5CG,SAAS,GAAG,MAAM,IAAI,CAAC9D,MAAM,CAACgE,WAAW,CAAC,CAAC;MAC3C,IAAIF,SAAS,EAAE;QACb;MACF;MACA,IAAI;QACF,MAAM,IAAI,CAAC9D,MAAM,CAACM,OAAO,CAAC,CAAC;QAC3BwD,SAAS,GAAG,IAAI;MAClB,CAAC,CAAC,OAAOlC,KAAK,EAAE;QACdmC,UAAU,EAAE;QACZ7E,YAAY,CAAC,OAAO,EAAE,2BAA2B,EAAE;UACjDyB,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;UACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI;UAC5Bc,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGO,MAAM,CAACT,KAAK,CAAC;UAC7DqC,SAAS,EAAGrC,KAAK,EAAeqC,SAAS;UACzCF;QACF,CAAC,CAAC;QACF,IAAIA,UAAU,IAAIJ,UAAU,EAAE;UAC5BzE,YAAY,CAAC,OAAO,EAAE,6CAA6C,EAAE;YACnEyB,QAAQ,EAAE,IAAI,CAACX,MAAM,CAACY,EAAE;YACxBC,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc,IAAI;YAC5Bc,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGO,MAAM,CAACT,KAAK,CAAC;YAC7DqC,SAAS,EAAGrC,KAAK,EAAeqC,SAAS;YACzCC,SAAS,EAAEH,UAAU,GAAGJ;UAC1B,CAAC,CAAC;UACF,MAAM/B,KAAK;QACb;QAEA,MAAM,IAAIuC,OAAO,CAAEC,OAAO,IACxBC,UAAU,CACRD,OAAO,EACPE,IAAI,CAACC,GAAG,CAACX,UAAU,GAAGU,IAAI,CAACE,GAAG,CAAC,CAAC,EAAET,UAAU,GAAG,CAAC,CAAC,EAAEF,QAAQ,CAC7D,CACF,CAAC;MACH;IACF;EACF,CAAC;EAEOrC,oBAAoB,GAAII,KAAsB,IAAK;IACzD1C,YAAY,CAAC,MAAM,EAAE,oCAAoC,EAAE;MACzD0C,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;MACrDf,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc;IAC1B,CAAC,CAAC;IACF,IAAIc,KAAK,IAAI,CAAC,IAAI,CAAC1B,SAAS,CAACuE,kBAAkB,GAAG,CAAC,EAAE;MACnD,IAAI,CAACvE,SAAS,CAACG,OAAO,GAAGuB,KAAK,CAAC;IACjC;;IAEA;AACJ;AACA;AACA;AACA;AACA;IACI,IAAI,CAAC1B,SAAS,CAACkB,eAAe,GAAG3B,YAAY,CAAC0C,YAAY,CAAC;IAC3D,IAAI,CAACI,OAAO,CAAC,CAAC;EAChB,CAAC;EAEOd,6BAA6B,GAAG,MAAAA,CAAA,KAAY;IAClD,IAAI;MACF,KAAK,MAAMiD,WAAW,IAAI,IAAI,CAACzE,YAAY,EAAE;QAC3C,KAAK,MAAM0E,WAAW,IAAID,WAAW,CAACE,YAAY,EAAE;UAClD,MAAMC,YAAY,GAAG,IAAI,CAAC7E,MAAM,CAAC8E,+BAA+B,CAC9DJ,WAAW,CAACK,IAAI,EAChBJ,WAAW,CAACI,IAAI,EAChB,CAACnD,KAAK,EAAEoD,MAAM,KAAK;YACjB,IAAIpD,KAAK,EAAE;cACT,IAAI,CAAC1B,SAAS,CAACG,OAAO,GAAGuB,KAAK,CAAC;cAE/B;YACF;YAEA,IAAI,CAACoD,MAAM,IAAI,CAACA,MAAM,CAAC1B,KAAK,EAAE;cAC5B,IAAI,CAACpD,SAAS,CAACG,OAAO,GACpB,IAAIwB,KAAK,CAAC,iCAAiC,CAC7C,CAAC;cAED;YACF;YAEA,MAAMoD,QAAQ,GAAGvF,WAAW,CAACsF,MAAM,CAAC1B,KAAK,CAAC;YAE1C,IAAI,CAACpD,SAAS,CAACgF,cAAc,GAAGF,MAAM,CAACD,IAAI,EAAEE,QAAQ,CAAC;UACxD,CACF,CAAC;UAED,IAAI,CAACnF,2BAA2B,CAACqF,IAAI,CAACN,YAAY,CAAC;QACrD;MACF;MAEA,MAAMO,eAAe,GAAG,IAAI,CAAClF,SAAS,CAACkF,eAAe,GAAG,CAAC,IAAI,EAAE;MAEhE,IAAIA,eAAe,CAACC,MAAM,GAAG,CAAC,EAAE;QAC9B,MAAM,IAAI,CAACzC,YAAY,CAACwC,eAAe,CAAC;QACxC,IAAI,CAAClF,SAAS,CAACoF,aAAa,GAAG,CAAC;MAClC;IACF,CAAC,CAAC,OAAO1D,KAAK,EAAE;MACd1C,YAAY,CACV,OAAO,EACP,kDAAkD,EAClD;QACE0C,KAAK,EAAEA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAGF,KAAK;QACrDf,UAAU,EAAE,IAAI,CAACb,MAAM,CAACc;MAC1B,CACF,CAAC;MACD,IAAI,CAACZ,SAAS,CAACG,OAAO,GAAGuB,KAAyB,CAAC;IACrD;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
4
|
|
|
5
5
|
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
6
|
+
import { addOvokSpanEvent, recordOvokMetric } from "../../../helpers/utils/telemetry.js";
|
|
7
|
+
import { toBluetoothError } from "../../types/bluetooth-error.js";
|
|
6
8
|
import { DeviceStatus } from "../../types/device-status.js";
|
|
9
|
+
import { createStableResultId } from "../../utils/result-identity.js";
|
|
7
10
|
import { summariseMeasurementForLog } from "../../utils/summarise-measurement-for-log.js";
|
|
8
11
|
import { supportedMeasurementTypeKeys } from "../../utils/supported-measurement-type-keys.js";
|
|
9
12
|
import { BTConnectionHandler } from "./bt-connection-handler.js";
|
|
@@ -11,6 +14,10 @@ import { BTDataProcessor } from "./bt-data-processor.js";
|
|
|
11
14
|
import { pollingSequencerFor } from "./polling-command-sequencer.js";
|
|
12
15
|
export class BTManagedDevice {
|
|
13
16
|
resultReportedThisConnection = false;
|
|
17
|
+
historyTransferActive = false;
|
|
18
|
+
reportedMeasurementKinds = new Set();
|
|
19
|
+
reportedDailyTotals = new Set();
|
|
20
|
+
historyResultCount = 0;
|
|
14
21
|
|
|
15
22
|
/**
|
|
16
23
|
* The timeout in milliseconds for the stuck data.
|
|
@@ -63,11 +70,14 @@ export class BTManagedDevice {
|
|
|
63
70
|
onError: onErrorCallback,
|
|
64
71
|
onDeviceStatusChanged: onDeviceStatusChangedCallback,
|
|
65
72
|
onResult: onResultCallback,
|
|
73
|
+
onConnectionEvent: onConnectionEventCallback,
|
|
66
74
|
onDeviceDisconnected: onDeviceDisconnectedCallback,
|
|
67
|
-
oneReadingPerConnection
|
|
75
|
+
oneReadingPerConnection,
|
|
76
|
+
resultPolicy
|
|
68
77
|
}) {
|
|
69
78
|
this.device = device;
|
|
70
79
|
this.oneReadingPerConnection = oneReadingPerConnection === true;
|
|
80
|
+
this.resultPolicy = resultPolicy;
|
|
71
81
|
sentryLogger("info", "BT_MANAGER: Creating BTManagedDevice", {
|
|
72
82
|
deviceId: device.id,
|
|
73
83
|
deviceName: deviceName
|
|
@@ -89,6 +99,12 @@ export class BTManagedDevice {
|
|
|
89
99
|
deviceData: this.deviceData,
|
|
90
100
|
deviceName: this.deviceData.name
|
|
91
101
|
});
|
|
102
|
+
addOvokSpanEvent("device.status_changed", {
|
|
103
|
+
deviceId: this.deviceData.id,
|
|
104
|
+
model: this.deviceData.name,
|
|
105
|
+
status,
|
|
106
|
+
measurementTypeKey: measurementTypeKey ?? "unknown"
|
|
107
|
+
});
|
|
92
108
|
onDeviceStatusChangedCallback?.({
|
|
93
109
|
deviceData: this.deviceData,
|
|
94
110
|
status: status,
|
|
@@ -101,30 +117,89 @@ export class BTManagedDevice {
|
|
|
101
117
|
deviceData: this.deviceData,
|
|
102
118
|
deviceName: this.deviceData.name
|
|
103
119
|
});
|
|
120
|
+
const normalized = toBluetoothError(error);
|
|
121
|
+
const originalError = normalized.originalError;
|
|
104
122
|
onErrorCallback?.({
|
|
105
123
|
deviceData: this.deviceData,
|
|
106
|
-
|
|
124
|
+
// Keep the established translation-key/Error value for consumers that
|
|
125
|
+
// render it directly; the normalized machine code is carried beside it.
|
|
126
|
+
error: normalized.translationKey ?? (originalError instanceof Error || typeof originalError === "string" ? originalError : normalized),
|
|
127
|
+
code: normalized.code
|
|
107
128
|
});
|
|
108
129
|
};
|
|
109
130
|
this.onResult = ({
|
|
110
131
|
caseType: _,
|
|
111
132
|
...data
|
|
112
133
|
}) => {
|
|
113
|
-
|
|
134
|
+
const measurementTypeKey = data.measurementTypeKey;
|
|
135
|
+
const policy = this.resultPolicy?.byMeasurement?.[measurementTypeKey] ?? this.resultPolicy?.default ?? "all";
|
|
136
|
+
if (this.oneReadingPerConnection && !this.resultPolicy && this.resultReportedThisConnection) {
|
|
114
137
|
return;
|
|
115
138
|
}
|
|
139
|
+
if (policy === "first-reading-per-kind-per-connection") {
|
|
140
|
+
if (this.reportedMeasurementKinds.has(measurementTypeKey)) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
this.reportedMeasurementKinds.add(measurementTypeKey);
|
|
144
|
+
}
|
|
145
|
+
if (policy === "daily-totals-only") {
|
|
146
|
+
const temporal = data;
|
|
147
|
+
const end = temporal.end instanceof Date ? temporal.end : undefined;
|
|
148
|
+
const now = new Date();
|
|
149
|
+
|
|
150
|
+
// Activity totals are useful only after their day has closed. Devices that
|
|
151
|
+
// do not expose an interval are not filtered by this policy.
|
|
152
|
+
if (end && end.getTime() > now.getTime()) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const day = temporal.end ?? temporal.start ?? temporal.recordedAt;
|
|
156
|
+
if (day instanceof Date) {
|
|
157
|
+
const key = `${measurementTypeKey}:${day.toISOString().slice(0, 10)}`;
|
|
158
|
+
if (this.reportedDailyTotals.has(key)) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
this.reportedDailyTotals.add(key);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
116
164
|
this.resultReportedThisConnection = true;
|
|
165
|
+
this.historyResultCount += 1;
|
|
166
|
+
recordOvokMetric("ovok.readings.received", 1, {
|
|
167
|
+
deviceId: this.deviceData.id,
|
|
168
|
+
model: this.deviceData.name,
|
|
169
|
+
measurementTypeKey
|
|
170
|
+
});
|
|
171
|
+
addOvokSpanEvent("reading.received", {
|
|
172
|
+
deviceId: this.deviceData.id,
|
|
173
|
+
model: this.deviceData.name,
|
|
174
|
+
measurementTypeKey
|
|
175
|
+
});
|
|
117
176
|
sentryLogger("info", "BT_MANAGER: Calling onResult callback", {
|
|
118
177
|
data: summariseMeasurementForLog(data),
|
|
119
178
|
deviceData: this.deviceData,
|
|
120
179
|
deviceName: this.deviceData.name
|
|
121
180
|
});
|
|
122
|
-
|
|
181
|
+
if (this.historyTransferActive) {
|
|
182
|
+
onConnectionEventCallback?.({
|
|
183
|
+
deviceData: this.deviceData,
|
|
184
|
+
kind: "history-download",
|
|
185
|
+
progress: {
|
|
186
|
+
current: this.historyResultCount
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
const result = {
|
|
123
191
|
deviceData: this.deviceData,
|
|
124
192
|
data
|
|
193
|
+
};
|
|
194
|
+
Object.defineProperty(result, "id", {
|
|
195
|
+
value: createStableResultId(this.deviceData, data),
|
|
196
|
+
enumerable: true,
|
|
197
|
+
writable: false
|
|
125
198
|
});
|
|
199
|
+
onResultCallback?.(result);
|
|
126
200
|
};
|
|
127
201
|
this.onDeviceDisconnected = onDeviceDisconnectedCallback;
|
|
202
|
+
this.onConnectionEvent = onConnectionEventCallback;
|
|
128
203
|
}
|
|
129
204
|
destroy = () => {
|
|
130
205
|
sentryLogger("info", "BT_MANAGER: Destroying device", {
|
|
@@ -136,22 +211,50 @@ export class BTManagedDevice {
|
|
|
136
211
|
this.onError = undefined;
|
|
137
212
|
this.onDeviceStatusChanged = undefined;
|
|
138
213
|
this.onResult = undefined;
|
|
214
|
+
this.onConnectionEvent = undefined;
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
/** Stops this device's subscriptions and closes its BLE connection. */
|
|
218
|
+
disconnect = async () => {
|
|
219
|
+
this.destroy();
|
|
220
|
+
try {
|
|
221
|
+
await this.device.cancelConnection();
|
|
222
|
+
} catch (error) {
|
|
223
|
+
sentryLogger("info", "BT_MANAGER: Device was already disconnected", {
|
|
224
|
+
deviceId: this.device.id,
|
|
225
|
+
error: error instanceof Error ? error.message : String(error)
|
|
226
|
+
});
|
|
227
|
+
}
|
|
139
228
|
};
|
|
140
229
|
connect = async () => {
|
|
141
230
|
this.resultReportedThisConnection = false;
|
|
231
|
+
this.reportedMeasurementKinds.clear();
|
|
232
|
+
this.reportedDailyTotals.clear();
|
|
233
|
+
this.historyResultCount = 0;
|
|
142
234
|
|
|
143
235
|
// To access the abstract property in the constructor, we need to set it here
|
|
144
236
|
this.deviceData.measurementTypes = supportedMeasurementTypeKeys(this.mainServices);
|
|
145
237
|
const sequencer = this.createCommandSequencer?.() ?? pollingSequencerFor(this.mainServices);
|
|
238
|
+
this.historyTransferActive = sequencer.isHistoryTransfer?.() === true;
|
|
146
239
|
this.connectionHandler = new BTConnectionHandler(this.device, this.mainServices, {
|
|
147
240
|
onStatusChanged: status => {
|
|
148
241
|
this.onDeviceStatusChanged?.bind(this)(status);
|
|
242
|
+
if (status === DeviceStatus.CONNECTED) {
|
|
243
|
+
this.onConnectionEvent?.({
|
|
244
|
+
deviceData: this.deviceData,
|
|
245
|
+
kind: "bonded"
|
|
246
|
+
});
|
|
247
|
+
}
|
|
149
248
|
if (status === DeviceStatus.DISCONNECTED) {
|
|
150
249
|
this.onDeviceDisconnected?.();
|
|
151
250
|
this.destroy();
|
|
152
251
|
}
|
|
153
252
|
},
|
|
154
253
|
onError: error => this.onError?.bind(this)(error),
|
|
254
|
+
onConnectionEvent: event => this.onConnectionEvent?.({
|
|
255
|
+
deviceData: this.deviceData,
|
|
256
|
+
...event
|
|
257
|
+
}),
|
|
155
258
|
onDataReceived: (uuid, hexValue) => {
|
|
156
259
|
this.dataProcessor?.processData(uuid, hexValue);
|
|
157
260
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","DeviceStatus","summariseMeasurementForLog","supportedMeasurementTypeKeys","BTConnectionHandler","BTDataProcessor","pollingSequencerFor","BTManagedDevice","resultReportedThisConnection","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","destroy","connectionHandler","dataProcessor","undefined","connect","mainServices","sequencer","createCommandSequencer","onStatusChanged","bind","DISCONNECTED","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","model","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","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":[]}
|
|
@@ -69,7 +69,15 @@ export class CustomDevice extends BTManagedDevice {
|
|
|
69
69
|
characteristicUuid: lepu.write.characteristicUuid,
|
|
70
70
|
frame: new LepuCommandBuilder(lepu.startBytes[0] ?? "a5").build(lepu.pollCommand)
|
|
71
71
|
}] : undefined,
|
|
72
|
-
onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`))
|
|
72
|
+
onError: reason => this.onError?.(new Error(`Viatom ECG: ${reason}`)),
|
|
73
|
+
onProgress: progress => this.onConnectionEvent?.({
|
|
74
|
+
deviceData: this.deviceData,
|
|
75
|
+
kind: "history-download",
|
|
76
|
+
progress: {
|
|
77
|
+
current: progress.receivedBytes,
|
|
78
|
+
total: progress.totalBytes
|
|
79
|
+
}
|
|
80
|
+
})
|
|
73
81
|
});
|
|
74
82
|
}
|
|
75
83
|
return createLepuSequencer(lepu, {
|
|
@@ -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","onIdentified","onRefused","onIdentityRefused","file","decoded","content","samples","length","name","onResult","measurementTypeKey","ecg","caseType","RESULT","diagramPoints","duration","recordedAt","recordingId","info","
|
|
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":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","initialCommands","commandFor","nextCommand","frame","command","afterTransfer","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":";;AAAA;;AAIA,SAASA,WAAW,QAAQ,kCAA+B;AAC3D,SAASC,WAAW,QAAQ,kCAA+B;AAG3D,SAASC,WAAW,QAAQ,oBAAiB;AAC7C,SAASC,aAAa,EAAEC,aAAa,QAAQ,sBAAmB;AAChE,SAASC,aAAa,EAAEC,aAAa,QAAQ,iBAAc;AAC3D,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,yBAAsB;AAE9E,MAAMC,gBAAgB,GAAG,CAAC;;AAE1B;AACA;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,OAAO;AAE9B,MAAMC,iBAAoC,GAAG,CAC3CT,WAAW,CAACU,aAAa,EACzBV,WAAW,CAACW,eAAe,EAC3BX,WAAW,CAACY,cAAc,EAC1BZ,WAAW,CAACa,aAAa,CAC1B;AAqCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,gBAAgB,CAA6B;EACzCC,KAAK,GAAa,EAAE;EACpBC,SAAS,GAAG,CAAC;EACbC,IAAI,GAAG,EAAE;EACTC,UAAU,GAAG,CAAC;EACdC,OAAO,GAAa,EAAE;EACtBC,aAAa,GAAG,KAAK;EACrBC,MAAM,GAAG,KAAK;EAEfC,WAAWA,CAAkBC,MAA8B,EAAE;IAAA,KAAhCA,MAA8B,GAA9BA,MAA8B;EAAG;EAE9DC,eAAe,GAAGA,CAAA,KAAgC,CACvD,IAAI,CAACC,UAAU,
|
|
1
|
+
{"version":3,"names":["le32FromHex","le32ToBytes","LepuCommand","lepuNameBytes","lepuNamesFrom","lepuCommandOf","lepuPayloadOf","describeLepuResponseType","isLepuSuccess","FILE_SIZE_OFFSET","MAX_FILE_BYTES","TRANSFER_COMMANDS","GET_FILE_LIST","READ_FILE_START","READ_FILE_DATA","READ_FILE_END","LepuFileTransfer","files","fileIndex","name","totalBytes","content","isSessionOpen","isDone","constructor","params","isHistoryTransfer","initialCommands","commandFor","nextCommand","frame","command","afterTransfer","includes","undefined","fail","openNextFile","openedFile","appendChunk","closedFile","skipFiles","has","payload","limit","maxFileBytes","closeFile","length","push","onProgress","receivedBytes","onFile","reason","onError","write","builder","build"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/lepu/lepu.file-transfer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,8 +8,8 @@ import { DeviceStatus } from "../../types/device-status.js";
|
|
|
8
8
|
*
|
|
9
9
|
* A result is reported whether or not a stream preceded it, because a device already
|
|
10
10
|
* holding a finished measurement when the app connects has a real reading to hand over.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Identical result frames are suppressed, while a changed frame in the same case is still
|
|
12
|
+
* reported as a new measurement.
|
|
13
13
|
*/
|
|
14
14
|
export class MeasurementStateMachine {
|
|
15
15
|
isMeasuring = false;
|
|
@@ -19,6 +19,7 @@ export class MeasurementStateMachine {
|
|
|
19
19
|
reset = () => {
|
|
20
20
|
this.isMeasuring = false;
|
|
21
21
|
this.lastCaseValue = undefined;
|
|
22
|
+
this.lastFrame = undefined;
|
|
22
23
|
};
|
|
23
24
|
advance = ({
|
|
24
25
|
parsingCase,
|
|
@@ -26,8 +27,9 @@ export class MeasurementStateMachine {
|
|
|
26
27
|
parsedData
|
|
27
28
|
}, frame) => {
|
|
28
29
|
const isResult = parsingCase.caseType === CaseType.RESULT;
|
|
29
|
-
const isRepeatedResult = isResult && parsingCase.caseValue === this.lastCaseValue;
|
|
30
|
+
const isRepeatedResult = isResult && parsingCase.caseValue === this.lastCaseValue && this.lastFrame?.join("").toLowerCase() === frame.join("").toLowerCase();
|
|
30
31
|
this.lastCaseValue = parsingCase.caseValue;
|
|
32
|
+
this.lastFrame = [...frame];
|
|
31
33
|
if (parsingCase.caseType === CaseType.STREAM && !this.isMeasuring) {
|
|
32
34
|
this.startMeasuring(measurementTypeKey);
|
|
33
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CaseType","DeviceStatus","MeasurementStateMachine","isMeasuring","constructor","callbacks","reset","lastCaseValue","undefined","advance","parsingCase","measurementTypeKey","parsedData","frame","isResult","caseType","RESULT","isRepeatedResult","caseValue","STREAM","startMeasuring","OTHER","stopMeasuring","keepMeasuring","onResult","onStreamStart","onStatusChanged","MEASURING","CONNECTED"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/measurement-state-machine.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,0BAAuB;AAEhD,SAASC,YAAY,QAAQ,8BAA2B;AAexD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,CAAwB;EAClDC,WAAW,GAAY,KAAK;
|
|
1
|
+
{"version":3,"names":["CaseType","DeviceStatus","MeasurementStateMachine","isMeasuring","constructor","callbacks","reset","lastCaseValue","undefined","lastFrame","advance","parsingCase","measurementTypeKey","parsedData","frame","isResult","caseType","RESULT","isRepeatedResult","caseValue","join","toLowerCase","STREAM","startMeasuring","OTHER","stopMeasuring","keepMeasuring","onResult","onStreamStart","onStatusChanged","MEASURING","CONNECTED"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/measurement-state-machine.ts"],"mappings":";;AAEA,SAASA,QAAQ,QAAQ,0BAAuB;AAEhD,SAASC,YAAY,QAAQ,8BAA2B;AAexD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,CAAwB;EAClDC,WAAW,GAAY,KAAK;EAIpCC,WAAWA,CAAkBC,SAAoC,EAAE;IAAA,KAAtCA,SAAoC,GAApCA,SAAoC;EAAG;EAE7DC,KAAK,GAAGA,CAAA,KAAY;IACzB,IAAI,CAACH,WAAW,GAAG,KAAK;IACxB,IAAI,CAACI,aAAa,GAAGC,SAAS;IAC9B,IAAI,CAACC,SAAS,GAAGD,SAAS;EAC5B,CAAC;EAEME,OAAO,GAAGA,CACf;IACEC,WAAW;IACXC,kBAAkB;IAClBC;EAC+B,CAAC,EAClCC,KAAe,KACN;IACT,MAAMC,QAAQ,GAAGJ,WAAW,CAACK,QAAQ,KAAKhB,QAAQ,CAACiB,MAAM;IAEzD,MAAMC,gBAAgB,GACpBH,QAAQ,IACRJ,WAAW,CAACQ,SAAS,KAAK,IAAI,CAACZ,aAAa,IAC5C,IAAI,CAACE,SAAS,EAAEW,IAAI,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC,KAAKP,KAAK,CAACM,IAAI,CAAC,EAAE,CAAC,CAACC,WAAW,CAAC,CAAC;IAEzE,IAAI,CAACd,aAAa,GAAGI,WAAW,CAACQ,SAAS;IAC1C,IAAI,CAACV,SAAS,GAAG,CAAC,GAAGK,KAAK,CAAC;IAE3B,IAAIH,WAAW,CAACK,QAAQ,KAAKhB,QAAQ,CAACsB,MAAM,IAAI,CAAC,IAAI,CAACnB,WAAW,EAAE;MACjE,IAAI,CAACoB,cAAc,CAACX,kBAAkB,CAAC;IACzC;IAEA,IAAI,IAAI,CAACT,WAAW,IAAIQ,WAAW,CAACK,QAAQ,KAAKhB,QAAQ,CAACwB,KAAK,EAAE;MAC/D,IAAI,CAACC,aAAa,CAACb,kBAAkB,CAAC;IACxC;IAEA,IAAIM,gBAAgB,EAAE;MACpB;IACF;IAEA,IAAIQ,aAAa,GAAG,KAAK;IAEzB,IAAI,IAAI,CAACvB,WAAW,IAAIY,QAAQ,EAAE;MAChCW,aAAa,GAAG,IAAI,CAACrB,SAAS,CAACsB,QAAQ,GAAGd,UAAU,EAAEC,KAAK,CAAC,IAAI,KAAK;IACvE;IAEA,IAAIC,QAAQ,IAAI,CAACW,aAAa,EAAE;MAC9B,IAAI,CAACD,aAAa,CAACb,kBAAkB,CAAC;IACxC;EACF,CAAC;EAEOW,cAAc,GAAIX,kBAAuC,IAAW;IAC1E,IAAI,CAACP,SAAS,CAACuB,aAAa,GAAG,CAAC;IAChC,IAAI,CAACvB,SAAS,CAACwB,eAAe,GAAG5B,YAAY,CAAC6B,SAAS,EAAElB,kBAAkB,CAAC;IAC5E,IAAI,CAACT,WAAW,GAAG,IAAI;EACzB,CAAC;EAEOsB,aAAa,GAAIb,kBAAuC,IAAW;IACzE,IAAI,CAACT,WAAW,GAAG,KAAK;IACxB,IAAI,CAACE,SAAS,CAACwB,eAAe,GAC5B5B,YAAY,CAAC8B,SAAS,EACtBnB,kBACF,CAAC;EACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -9,6 +9,18 @@ export const spo2MainServices = [{
|
|
|
9
9
|
parsingModel: {
|
|
10
10
|
caseValuePosition: [0, 2, 3, 4],
|
|
11
11
|
cases: [{
|
|
12
|
+
measurementTypeKey: MeasurementTypeKey.bloodOxygenPulseRate,
|
|
13
|
+
caseType: CaseType.STREAM,
|
|
14
|
+
caseValue: "aa0f0621",
|
|
15
|
+
parseDefinitions: [],
|
|
16
|
+
description: "OxySmart measurement status"
|
|
17
|
+
}, {
|
|
18
|
+
measurementTypeKey: MeasurementTypeKey.bloodOxygenPulseRate,
|
|
19
|
+
caseType: CaseType.STREAM,
|
|
20
|
+
caseValue: "aaf003??",
|
|
21
|
+
parseDefinitions: [],
|
|
22
|
+
description: "OxySmart measurement status"
|
|
23
|
+
}, {
|
|
12
24
|
measurementTypeKey: MeasurementTypeKey.bloodOxygenPulseRate,
|
|
13
25
|
caseType: CaseType.STREAM,
|
|
14
26
|
caseValue: "aa0f0702",
|