@ovok/native 1.16.1-rc.3 → 1.16.1-rc.4
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/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +3 -1
- package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js +9 -141
- package/lib/commonjs/modules/bt-management/components/bluetooth-device-picker.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +1 -0
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/device-picker-sheet.js +160 -0
- package/lib/commonjs/modules/bt-management/components/device-picker-sheet.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-permission.js +2 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-permission.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +12 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +50 -0
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js +3 -0
- package/lib/commonjs/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js +4 -2
- package/lib/commonjs/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +97 -28
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-current-time.js +59 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-current-time.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js +18 -37
- package/lib/commonjs/modules/bt-management/services/devices/bt-device-information.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +31 -3
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-notification-readiness.js +68 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-notification-readiness.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-pairing-retry.js +70 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-pairing-retry.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +14 -0
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +4 -7
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js +106 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +38 -31
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js +41 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js +77 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js +49 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js +89 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js.map +1 -0
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +35 -42
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +22 -24
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/record-cursor.js +70 -0
- package/lib/commonjs/modules/bt-management/services/record-cursor.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +8 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/glucose-record-details.js +2 -0
- package/lib/commonjs/modules/bt-management/types/glucose-record-details.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/bluetooth-permission-list.js +19 -0
- package/lib/commonjs/modules/bt-management/utils/bluetooth-permission-list.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/device-user.js +22 -0
- package/lib/commonjs/modules/bt-management/utils/device-user.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/kpa-to-mmhg.js +9 -0
- package/lib/commonjs/modules/bt-management/utils/kpa-to-mmhg.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js +26 -35
- package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -1
- package/lib/commonjs/modules/bt-management/utils/rr-interval.js +16 -0
- package/lib/commonjs/modules/bt-management/utils/rr-interval.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/temperature-type.js +15 -0
- package/lib/commonjs/modules/bt-management/utils/temperature-type.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/wait.js +10 -0
- package/lib/commonjs/modules/bt-management/utils/wait.js.map +1 -0
- package/lib/commonjs/modules/next/background-sync/index.js +28 -0
- package/lib/commonjs/modules/next/background-sync/index.js.map +1 -0
- package/lib/commonjs/modules/next/background-sync/offline-measurement-background-sync.js +63 -0
- package/lib/commonjs/modules/next/background-sync/offline-measurement-background-sync.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/auto-connect.js +32 -0
- package/lib/commonjs/modules/next/bluetooth/auto-connect.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-errors.js +33 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-errors.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-link.js +162 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-link.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-scanner.js +75 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/ble-scanner.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/built-in-devices.js +34 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/built-in-devices.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js +67 -0
- package/lib/commonjs/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/connections.js +114 -0
- package/lib/commonjs/modules/next/bluetooth/connections.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/daily-total-day.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/devices.js +41 -0
- package/lib/commonjs/modules/next/bluetooth/devices.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/driver.js +30 -20
- package/lib/commonjs/modules/next/bluetooth/driver.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/errors.js +26 -0
- package/lib/commonjs/modules/next/bluetooth/errors.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/index.js +122 -11
- package/lib/commonjs/modules/next/bluetooth/index.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/link.js +0 -103
- package/lib/commonjs/modules/next/bluetooth/link.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/paired.js +50 -0
- package/lib/commonjs/modules/next/bluetooth/paired.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/permissions.js +2 -0
- package/lib/commonjs/modules/next/bluetooth/permissions.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/react/bluetooth-device-picker.js +44 -0
- package/lib/commonjs/modules/next/bluetooth/react/bluetooth-device-picker.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/react/context.js +54 -0
- package/lib/commonjs/modules/next/bluetooth/react/context.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/react/hooks.js +86 -0
- package/lib/commonjs/modules/next/bluetooth/react/hooks.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/react-native/create-bluetooth-runtime.js +28 -0
- package/lib/commonjs/modules/next/bluetooth/react-native/create-bluetooth-runtime.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/react-native/os-permissions.js +32 -0
- package/lib/commonjs/modules/next/bluetooth/react-native/os-permissions.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/react-native/ovok-sink.js +43 -0
- package/lib/commonjs/modules/next/bluetooth/react-native/ovok-sink.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/readings.js +93 -0
- package/lib/commonjs/modules/next/bluetooth/readings.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/result-policy.js +15 -2
- package/lib/commonjs/modules/next/bluetooth/result-policy.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/runtime.js +223 -0
- package/lib/commonjs/modules/next/bluetooth/runtime.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/scan-loop.js +82 -0
- package/lib/commonjs/modules/next/bluetooth/scan-loop.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/sig-profiles.js +46 -13
- package/lib/commonjs/modules/next/bluetooth/sig-profiles.js.map +1 -1
- package/lib/commonjs/modules/next/bluetooth/sink.js +6 -0
- package/lib/commonjs/modules/next/bluetooth/sink.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/snapshot.js +6 -0
- package/lib/commonjs/modules/next/bluetooth/snapshot.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/stable-hash.js +42 -0
- package/lib/commonjs/modules/next/bluetooth/stable-hash.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/store.js +61 -0
- package/lib/commonjs/modules/next/bluetooth/store.js.map +1 -0
- package/lib/commonjs/modules/next/bluetooth/transport.js +6 -0
- package/lib/commonjs/modules/next/bluetooth/transport.js.map +1 -0
- package/lib/commonjs/modules/next/data-sync/index.js +17 -0
- package/lib/commonjs/modules/next/data-sync/index.js.map +1 -0
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +3 -1
- package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/bt-management/components/bluetooth-device-picker.js +9 -141
- package/lib/module/modules/bt-management/components/bluetooth-device-picker.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +1 -0
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/components/device-picker-sheet.js +154 -0
- package/lib/module/modules/bt-management/components/device-picker-sheet.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bluetooth-permission.js +4 -3
- package/lib/module/modules/bt-management/hooks/use-bluetooth-permission.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-measurements.js +1 -1
- package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +1 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +50 -0
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js +3 -0
- package/lib/module/modules/bt-management/services/custom/define-custom-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-command-writer.js +4 -2
- package/lib/module/modules/bt-management/services/devices/bt-command-writer.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +97 -28
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-current-time.js +55 -0
- package/lib/module/modules/bt-management/services/devices/bt-current-time.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bt-device-information.js +18 -37
- package/lib/module/modules/bt-management/services/devices/bt-device-information.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +33 -5
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-notification-readiness.js +65 -0
- package/lib/module/modules/bt-management/services/devices/bt-notification-readiness.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/bt-pairing-retry.js +65 -0
- package/lib/module/modules/bt-management/services/devices/bt-pairing-retry.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +14 -0
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js +1 -4
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.blood-pressure-status.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js +99 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +38 -31
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js +35 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js +72 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js +40 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js +85 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.js.map +1 -0
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js +25 -32
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js +18 -20
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.js.map +1 -1
- package/lib/module/modules/bt-management/services/record-cursor.js +66 -0
- package/lib/module/modules/bt-management/services/record-cursor.js.map +1 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js +8 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -1
- package/lib/module/modules/bt-management/types/custom-device-definition.js +4 -0
- package/lib/module/modules/bt-management/types/custom-device-definition.js.map +1 -1
- package/lib/module/modules/bt-management/types/glucose-record-details.js +2 -0
- package/lib/module/modules/bt-management/types/glucose-record-details.js.map +1 -0
- package/lib/module/modules/bt-management/utils/bluetooth-permission-list.js +14 -0
- package/lib/module/modules/bt-management/utils/bluetooth-permission-list.js.map +1 -0
- package/lib/module/modules/bt-management/utils/device-user.js +17 -0
- package/lib/module/modules/bt-management/utils/device-user.js.map +1 -0
- package/lib/module/modules/bt-management/utils/kpa-to-mmhg.js +6 -0
- package/lib/module/modules/bt-management/utils/kpa-to-mmhg.js.map +1 -0
- package/lib/module/modules/bt-management/utils/result-identity.js +23 -33
- package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -1
- package/lib/module/modules/bt-management/utils/rr-interval.js +12 -0
- package/lib/module/modules/bt-management/utils/rr-interval.js.map +1 -0
- package/lib/module/modules/bt-management/utils/temperature-type.js +11 -0
- package/lib/module/modules/bt-management/utils/temperature-type.js.map +1 -0
- package/lib/module/modules/bt-management/utils/wait.js +5 -0
- package/lib/module/modules/bt-management/utils/wait.js.map +1 -0
- package/lib/module/modules/next/background-sync/index.js +12 -0
- package/lib/module/modules/next/background-sync/index.js.map +1 -0
- package/lib/module/modules/next/background-sync/offline-measurement-background-sync.js +55 -0
- package/lib/module/modules/next/background-sync/offline-measurement-background-sync.js.map +1 -0
- package/lib/module/modules/next/bluetooth/auto-connect.js +28 -0
- package/lib/module/modules/next/bluetooth/auto-connect.js.map +1 -0
- package/lib/module/modules/next/bluetooth/ble-plx/ble-errors.js +28 -0
- package/lib/module/modules/next/bluetooth/ble-plx/ble-errors.js.map +1 -0
- package/lib/module/modules/next/bluetooth/ble-plx/ble-link.js +159 -0
- package/lib/module/modules/next/bluetooth/ble-plx/ble-link.js.map +1 -0
- package/lib/module/modules/next/bluetooth/ble-plx/ble-scanner.js +69 -0
- package/lib/module/modules/next/bluetooth/ble-plx/ble-scanner.js.map +1 -0
- package/lib/module/modules/next/bluetooth/ble-plx/built-in-devices.js +31 -0
- package/lib/module/modules/next/bluetooth/ble-plx/built-in-devices.js.map +1 -0
- package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js +63 -0
- package/lib/module/modules/next/bluetooth/ble-plx/legacy-driver.js.map +1 -0
- package/lib/module/modules/next/bluetooth/connections.js +110 -0
- package/lib/module/modules/next/bluetooth/connections.js.map +1 -0
- package/lib/module/modules/next/bluetooth/daily-total-day.js.map +1 -0
- package/lib/module/modules/next/bluetooth/devices.js +37 -0
- package/lib/module/modules/next/bluetooth/devices.js.map +1 -0
- package/lib/module/modules/next/bluetooth/driver.js +29 -20
- package/lib/module/modules/next/bluetooth/driver.js.map +1 -1
- package/lib/module/modules/next/bluetooth/errors.js +21 -0
- package/lib/module/modules/next/bluetooth/errors.js.map +1 -0
- package/lib/module/modules/next/bluetooth/index.js +22 -4
- package/lib/module/modules/next/bluetooth/index.js.map +1 -1
- package/lib/module/modules/next/bluetooth/link.js +0 -101
- package/lib/module/modules/next/bluetooth/link.js.map +1 -1
- package/lib/module/modules/next/bluetooth/paired.js +46 -0
- package/lib/module/modules/next/bluetooth/paired.js.map +1 -0
- package/lib/module/modules/next/bluetooth/permissions.js +2 -0
- package/lib/module/modules/next/bluetooth/permissions.js.map +1 -0
- package/lib/module/modules/next/bluetooth/react/bluetooth-device-picker.js +39 -0
- package/lib/module/modules/next/bluetooth/react/bluetooth-device-picker.js.map +1 -0
- package/lib/module/modules/next/bluetooth/react/context.js +48 -0
- package/lib/module/modules/next/bluetooth/react/context.js.map +1 -0
- package/lib/module/modules/next/bluetooth/react/hooks.js +76 -0
- package/lib/module/modules/next/bluetooth/react/hooks.js.map +1 -0
- package/lib/module/modules/next/bluetooth/react-native/create-bluetooth-runtime.js +25 -0
- package/lib/module/modules/next/bluetooth/react-native/create-bluetooth-runtime.js.map +1 -0
- package/lib/module/modules/next/bluetooth/react-native/os-permissions.js +28 -0
- package/lib/module/modules/next/bluetooth/react-native/os-permissions.js.map +1 -0
- package/lib/module/modules/next/bluetooth/react-native/ovok-sink.js +39 -0
- package/lib/module/modules/next/bluetooth/react-native/ovok-sink.js.map +1 -0
- package/lib/module/modules/next/bluetooth/readings.js +89 -0
- package/lib/module/modules/next/bluetooth/readings.js.map +1 -0
- package/lib/module/modules/next/bluetooth/result-policy.js +14 -2
- package/lib/module/modules/next/bluetooth/result-policy.js.map +1 -1
- package/lib/module/modules/next/bluetooth/runtime.js +220 -0
- package/lib/module/modules/next/bluetooth/runtime.js.map +1 -0
- package/lib/module/modules/next/bluetooth/scan-loop.js +78 -0
- package/lib/module/modules/next/bluetooth/scan-loop.js.map +1 -0
- package/lib/module/modules/next/bluetooth/sig-profiles.js +44 -11
- package/lib/module/modules/next/bluetooth/sig-profiles.js.map +1 -1
- package/lib/module/modules/next/bluetooth/sink.js +4 -0
- package/lib/module/modules/next/bluetooth/sink.js.map +1 -0
- package/lib/module/modules/next/bluetooth/snapshot.js +4 -0
- package/lib/module/modules/next/bluetooth/snapshot.js.map +1 -0
- package/lib/module/modules/next/bluetooth/stable-hash.js +37 -0
- package/lib/module/modules/next/bluetooth/stable-hash.js.map +1 -0
- package/lib/module/modules/next/bluetooth/store.js +57 -0
- package/lib/module/modules/next/bluetooth/store.js.map +1 -0
- package/lib/module/modules/next/bluetooth/transport.js +4 -0
- package/lib/module/modules/next/bluetooth/transport.js.map +1 -0
- package/lib/module/modules/next/data-sync/index.js +11 -0
- package/lib/module/modules/next/data-sync/index.js.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/device-picker-sheet.d.ts +25 -0
- package/lib/typescript/commonjs/src/modules/bt-management/components/device-picker-sheet.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +20 -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/custom/define-custom-device.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +14 -1
- 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-current-time.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-current-time.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts +2 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +11 -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/bt-notification-readiness.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-notification-readiness.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -0
- 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/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/record-cursor.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/record-cursor.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/command-sequencer.d.ts +6 -2
- 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 +3 -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/custom-device-definition.d.ts +14 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/glucose-record-details.d.ts +33 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/glucose-record-details.d.ts.map +1 -0
- 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 +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/bluetooth-permission-list.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/bluetooth-permission-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-user.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/device-user.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/kpa-to-mmhg.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/kpa-to-mmhg.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts +5 -4
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/rr-interval.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/rr-interval.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/temperature-type.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/temperature-type.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/wait.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/wait.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/next/background-sync/index.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/next/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/background-sync/offline-measurement-background-sync.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/next/background-sync/offline-measurement-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/auto-connect.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/auto-connect.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-errors.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-errors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-link.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-link.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-scanner.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/ble-scanner.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/built-in-devices.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/built-in-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts +25 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/connections.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/daily-total-day.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/devices.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts +27 -20
- package/lib/typescript/commonjs/src/modules/next/bluetooth/driver.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/errors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts +34 -5
- package/lib/typescript/commonjs/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/link.d.ts +14 -5
- package/lib/typescript/commonjs/src/modules/next/bluetooth/link.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/paired.d.ts +18 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/paired.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/permissions.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/permissions.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react/bluetooth-device-picker.d.ts +35 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react/bluetooth-device-picker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react/context.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react/context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react/hooks.d.ts +47 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react/hooks.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/create-bluetooth-runtime.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/create-bluetooth-runtime.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/os-permissions.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/os-permissions.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/ovok-sink.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/react-native/ovok-sink.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/readings.d.ts +21 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/readings.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/result-policy.d.ts +9 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/result-policy.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts +87 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/runtime.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/scan-loop.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/scan-loop.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/sig-profiles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/sink.d.ts +20 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/sink.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts +72 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/snapshot.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/stable-hash.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/stable-hash.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/store.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/store.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/transport.d.ts +31 -0
- package/lib/typescript/commonjs/src/modules/next/bluetooth/transport.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/next/data-sync/index.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/next/data-sync/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-sign-in.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bluetooth-device-picker.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/device-picker-sheet.d.ts +25 -0
- package/lib/typescript/module/src/modules/bt-management/components/device-picker-sheet.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +20 -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/custom/define-custom-device.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/custom/define-custom-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-command-writer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +14 -1
- 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-current-time.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-current-time.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts +2 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-device-information.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +11 -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/bt-notification-readiness.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-notification-readiness.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-pairing-retry.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts +2 -0
- 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/standard-gatt/standard-gatt.blood-pressure-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.decorators.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +5 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.frame.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-details.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-frame.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose-racp.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.glucose.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.profile.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/record-cursor.d.ts +21 -0
- package/lib/typescript/module/src/modules/bt-management/services/record-cursor.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/command-sequencer.d.ts +6 -2
- 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 +3 -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/custom-device-definition.d.ts +14 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-device-definition.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/glucose-record-details.d.ts +33 -0
- package/lib/typescript/module/src/modules/bt-management/types/glucose-record-details.d.ts.map +1 -0
- 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 +6 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/bluetooth-permission-list.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/utils/bluetooth-permission-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/device-user.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/utils/device-user.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/kpa-to-mmhg.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/utils/kpa-to-mmhg.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts +5 -4
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/utils/rr-interval.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/utils/rr-interval.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/temperature-type.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/utils/temperature-type.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/wait.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/utils/wait.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/module/src/modules/next/background-sync/index.d.ts +10 -0
- package/lib/typescript/module/src/modules/next/background-sync/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/background-sync/offline-measurement-background-sync.d.ts +22 -0
- package/lib/typescript/module/src/modules/next/background-sync/offline-measurement-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/auto-connect.d.ts +10 -0
- package/lib/typescript/module/src/modules/next/bluetooth/auto-connect.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-errors.d.ts +4 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-errors.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-link.d.ts +6 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-link.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-scanner.d.ts +10 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/ble-scanner.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/built-in-devices.d.ts +6 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/built-in-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts +8 -0
- package/lib/typescript/module/src/modules/next/bluetooth/ble-plx/legacy-driver.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts +25 -0
- package/lib/typescript/module/src/modules/next/bluetooth/connections.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/daily-total-day.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/devices.d.ts +30 -0
- package/lib/typescript/module/src/modules/next/bluetooth/devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts +27 -20
- package/lib/typescript/module/src/modules/next/bluetooth/driver.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts +17 -0
- package/lib/typescript/module/src/modules/next/bluetooth/errors.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts +34 -5
- package/lib/typescript/module/src/modules/next/bluetooth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/link.d.ts +14 -5
- package/lib/typescript/module/src/modules/next/bluetooth/link.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/paired.d.ts +18 -0
- package/lib/typescript/module/src/modules/next/bluetooth/paired.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/permissions.d.ts +13 -0
- package/lib/typescript/module/src/modules/next/bluetooth/permissions.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react/bluetooth-device-picker.d.ts +35 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react/bluetooth-device-picker.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react/context.d.ts +30 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react/context.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react/hooks.d.ts +47 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react/hooks.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react-native/create-bluetooth-runtime.d.ts +21 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react-native/create-bluetooth-runtime.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react-native/os-permissions.d.ts +5 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react-native/os-permissions.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react-native/ovok-sink.d.ts +6 -0
- package/lib/typescript/module/src/modules/next/bluetooth/react-native/ovok-sink.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/readings.d.ts +21 -0
- package/lib/typescript/module/src/modules/next/bluetooth/readings.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/result-policy.d.ts +9 -1
- package/lib/typescript/module/src/modules/next/bluetooth/result-policy.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts +87 -0
- package/lib/typescript/module/src/modules/next/bluetooth/runtime.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/scan-loop.d.ts +23 -0
- package/lib/typescript/module/src/modules/next/bluetooth/scan-loop.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/sig-profiles.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/next/bluetooth/sink.d.ts +20 -0
- package/lib/typescript/module/src/modules/next/bluetooth/sink.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts +72 -0
- package/lib/typescript/module/src/modules/next/bluetooth/snapshot.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/stable-hash.d.ts +6 -0
- package/lib/typescript/module/src/modules/next/bluetooth/stable-hash.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/store.d.ts +16 -0
- package/lib/typescript/module/src/modules/next/bluetooth/store.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/bluetooth/transport.d.ts +31 -0
- package/lib/typescript/module/src/modules/next/bluetooth/transport.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/next/data-sync/index.d.ts +9 -0
- package/lib/typescript/module/src/modules/next/data-sync/index.d.ts.map +1 -0
- package/package.json +12 -2
- package/lib/commonjs/modules/bt-management/utils/daily-total-day.js.map +0 -1
- package/lib/commonjs/modules/next/bluetooth/drivers.js +0 -20
- package/lib/commonjs/modules/next/bluetooth/drivers.js.map +0 -1
- package/lib/commonjs/modules/next/bluetooth/legacy-driver.js +0 -55
- package/lib/commonjs/modules/next/bluetooth/legacy-driver.js.map +0 -1
- package/lib/module/modules/bt-management/utils/daily-total-day.js.map +0 -1
- package/lib/module/modules/next/bluetooth/drivers.js +0 -17
- package/lib/module/modules/next/bluetooth/drivers.js.map +0 -1
- package/lib/module/modules/next/bluetooth/legacy-driver.js +0 -51
- package/lib/module/modules/next/bluetooth/legacy-driver.js.map +0 -1
- package/lib/typescript/commonjs/src/modules/bt-management/utils/daily-total-day.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/drivers.d.ts +0 -7
- package/lib/typescript/commonjs/src/modules/next/bluetooth/drivers.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/modules/next/bluetooth/legacy-driver.d.ts +0 -8
- package/lib/typescript/commonjs/src/modules/next/bluetooth/legacy-driver.d.ts.map +0 -1
- package/lib/typescript/module/src/modules/bt-management/utils/daily-total-day.d.ts.map +0 -1
- package/lib/typescript/module/src/modules/next/bluetooth/drivers.d.ts +0 -7
- package/lib/typescript/module/src/modules/next/bluetooth/drivers.d.ts.map +0 -1
- package/lib/typescript/module/src/modules/next/bluetooth/legacy-driver.d.ts +0 -8
- package/lib/typescript/module/src/modules/next/bluetooth/legacy-driver.d.ts.map +0 -1
- /package/lib/commonjs/modules/{bt-management/utils → next/bluetooth}/daily-total-day.js +0 -0
- /package/lib/module/modules/{bt-management/utils → next/bluetooth}/daily-total-day.js +0 -0
- /package/lib/typescript/commonjs/src/modules/{bt-management/utils → next/bluetooth}/daily-total-day.d.ts +0 -0
- /package/lib/typescript/module/src/modules/{bt-management/utils → next/bluetooth}/daily-total-day.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","getOwnerKey","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","forEach","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","disconnectDevice","deviceId","get","forget","add","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","closeDevice","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Error","Math","max"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":";;AAAA;AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,cAAc;AAChD,SAIEC,QAAQ,EACRC,KAAK,QAEA,sBAAsB;AAE7B,SAASC,YAAY,QAAQ,sCAAmC;AAChE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,kCAA+B;AAGlF,SAASC,gBAAgB,QAAQ,6BAA0B;AAO3D,SAASC,iBAAiB,QAAQ,gCAA6B;AAI/D,SAASC,oBAAoB,QAAQ,oCAAiC;AAEtE,SAASC,aAAa,QAAQ,qBAAkB;AAEhD,SAASC,cAAc,QAAQ,sBAAmB;;AAElD;;AAoDA;;AAMA,MAAMC,sBAAsB,GAAIC,KAAc,IAC5CJ,oBAAoB,CAACF,gBAAgB,CAACM,KAAK,CAAC,CAAC;AAE/C,MAAMC,mBAAmB,GAAG,KAAK;;AAEjC;AACA,MAAMC,oBAAoB,GAAG,MAAM;;AAEnC;AACA,MAAMC,SAAS,CAAsC;EACnD,OAAwBC,WAAW,GAAG,EAAE,CAAC,CAAC;EAClCC,OAAO,GAAG,IAAIC,GAAG,CAA0C,CAAC;EAC5DC,kBAAkB,GAAG,IAAIC,GAAG,CAAS,CAAC;EAGtCC,kBAAkB,GAAmB,EAAE;EACvCC,cAAc,GAAG,CAAC;EAClBC,UAAU,GAAG,KAAK;EAClBC,YAAY,GAAG,KAAK;EACpBC,SAAS,GAAG,KAAK;EAIjBC,qBAAqB,GAAG,IAAIR,GAAG,CAA0C,CAAC;EAI1ES,uBAAuB,GAAG,KAAK;EAIvCC,WAAWA,CACQC,UAAsB,EACtBC,eAAkB,EAClBC,OAAyB,GAAG,CAAC,CAAC,EAC/C;IAAA,KAHiBF,UAAsB,GAAtBA,UAAsB;IAAA,KACtBC,eAAkB,GAAlBA,eAAkB;IAAA,KAClBC,OAAyB,GAAzBA,OAAyB;IAE1C,IAAI,CAACC,aAAa,GAAG,IAAIvB,aAAa,CAAC,IAAI,CAACqB,eAAe,CAAC;IAC5D,IAAI,CAACG,qBAAqB,GAAGF,OAAO,CAACG,iBAAiB,KAAK,IAAI;IAC/D,IAAI,CAACC,MAAM,GAAG,IAAIzB,cAAc,CAAC;MAAE0B,OAAO,EAAEL,OAAO,CAACM,aAAa;MAAEC,WAAW,EAAEP,OAAO,CAACO;IAAY,CAAC,CAAC;EACxG;;EAEA;EACOC,cAAc,GAAGA,CACtBC,gBAIC,EACDC,OAAgB,EAChBC,yBAAyE,KAChE;IACT,MAAMC,OAAO,GAAG,OAAOH,gBAAgB,KAAK,SAAS,GACjDA,gBAAgB,GAChBA,gBAAgB,CAACG,OAAO;IAE5B,MAAMC,WAAW,GAAG,OAAOJ,gBAAgB,KAAK,SAAS,GACrDC,OAAO,GACPD,gBAAgB,CAACC,OAAO;IAE5B,MAAMI,oBAAoB,GAAG,OAAOL,gBAAgB,KAAK,SAAS,GAC9DE,yBAAyB,GACzBF,gBAAgB,CAACE,yBAAyB;IAE9C,IAAI,CAACX,OAAO,CAACe,WAAW,GAAGH,OAAO;IAClC,IAAI,CAACZ,OAAO,CAACgB,kBAAkB,GAAGH,WAAW,IAAI,IAAI,CAACb,OAAO,CAACgB,kBAAkB;IAChF,IAAI,CAAChB,OAAO,CAACW,yBAAyB,GAAGG,oBAAoB;IAE7D,IAAI,CAACF,OAAO,EAAE;MACZ,IAAI,CAACjB,qBAAqB,CAACsB,KAAK,CAAC,CAAC;MAClC,IAAI,IAAI,CAACC,gBAAgB,EAAE;QACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;QACnC,IAAI,CAACA,gBAAgB,GAAGE,SAAS;MACnC;IACF;EACF,CAAC;;EAED;EACOC,OAAO,GAAGA,CAAA,KAAM;IACrBjD,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC;IAExD,IAAI,CAACsB,SAAS,GAAG,IAAI;IACrB,IAAI,CAAC4B,QAAQ,CAAC,CAAC;IACf,IAAI,IAAI,CAACJ,gBAAgB,EAAE;MACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;MACnC,IAAI,CAACA,gBAAgB,GAAGE,SAAS;IACnC;;IAEA;IACA,IAAI,CAAChC,kBAAkB,CAAC6B,KAAK,CAAC,CAAC;IAE/B,IAAI,CAAChB,aAAa,CAACoB,OAAO,CAAC,CAAC;IAC5B,KAAK,IAAI,CAACjB,MAAM,CAACiB,OAAO,CAAC,CAAC;EAC5B,CAAC;;EAED;EACOE,aAAa,GAAGA,CAAA,KAA6B,IAAI,CAACnB,MAAM,CAACoB,OAAO,CAAC,CAAC;;EAEzE;EACOC,mBAAmB,GAAIC,QAAoB,IAAmB,IAAI,CAACtB,MAAM,CAACuB,SAAS,CAACD,QAAQ,CAAC;;EAEpG;EACOE,SAAS,GAAGA,CAAA,KAAM;IACvB,IACE,IAAI,CAAClC,SAAS,IACd,IAAI,CAACF,UAAU,IACf,IAAI,CAACC,YAAY,IACjB,IAAI,CAACoC,mBAAmB,EACxB;MACA;IACF;IAEA,IAAI,CAACC,WAAW,KAAKC,WAAW,CAAC,IAAI,CAAC3B,MAAM,CAAC4B,SAAS,EAAEjD,oBAAoB,CAAC;IAE7E,MAAMkD,UAAU,GAAG,EAAE,IAAI,CAAC1C,cAAc;IACxC,IAAI2C,YAAsC;IAE1C,MAAMC,aAAa,GAAIC,KAAY,IAAK;MACtC,IAAI,IAAI,CAAC1C,SAAS,IAAIuC,UAAU,KAAK,IAAI,CAAC1C,cAAc,EAAE;QACxD;MACF;MAEA,IAAI6C,KAAK,KAAKjE,KAAK,CAACkE,SAAS,EAAE;QAC7B,IAAI,CAACzC,uBAAuB,GAAG,KAAK;QACpC,IAAI,CAAC0C,eAAe,CAACL,UAAU,CAAC;QAEhC;MACF;MAEA,IAAI,CAACzC,UAAU,GAAG,KAAK;MACvB,IAAI,CAACC,YAAY,GAAG,KAAK;MACzB,IAAI,CAACK,UAAU,CAACyC,cAAc,CAAC,CAAC;MAChC,IAAIH,KAAK,KAAKjE,KAAK,CAACqE,UAAU,IAAI,IAAI,CAAC5C,uBAAuB,EAAE;QAC9D;MACF;MAEA,IAAI,CAACA,uBAAuB,GAAG,IAAI;MACnC,IAAI,CAAC6C,eAAe,GAAG7D,sBAAsB,CAAC,0BAA0B,CAAC,CAAC;MAE1ER,YAAY,CACV,SAAS,EACT,wEACF,CAAC;;MAED;MACA;MACA;MACA,IAAIH,QAAQ,CAACyE,EAAE,KAAK,SAAS,EAAE;QAC7B1E,OAAO,CAAC2E,UAAU,CAAC,iDAAiD,CAAC;QAErE;MACF;MAEAvE,YAAY,CACV,SAAS,EACT,4EACF,CAAC;IACH,CAAC;IAED,IAAI;MACF8D,YAAY,GAAG,IAAI,CAACpC,UAAU,CAACqC,aAAa,CAACA,aAAa,EAAE,IAAI,CAAC;IACnE,CAAC,CAAC,OAAOtD,KAAK,EAAE;MACd,IAAI,CAAC4D,eAAe,GAAG7D,sBAAsB,CAACC,KAAK,CAAC,CAAC;MAErD;IACF;IAEA,IAAI,CAACgD,mBAAmB,GAAGK,YAAY;IACvC,IAAI,CAAC5C,kBAAkB,CAACsD,IAAI,CAACV,YAAY,CAAC;EAC5C,CAAC;;EAED;EACOW,wBAAwB,GAAIjC,OAAgB,IAAW;IAC5D,IAAI,IAAI,CAACV,qBAAqB,KAAKU,OAAO,EAAE;MAC1C;IACF;IAEA,IAAI,CAACV,qBAAqB,GAAGU,OAAO;IAEpC,IAAI,IAAI,CAACpB,UAAU,IAAI,IAAI,CAACqC,mBAAmB,EAAE;MAC/C,IAAI,CAACiB,WAAW,CAAC,CAAC;IACpB;EACF,CAAC;;EAED;EACOxB,QAAQ,GAAGA,CAAA,KAAM;IACtBlD,YAAY,CAAC,MAAM,EAAE,2BAA2B,CAAC;IAEjD,IAAI,CAAC2E,QAAQ,CAAC,CAAC;;IAEf;IACA,IAAI,CAACzD,kBAAkB,CAAC0D,OAAO,CAAEC,GAAG,IAAKA,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;IACtD,IAAI,CAAC5D,kBAAkB,GAAG,EAAE;;IAE5B;IACA6D,aAAa,CAAC,IAAI,CAACrB,WAAW,CAAC;IAC/B,IAAI,CAACA,WAAW,GAAGV,SAAS;IAC5B,IAAI,CAAChB,MAAM,CAACgD,SAAS,CAAChC,SAAS,CAAC;IAChC,IAAI,CAACqB,eAAe,GAAGrB,SAAS;IAChC,IAAI,CAACiC,qBAAqB,GAAGjC,SAAS;IACtC,IAAI,CAACkC,gBAAgB,GAAGlC,SAAS;IACjC,IAAI,CAACmC,6BAA6B,GAAGnC,SAAS;IAC9C,IAAI,CAACoC,yBAAyB,GAAGpC,SAAS;IAE1C,IAAI,CAAClC,OAAO,CAAC8D,OAAO,CAAES,MAAM,IAAK;MAC/B,KAAKA,MAAM,CAACC,UAAU,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,IAAI,CAACxE,OAAO,CAAC+B,KAAK,CAAC,CAAC;EACtB,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACS0C,SAAS,GAAGA,CAAA,KAAM;IACvB,IAAI,IAAI,CAACjE,SAAS,EAAE;MAClB;IACF;IAEAtB,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAEhD,IAAI,CAAC2E,QAAQ,CAAC,CAAC;EACjB,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACSa,UAAU,GAAGA,CAAA,KAAM;IACxB,IAAI,IAAI,CAAClE,SAAS,EAAE;MAClB;IACF;IAEAtB,YAAY,CAAC,MAAM,EAAE,2BAA2B,CAAC;IACjD,IAAI,CAAC0E,WAAW,CAAC,CAAC;EACpB,CAAC;EAEOA,WAAW,GAAGA,CAAA,KAAM;IAC1B,IAAI,IAAI,CAACpD,SAAS,EAAE;MAClB;IACF;IAEA,IAAI,CAACqD,QAAQ,CAAC,CAAC;IAEf,IAAI,CAACnB,SAAS,CAAC,CAAC;EAClB,CAAC;;EAED;EACQmB,QAAQ,GAAGA,CAAA,KAAM;IACvB,IAAI,CAACxD,cAAc,IAAI,CAAC;IACxB,IAAI,CAACC,UAAU,GAAG,KAAK;IACvB,IAAI,CAACC,YAAY,GAAG,KAAK;IACzB,IAAI,CAACoE,eAAe,CAAC,CAAC;IACtB,IAAI,CAACC,yBAAyB,CAAC,CAAC;IAChC,IAAI,CAAChE,UAAU,CAACyC,cAAc,CAAC,CAAC;EAClC,CAAC;EAEOsB,eAAe,GAAGA,CAAA,KAAM;IAC9B,IAAI,IAAI,CAACE,cAAc,EAAE;MACvB5C,YAAY,CAAC,IAAI,CAAC4C,cAAc,CAAC;MACjC,IAAI,CAACA,cAAc,GAAG3C,SAAS;IACjC;IAEA,IAAI,IAAI,CAAC4C,gBAAgB,EAAE;MACzB7C,YAAY,CAAC,IAAI,CAAC6C,gBAAgB,CAAC;MACnC,IAAI,CAACA,gBAAgB,GAAG5C,SAAS;IACnC;EACF,CAAC;EAEO6C,iBAAiB,GAAIhC,UAAkB,IAAK;IAClD,IAAI,IAAI,CAACvC,SAAS,IAAIuC,UAAU,KAAK,IAAI,CAAC1C,cAAc,IAAI,IAAI,CAACwE,cAAc,EAAE;MAC/E;IACF;IAEA,IAAI,CAACA,cAAc,GAAGG,UAAU,CAAC,MAAM;MACrC,IAAI,CAACH,cAAc,GAAG3C,SAAS;MAC/B,IAAI,CAACkB,eAAe,CAACL,UAAU,CAAC;IAClC,CAAC,EAAEnD,mBAAmB,CAAC;EACzB,CAAC;EAEOgF,yBAAyB,GAAGA,CAAC5B,YAAY,GAAG,IAAI,CAACL,mBAAmB,KAAK;IAC/E,IAAI,CAACK,YAAY,EAAE;MACjB;IACF;IAEAA,YAAY,CAACgB,MAAM,CAAC,CAAC;IAErB,IAAI,IAAI,CAACrB,mBAAmB,KAAKK,YAAY,EAAE;MAC7C,IAAI,CAACL,mBAAmB,GAAGT,SAAS;IACtC;IAEA,MAAM+C,KAAK,GAAG,IAAI,CAAC7E,kBAAkB,CAAC8E,OAAO,CAAClC,YAAY,CAAC;IAE3D,IAAIiC,KAAK,GAAG,CAAC,CAAC,EAAE;MACd,IAAI,CAAC7E,kBAAkB,CAAC+E,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;IAC1C;EACF,CAAC;EAEO7B,eAAe,GAAIL,UAAkB,IAAK;IAChD,IACE,IAAI,CAACvC,SAAS,IACduC,UAAU,KAAK,IAAI,CAAC1C,cAAc,IAClC,IAAI,CAACC,UAAU,IACf,IAAI,CAACC,YAAY,EACjB;MACA;IACF;IAEA,MAAM6E,YAAY,GAAG,IAAI,CAACtE,OAAO,CAACsE,YAAY;;IAE9C;IACA,MAAMC,gBAAgB,GACpB,IAAI,CAACrE,qBAAqB,IAAIoE,YAAY,EAAEE,MAAM,GAAG,CAAC,GAAGF,YAAY,CAAC,GAAG,IAAI;IAE/E,IAAIrG,QAAQ,CAACyE,EAAE,KAAK,KAAK,IAAI,IAAI,CAACxC,qBAAqB,IAAI,CAACoE,YAAY,EAAEE,MAAM,EAAE;MAChF,IAAI,CAAC/B,eAAe,GAClB7D,sBAAsB,CACpB,2GACF,CACF,CAAC;MAED;IACF;IAEA,IAAI,CAACa,YAAY,GAAG,IAAI;IAExB,IAAIgF,UAAU,GAAG,KAAK;IAEtB,IAAI;MACF,IAAI,CAAC3E,UAAU,CAACwC,eAAe,CAC7BiC,gBAAgB,EAChB;QACEG,QAAQ,EAAE,IAAI,CAACxE,qBAAqB,GAChChC,QAAQ,CAACyG,QAAQ,GACjBzG,QAAQ,CAAC0G;MACf,CAAC,EACD,CAAC/F,KAAK,EAAE4E,MAAM,KAAK;QACjB,IAAIxB,UAAU,KAAK,IAAI,CAAC1C,cAAc,EAAE;UACtC;QACF;QAEA,IAAIV,KAAK,EAAE;UACT4F,UAAU,GAAG,IAAI;UACjB,IAAI,CAACjF,UAAU,GAAG,KAAK;UACvB,IAAI,CAACyE,iBAAiB,CAAChC,UAAU,CAAC;QACpC;QAEA,IAAI,CAAC4C,YAAY,CAAChG,KAAK,EAAE4E,MAAM,CAAC;MAClC,CACF,CAAC;MACD,IAAI,CAACjE,UAAU,GAAG,CAACiF,UAAU;MAC7BrG,YAAY,CAAC,MAAM,EAAE,4CAA4C,CAAC;MAClEC,gBAAgB,CAAC,wBAAwB,EAAE;QACzCyG,QAAQ,EAAE7G,QAAQ,CAACyE,EAAE;QACrBqC,UAAU,EAAE,IAAI,CAAC7E;MACnB,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOrB,KAAK,EAAE;MACd,IAAI,CAACoF,iBAAiB,CAAChC,UAAU,CAAC;MAClC,IAAI,CAACQ,eAAe,GAAG7D,sBAAsB,CAACC,KAAK,CAAC,CAAC;IACvD,CAAC,SAAS;MACR,IAAI,CAACY,YAAY,GAAG,KAAK;IAC3B;EACF,CAAC;;EAED;EACOuF,cAAc,GAAI9F,OAA0B,IAAK;IACtDA,OAAO,CAAC8D,OAAO,CAAES,MAAM,IAAK;MAC1B,IAAI,CAACrE,kBAAkB,CAAC6F,MAAM,CAACxB,MAAM,CAACyB,EAAE,CAAC;MACzC,IAAI,CAACL,YAAY,CAAC,IAAI,EAAEpB,MAAM,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC;;EAED;EACO0B,gBAAgB,GAAG,MAAOC,QAAgB,IAAoB;IACnE,IAAI,CAACzF,qBAAqB,CAACsF,MAAM,CAACG,QAAQ,CAAC;IAE3C,MAAM3B,MAAM,GAAG,IAAI,CAACvE,OAAO,CAACmG,GAAG,CAACD,QAAQ,CAAC;IAEzC,IAAI,CAAC3B,MAAM,EAAE;MACX;IACF;IAEA,IAAI,CAACvE,OAAO,CAAC+F,MAAM,CAACG,QAAQ,CAAC;IAC7B,MAAM3B,MAAM,CAACC,UAAU,CAAC,CAAC;EAC3B,CAAC;;EAED;EACO4B,MAAM,GAAG,MAAOF,QAAgB,IAAoB;IACzD,IAAI,CAAChG,kBAAkB,CAACmG,GAAG,CAACH,QAAQ,CAAC;IACrC,MAAM,IAAI,CAACD,gBAAgB,CAACC,QAAQ,CAAC;EACvC,CAAC;;EAED;EACOI,aAAa,GAClBC,QAGkB,IACf;IACHrH,YAAY,CAAC,MAAM,EAAE,4CAA4C,CAAC;IAClE,IAAI,CAACiF,qBAAqB,GAAGoC,QAAQ;EACvC,CAAC;;EAED;EACOC,OAAO,GAAID,QAAwC,IAAK;IAC7DrH,YAAY,CAAC,MAAM,EAAE,sCAAsC,CAAC;IAC5D,IAAI,CAACqE,eAAe,GAAGgD,QAAQ;EACjC,CAAC;;EAED;EACOE,qBAAqB,GAC1BF,QAAqD,IAClD;IACHrH,YAAY,CAAC,MAAM,EAAE,oDAAoD,CAAC;IAC1E,IAAI,CAACmF,6BAA6B,GAAGkC,QAAQ;EAC/C,CAAC;;EAED;EACOG,iBAAiB,GACtBH,QAAgD,IAC7C;IACHrH,YAAY,CAAC,MAAM,EAAE,gDAAgD,CAAC;IACtE,IAAI,CAACoF,yBAAyB,GAAGiC,QAAQ;EAC3C,CAAC;;EAED;EACOI,QAAQ,GACbJ,QAAyD,IACtD;IACHrH,YAAY,CAAC,MAAM,EAAE,uCAAuC,CAAC;IAC7D,IAAI,CAACkF,gBAAgB,GAAGmC,QAAQ;;IAEhC;IACA,IAAI,CAACrF,MAAM,CAACgD,SAAS,CAACqC,QAAmE,CAAC;EAC5F,CAAC;;EAED;;EAYQZ,YAAY,GAAGA,CAAChG,KAAsB,EAAE4E,MAAqB,KAAK;IACxE,IAAI;MACF,IAAI5E,KAAK,EAAE;QACT,IAAI,CAAC4D,eAAe,GAAG7D,sBAAsB,CAACC,KAAK,CAAC,CAAC;QACrDT,YAAY,CAAC,SAAS,EAAE,+BAA+B,EAAE;UACvD0H,SAAS,EAAEvH,gBAAgB,CAACM,KAAK,CAAC,CAACkH;QACrC,CAAC,CAAC;QAEF;MACF;;MAEA;AACN;AACA;AACA;AACA;AACA;MACM,MAAMC,cAAc,GAClBvC,MAAM,EAAEwC,IAAI,EAAEC,IAAI,CAAC,CAAC,IAAIzC,MAAM,EAAE0C,SAAS,EAAED,IAAI,CAAC,CAAC,IAAI,EAAE;MAEzD,IAAI,CAACzC,MAAM,EAAE;QACX;MACF;MAEA,IAAI,IAAI,CAACrE,kBAAkB,CAACgH,GAAG,CAAC3C,MAAM,CAACyB,EAAE,CAAC,EAAE;QAC1C;MACF;MAEA,IAAI,IAAI,CAAChG,OAAO,CAACkH,GAAG,CAAC3C,MAAM,CAACyB,EAAE,CAAC,EAAE;QAC/B;MACF;MAEA,MAAMmB,UAAU,GAAG,IAAI,CAACpG,aAAa,CAACqG,aAAa,CACjDN,cAAc,EACdvC,MAAM,CAACa,YAAY,IAAI,EAAE,EACzBb,MAAM,CAAC8C,gBAAgB,IAAInF,SAC7B,CAAC;MAED,IAAI,CAACiF,UAAU,EAAE;QACf;MACF;;MAEA;MACA,IAAI,IAAI,CAACnH,OAAO,CAACsH,IAAI,IAAIxH,SAAS,CAACC,WAAW,EAAE;QAC9Cb,YAAY,CACV,SAAS,EACT,4DAA4D,EAC5D;UACEqI,WAAW,EAAE,IAAI,CAACvH,OAAO,CAACsH;QAC5B,CACF,CAAC;QAED;MACF;MAEA,MAAME,WAAW,GAAG,IAAI,CAACzG,aAAa,CAAC0G,YAAY,CAAC;QAClDlD,MAAM;QACN4C,UAAU;QACVX,OAAO,EAAE,IAAI,CAACjD,eAAe,EAAEmE,IAAI,CAAC,IAAI,CAAC;QACzCjB,qBAAqB,EAAE,IAAI,CAACpC,6BAA6B,EAAEqD,IAAI,CAAC,IAAI,CAAC;QACrEhB,iBAAiB,EAAE,IAAI,CAACpC,yBAAyB,EAAEoD,IAAI,CAAC,IAAI,CAAC;QAC7Df,QAAQ,EAAE,IAAI,CAACvC,gBAAgB,EAAEsD,IAAI,CAAC,IAAI,CAAC;QAC3CC,aAAa,EAAEA,CAACC,UAAU,EAAEC,OAAO,KAAK,IAAI,CAAC3G,MAAM,CAACmF,GAAG,CAACuB,UAAU,EAAEC,OAAO,CAAC;QAC5EC,iBAAiB,EAAEA,CAAA,KAAM,IAAI,CAAC1D,gBAAgB,KAAKlC,SAAS;QAC5D6F,uBAAuB,EAAE,IAAI,CAACjH,OAAO,CAACiH,uBAAuB;QAC7DC,qBAAqB,EAAE,IAAI,CAAClH,OAAO,CAACkH,qBAAqB;QACzDC,kBAAkB,EAAE,IAAI,CAACnH,OAAO,CAACmH,kBAAkB;QACnDC,kBAAkB,EAAE,IAAI,CAACpH,OAAO,CAACoH,kBAAkB;QACnDC,YAAY,EAAE,IAAI,CAACrH,OAAO,CAACsH,cAAc,GAAGjB,UAAU,CAAC;QACvDkB,SAAS,EAAE,IAAI,CAACvH,OAAO,CAACuH,SAAS;QACjCC,oBAAoB,EAAEA,CAAA,KAAM;UAC1B,IAAI,CAACpH,MAAM,CAACqH,WAAW,CAAChE,MAAM,CAACyB,EAAE,CAAC;UAClC,IAAI,CAACwC,8BAA8B,EAAEd,IAAI,CAAC,IAAI,CAAC,CAACnD,MAAM,CAACyB,EAAE,CAAC;QAC5D;MACF,CAAC,CAAC;MAEF,IAAI,CAAChG,OAAO,CAACyI,GAAG,CAAClE,MAAM,CAACyB,EAAE,EAAEwB,WAAW,CAAC;MACxCpI,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,EAAE;QACxCwG,QAAQ,EAAE7G,QAAQ,CAACyE;MACrB,CAAC,CAAC;MAEF,IAAI,CAACW,qBAAqB,GAAGqD,WAAW,EAAE,IAAI,CAAC;MAC/C,IAAI,CAACkB,gBAAgB,CAAClB,WAAW,CAAC;IACpC,CAAC,CAAC,OAAO7H,KAAK,EAAE;MACdT,YAAY,CAAC,OAAO,EAAE,mCAAmC,EAAE;QACzD0H,SAAS,EAAEvH,gBAAgB,CAACM,KAAK,CAAC,CAACkH;MACrC,CAAC,CAAC;IACJ;EACF,CAAC;EAEO6B,gBAAgB,GAAInE,MAAuC,IAAW;IAC5E;IACA,IACE,CAAC,IAAI,CAACzD,OAAO,CAACe,WAAW,IACzB0C,MAAM,CAACqD,UAAU,CAACb,IAAI,KAAKzH,iBAAiB,CAACqJ,WAAW,EACxD;MACA;IACF;IAEA,IAAI,CAAClI,qBAAqB,CAACgI,GAAG,CAAClE,MAAM,CAACyB,EAAE,EAAEzB,MAAM,CAAC;IAEjD,IAAI,IAAI,CAACvC,gBAAgB,EAAE;MACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;IACrC;IAEA,IAAI,CAACA,gBAAgB,GAAGgD,UAAU,CAAC,MAAM;MACvC,IAAI,CAAChD,gBAAgB,GAAGE,SAAS;MACjC,MAAMlC,OAAO,GAAG,CAAC,GAAG,IAAI,CAACS,qBAAqB,CAACmI,MAAM,CAAC,CAAC,CAAC;MAExD,IAAI,CAACnI,qBAAqB,CAACsB,KAAK,CAAC,CAAC;MAElC,IAAI/B,OAAO,CAACsF,MAAM,KAAK,CAAC,EAAE;QACxB,MAAMuD,SAAS,GAAG7I,OAAO,CAAC,CAAC,CAAC;QAE5B,IACE6I,SAAS,IACT,CAAC,IAAI,CAAC3I,kBAAkB,CAACgH,GAAG,CAAC2B,SAAS,CAAC7C,EAAE,CAAC,IAC1C,IAAI,CAAChG,OAAO,CAACmG,GAAG,CAAC0C,SAAS,CAAC7C,EAAE,CAAC,KAAK6C,SAAS,EAC5C;UACA,KAAKA,SAAS,CAACC,OAAO,CAAC,CAAC;QAC1B;QAEA;MACF;MAEA,IAAI9I,OAAO,CAACsF,MAAM,GAAG,CAAC,EAAE;QACtB,IAAI,CAACxE,OAAO,CAACW,yBAAyB,GAAG;UACvCzB,OAAO,EAAEA,OAAuC;UAChD+I,MAAM,EAAE,MAAOC,QAAQ,IAAK;YAC1B,IACE,IAAI,CAAC9I,kBAAkB,CAACgH,GAAG,CAAC8B,QAAQ,CAAChD,EAAE,CAAC,IACxC,IAAI,CAAChG,OAAO,CAACmG,GAAG,CAAC6C,QAAQ,CAAChD,EAAE,CAAC,KAAKgD,QAAQ,EAC1C;cACA,MAAM,IAAIC,KAAK,CAAC,8CAA8C,CAAC;YACjE;YAEA,MAAMD,QAAQ,CAACF,OAAO,CAAC,CAAC;UAC1B;QACF,CAAC,CAAC;MACJ;IACF,CAAC,EAAEI,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,IAAI,CAACrI,OAAO,CAACgB,kBAAkB,IAAI,GAAG,CAAC,CAAC;EACzD,CAAC;EAEO0G,8BAA8B,GAAItC,QAAgB,IAAK;IAC7DhH,YAAY,CACV,MAAM,EACN,2EACF,CAAC;IACD,IAAI,CAACc,OAAO,CAAC+F,MAAM,CAACG,QAAQ,CAAC;;IAE7B;IACA;IACA,IAAI,IAAI,CAAC5F,UAAU,EAAE;MACnB,IAAI,CAACoE,UAAU,CAAC,CAAC;IACnB;EACF,CAAC;AACH;AAEA,SAAS5E,SAAS","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Linking","Platform","ScanMode","State","sentryLogger","addOvokSpanEvent","recordOvokMetric","toBluetoothError","IntegratedDevices","errorCallbackPayload","DeviceCreator","SeriesRecorder","bluetoothErrorCallback","error","SCAN_RETRY_DELAY_MS","SERIES_IDLE_CHECK_MS","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","keptDeviceIds","pendingConnectionIds","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","bluetoothEnablePrompted","constructor","bleManager","acceptedDevices","options","deviceCreator","backgroundScanEnabled","backgroundEnabled","series","storage","seriesStorage","getOwnerKey","setAutoConnect","enabledOrOptions","delayMs","onDeviceSelectionRequired","enabled","nextDelayMs","nextSelectionHandler","autoConnect","autoConnectDelayMs","clear","autoConnectTimer","clearTimeout","undefined","destroy","stopScan","getOpenSeries","getOpen","subscribeOpenSeries","listener","subscribe","startScan","stateChangeListener","seriesTimer","setInterval","closeIdle","generation","subscription","onStateChange","state","PoweredOn","startDeviceScan","forEach","requestPendingConnection","stopDeviceScan","PoweredOff","onErrorCallback","OS","sendIntent","push","setBackgroundScanEnabled","restartScan","haltScan","sub","remove","clearInterval","deliverTo","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","device","disconnect","stopKeepingConnection","pauseScan","resumeScan","clearScanTimers","removeStateChangeListener","scanRetryTimer","scanRestartTimer","scheduleScanRetry","setTimeout","index","indexOf","splice","serviceUUIDs","scanServiceUUIDs","length","scanFailed","scanMode","LowPower","Balanced","onScanResult","platform","background","restoreDevices","delete","id","keepConnecting","deviceIds","deviceId","add","disconnectDevice","get","forget","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","errorCode","code","advertisedName","name","trim","localName","has","deviceName","getDeviceName","manufacturerData","size","currentSize","deviceClass","createDevice","bind","onSeriesValue","deviceData","reading","hasResultReceiver","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","recordCursorStorage","clearDeviceHistory","resultPolicy","resultPolicies","clockSync","onDeviceDisconnected","closeDevice","removeDeviceFromFoundedDevices","set","queueAutoConnect","TRASENSE_S9","values","candidate","connect","select","selected","Error","Math","max","connectToDevice","then","cancelDeviceConnection","catch"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -170,6 +170,9 @@ export const defineCustomDevice = (spec, options = {}) => {
|
|
|
170
170
|
}),
|
|
171
171
|
...(options.createFrameHandler === undefined ? {} : {
|
|
172
172
|
createFrameHandler: options.createFrameHandler
|
|
173
|
+
}),
|
|
174
|
+
...(options.createCommandSequencer === undefined ? {} : {
|
|
175
|
+
createCommandSequencer: options.createCommandSequencer
|
|
173
176
|
})
|
|
174
177
|
};
|
|
175
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","assertIntegerInRange","compileCustomLepu","compileCustomMonitor","compileCustomTmb","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","stuckDataTimeoutMs","assertPreferredMtu","mtu","preferredMtu","undefined","assertSessionPolicy","policy","Number","isInteger","minSamples","emit","compileWrite","path","write","commandHex","test","when","uuid","mainCommandUuid","onConnectOnly","defineCustomDevice","options","stuckDataTimeout","sessionPolicy","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","tmb","oneReadingPerConnection","clockSync","setClockBeforeInfo","frameReader","decorateReading","createFrameHandler"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":";;AAAA;;AAEA,SAASA,mBAAmB,QAAQ,wCAAqC;
|
|
1
|
+
{"version":3,"names":["CUSTOM_DEVICE_BRAND","IntegratedDevices","assertIntegerInRange","compileCustomLepu","compileCustomMonitor","compileCustomTmb","customDeviceError","normalizeBleUuid","MIN_STUCK_TIMEOUT_MS","MIN_MTU","MAX_MTU","MAX_STUCK_TIMEOUT_MS","HEX_BYTES","assertIdentity","spec","id","trim","String","builtIn","Object","values","find","name","toLowerCase","compileNameMatch","nameMatch","RegExp","global","sticky","exact","matchByService","replace","assertStuckTimeout","stuckDataTimeoutMs","assertPreferredMtu","mtu","preferredMtu","undefined","assertSessionPolicy","policy","Number","isInteger","minSamples","emit","compileWrite","path","write","commandHex","test","when","uuid","mainCommandUuid","onConnectOnly","defineCustomDevice","options","stuckDataTimeout","sessionPolicy","Array","isArray","services","length","fields","Map","frames","seenCharacteristics","Set","mainServices","map","service","serviceIndex","monitor","monitorUuids","monitorIndex","monitorPath","characteristic","frame","has","add","set","writeUuid","lepu","tmb","oneReadingPerConnection","clockSync","setClockBeforeInfo","frameReader","decorateReading","createFrameHandler","createCommandSequencer"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/custom/define-custom-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
4
4
|
import { toBluetoothError } from "../../types/bluetooth-error.js";
|
|
5
5
|
import { hexToBase64 } from "../../utils/hex-to-base-64.js";
|
|
6
|
+
import { runOnce } from "./bt-pairing-retry.js";
|
|
6
7
|
const MAX_WRITE_ATTEMPTS = 3;
|
|
7
8
|
|
|
8
9
|
/** The MTU every BLE link starts at, before either side asks for more. */
|
|
@@ -23,10 +24,11 @@ const ATT_WRITE_HEADER_BYTES = 3;
|
|
|
23
24
|
export class BTCommandWriter {
|
|
24
25
|
pendingWrites = Promise.resolve();
|
|
25
26
|
mtu = DEFAULT_ATT_MTU;
|
|
26
|
-
constructor(device, onError, isNormalDisconnect) {
|
|
27
|
+
constructor(device, onError, isNormalDisconnect, retryAfterPairing = runOnce) {
|
|
27
28
|
this.device = device;
|
|
28
29
|
this.onError = onError;
|
|
29
30
|
this.isNormalDisconnect = isNormalDisconnect;
|
|
31
|
+
this.retryAfterPairing = retryAfterPairing;
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
/**
|
|
@@ -135,7 +137,7 @@ export class BTCommandWriter {
|
|
|
135
137
|
sentryLogger("info", "DEVICE: Skipping write after disconnect");
|
|
136
138
|
return false;
|
|
137
139
|
}
|
|
138
|
-
await this.writeTo(command, hexToBase64(chunk.join("")));
|
|
140
|
+
await this.retryAfterPairing(() => this.writeTo(command, hexToBase64(chunk.join(""))));
|
|
139
141
|
return true;
|
|
140
142
|
} catch (error) {
|
|
141
143
|
const message = toBluetoothError(error).message;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","toBluetoothError","hexToBase64","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","isNormalDisconnect","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","delayBeforeWriteMs","setTimeout","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","join","message","expectedEnd","test","errorCode","code"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":";;AAEA,SAASA,YAAY,QAAQ,yCAAsC;AACnE,SAASC,gBAAgB,QAAQ,gCAA6B;AAE9D,SAASC,WAAW,QAAQ,+BAA4B;AAExD,MAAMC,kBAAkB,GAAG,CAAC;;AAE5B;AACA,MAAMC,eAAe,GAAG,EAAE;;AAE1B;AACA,MAAMC,sBAAsB,GAAG,CAAC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,CAAC;EACnBC,aAAa,GAAkBC,OAAO,CAACC,OAAO,CAAC,CAAC;EAChDC,GAAG,GAAGN,eAAe;EAEtBO,WAAWA,CACCC,MAAc,EACdC,OAA2C,EAC3CC,kBAAkC,
|
|
1
|
+
{"version":3,"names":["sentryLogger","toBluetoothError","hexToBase64","runOnce","MAX_WRITE_ATTEMPTS","DEFAULT_ATT_MTU","ATT_WRITE_HEADER_BYTES","BTCommandWriter","pendingWrites","Promise","resolve","mtu","constructor","device","onError","isNormalDisconnect","retryAfterPairing","useNegotiatedMtu","Number","isInteger","reset","send","commands","then","writeInOrder","catch","error","command","writeCommand","delayBeforeWriteMs","setTimeout","chunk","chunksOf","frame","written","writeChunk","writeTo","value","withoutResponse","writeCharacteristicWithoutResponseForService","serviceUuid","characteristicUuid","writeCharacteristicWithResponseForService","size","Math","max","chunks","start","length","push","slice","attempt","isConnected","join","message","expectedEnd","test","errorCode","code"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-command-writer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,27 +8,34 @@ import { BluetoothErrorCode, toBluetoothError } from "../../types/bluetooth-erro
|
|
|
8
8
|
import { DeviceStatus } from "../../types/device-status.js";
|
|
9
9
|
import { base64ToHex } from "../../utils/base-64-to-hex.js";
|
|
10
10
|
import { BTCommandWriter } from "./bt-command-writer.js";
|
|
11
|
+
import { writeCurrentTime } from "./bt-current-time.js";
|
|
11
12
|
import { readDeviceInformation } from "./bt-device-information.js";
|
|
13
|
+
import { awaitNotificationsEnabled } from "./bt-notification-readiness.js";
|
|
14
|
+
import { BTPairingRetry, isPairingRequired } from "./bt-pairing-retry.js";
|
|
12
15
|
export class BTConnectionHandler {
|
|
13
16
|
characteristicSubscriptions = [];
|
|
14
17
|
disconnectObserved = false;
|
|
18
|
+
pairingReported = false;
|
|
15
19
|
constructor(device, mainServices, callbacks, preferredMtu) {
|
|
16
20
|
this.device = device;
|
|
17
21
|
this.mainServices = mainServices;
|
|
18
22
|
this.callbacks = callbacks;
|
|
19
23
|
this.preferredMtu = preferredMtu;
|
|
20
|
-
this.
|
|
24
|
+
this.pairing = new BTPairingRetry(device, this.reportPairingRequired);
|
|
25
|
+
this.writer = new BTCommandWriter(device, callbacks.onError, callbacks.isNormalDisconnect, this.pairing.run);
|
|
21
26
|
}
|
|
22
27
|
connect = async () => {
|
|
23
28
|
const startedAt = Date.now();
|
|
24
29
|
this.disconnectObserved = false;
|
|
30
|
+
this.pairingReported = false;
|
|
25
31
|
const span = startOvokSpan("bluetooth.connect");
|
|
26
32
|
try {
|
|
27
33
|
await this.connectWithRetries();
|
|
28
34
|
await this.requestPreferredMtu();
|
|
29
35
|
await this.device.discoverAllServicesAndCharacteristics();
|
|
30
|
-
await readDeviceInformation(this.device, this.callbacks.onDeviceInfo);
|
|
36
|
+
await readDeviceInformation(this.device, this.callbacks.onDeviceInfo, this.pairing.run);
|
|
31
37
|
await this.readBatteryLevel();
|
|
38
|
+
await this.syncCurrentTime();
|
|
32
39
|
if (this.disconnectObserved || !(await this.device.isConnected())) {
|
|
33
40
|
throw new Error("Device disconnected during connection setup");
|
|
34
41
|
}
|
|
@@ -50,10 +57,7 @@ export class BTConnectionHandler {
|
|
|
50
57
|
addOvokSpanEvent("pairing.failed", {
|
|
51
58
|
errorCode
|
|
52
59
|
}, span);
|
|
53
|
-
this.
|
|
54
|
-
kind: "pairing",
|
|
55
|
-
pairingCodeRequired: true
|
|
56
|
-
});
|
|
60
|
+
this.reportPairingRequired();
|
|
57
61
|
}
|
|
58
62
|
if (!this.disconnectObserved) {
|
|
59
63
|
this.callbacks.onStatusChanged?.(DeviceStatus.DISCONNECTED);
|
|
@@ -69,8 +73,7 @@ export class BTConnectionHandler {
|
|
|
69
73
|
}
|
|
70
74
|
};
|
|
71
75
|
destroy = () => {
|
|
72
|
-
this.
|
|
73
|
-
this.characteristicSubscriptions = [];
|
|
76
|
+
this.removeSubscriptions();
|
|
74
77
|
this.writer.reset();
|
|
75
78
|
this.onDisconnectSubscription?.remove();
|
|
76
79
|
this.onDisconnectSubscription = undefined;
|
|
@@ -206,26 +209,8 @@ export class BTConnectionHandler {
|
|
|
206
209
|
this.callbacks.onServicesDiscovered?.(services.map(({
|
|
207
210
|
uuid
|
|
208
211
|
}) => uuid));
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
const subscription = this.device.monitorCharacteristicForService(mainService.uuid, monitorUuid.uuid, (error, result) => {
|
|
212
|
-
if (error) {
|
|
213
|
-
this.callbacks.onError?.(error);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
if (!result || !result.value) {
|
|
217
|
-
this.callbacks.onError?.(new Error("Received empty data from device"));
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
if (monitorUuid.processData !== false) {
|
|
221
|
-
const hexValue = base64ToHex(result.value);
|
|
222
|
-
this.callbacks.onDataReceived?.(result.uuid, hexValue);
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
this.characteristicSubscriptions.push(subscription);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
const initialCommands = this.callbacks.initialCommands?.() ?? [];
|
|
212
|
+
await this.pairing.run(() => this.startMonitors(services));
|
|
213
|
+
const initialCommands = (await this.callbacks.initialCommands?.()) ?? [];
|
|
229
214
|
if (initialCommands.length > 0) {
|
|
230
215
|
await this.sendCommands(initialCommands);
|
|
231
216
|
this.callbacks.onCommandSent?.();
|
|
@@ -238,5 +223,89 @@ export class BTConnectionHandler {
|
|
|
238
223
|
this.callbacks.onError?.(error);
|
|
239
224
|
}
|
|
240
225
|
};
|
|
226
|
+
|
|
227
|
+
/** A monitor failing for pairing while starting is thrown here, for the pairing retry, not reported. */
|
|
228
|
+
startMonitors = async services => {
|
|
229
|
+
this.removeSubscriptions();
|
|
230
|
+
let starting = true;
|
|
231
|
+
let pairingError;
|
|
232
|
+
const onMonitorError = error => {
|
|
233
|
+
if (starting && isPairingRequired(error)) {
|
|
234
|
+
pairingError ??= error;
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
this.callbacks.onError?.(error);
|
|
238
|
+
};
|
|
239
|
+
try {
|
|
240
|
+
const monitored = [];
|
|
241
|
+
for (const service of services) {
|
|
242
|
+
for (const monitorUuid of service.monitorUuids) {
|
|
243
|
+
this.characteristicSubscriptions.push(this.monitor(service.uuid, monitorUuid, onMonitorError));
|
|
244
|
+
monitored.push({
|
|
245
|
+
serviceUuid: service.uuid,
|
|
246
|
+
characteristicUuid: monitorUuid.uuid
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
await awaitNotificationsEnabled(this.device, monitored);
|
|
251
|
+
if (pairingError) {
|
|
252
|
+
throw pairingError;
|
|
253
|
+
}
|
|
254
|
+
} finally {
|
|
255
|
+
starting = false;
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
monitor = (serviceUuid, monitorUuid, onMonitorError) => this.device.monitorCharacteristicForService(serviceUuid, monitorUuid.uuid, (error, result) => {
|
|
259
|
+
if (error) {
|
|
260
|
+
onMonitorError(error);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (!result || !result.value) {
|
|
264
|
+
this.callbacks.onError?.(new Error("Received empty data from device"));
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (monitorUuid.processData !== false) {
|
|
268
|
+
const hexValue = base64ToHex(result.value);
|
|
269
|
+
this.callbacks.onDataReceived?.(result.uuid, hexValue);
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
removeSubscriptions = () => {
|
|
273
|
+
this.characteristicSubscriptions.forEach(sub => sub?.remove());
|
|
274
|
+
this.characteristicSubscriptions = [];
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
/** Tells the app once per connection that the platform is asking the user to pair. */
|
|
278
|
+
reportPairingRequired = () => {
|
|
279
|
+
if (this.pairingReported) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
this.pairingReported = true;
|
|
283
|
+
this.callbacks.onConnectionEvent?.({
|
|
284
|
+
kind: "pairing",
|
|
285
|
+
pairingCodeRequired: true
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
/** Sets the device clock when the declaration asked for it; a device that refuses keeps its own time. */
|
|
290
|
+
syncCurrentTime = async () => {
|
|
291
|
+
const clock = this.callbacks.currentTimeSync;
|
|
292
|
+
if (!clock) {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
try {
|
|
296
|
+
const clockAt = await writeCurrentTime(this.device, clock);
|
|
297
|
+
if (clockAt) {
|
|
298
|
+
this.callbacks.onConnectionEvent?.({
|
|
299
|
+
kind: "clock-synchronized",
|
|
300
|
+
clockAt,
|
|
301
|
+
phoneUtcOffsetMinutes: -clockAt.getTimezoneOffset()
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
} catch (error) {
|
|
305
|
+
sentryLogger("info", "DEVICE: Current Time was not written", {
|
|
306
|
+
errorCode: toBluetoothError(error).code
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
};
|
|
241
310
|
}
|
|
242
311
|
//# sourceMappingURL=bt-connection-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokDuration","recordOvokMetric","startOvokSpan","BluetoothErrorCode","toBluetoothError","DeviceStatus","base64ToHex","BTCommandWriter","readDeviceInformation","BTConnectionHandler","characteristicSubscriptions","disconnectObserved","constructor","device","mainServices","callbacks","preferredMtu","writer","onError","isNormalDisconnect","connect","startedAt","Date","now","span","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","readBatteryLevel","isConnected","Error","onStatusChanged","CONNECTED","subscribeToAllCharacteristics","setStatus","code","error","errorCode","PAIRING_REQUIRED","onConnectionEvent","kind","pairingCodeRequired","DISCONNECTED","message","end","destroy","forEach","sub","remove","reset","onDisconnectSubscription","undefined","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","requestedMtu","characteristic","readCharacteristicForService","value","Number","parseInt","isFinite","batteryLevel","maxRetries","retryDelay","maxDelay","connected","retryCount","listenForDisconnect","willRetry","Promise","resolve","setTimeout","Math","min","pow","onDisconnected","onDeviceDisconnected","servicesPresent","some","optional","services","discovered","Set","map","uuid","toLowerCase","filter","has","onServicesDiscovered","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","result","processData","hexValue","onDataReceived","push","initialCommands","length","onCommandSent"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["sentryLogger","addOvokSpanEvent","recordOvokDuration","recordOvokMetric","startOvokSpan","BluetoothErrorCode","toBluetoothError","DeviceStatus","base64ToHex","BTCommandWriter","writeCurrentTime","readDeviceInformation","awaitNotificationsEnabled","BTPairingRetry","isPairingRequired","BTConnectionHandler","characteristicSubscriptions","disconnectObserved","pairingReported","constructor","device","mainServices","callbacks","preferredMtu","pairing","reportPairingRequired","writer","onError","isNormalDisconnect","run","connect","startedAt","Date","now","span","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","onDeviceInfo","readBatteryLevel","syncCurrentTime","isConnected","Error","onStatusChanged","CONNECTED","subscribeToAllCharacteristics","setStatus","code","error","errorCode","PAIRING_REQUIRED","DISCONNECTED","message","end","destroy","removeSubscriptions","reset","onDisconnectSubscription","remove","undefined","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","requestedMtu","characteristic","readCharacteristicForService","value","Number","parseInt","isFinite","onConnectionEvent","kind","batteryLevel","maxRetries","retryDelay","maxDelay","connected","retryCount","listenForDisconnect","willRetry","Promise","resolve","setTimeout","Math","min","pow","onDisconnected","onDeviceDisconnected","servicesPresent","some","optional","services","discovered","Set","map","uuid","toLowerCase","filter","has","onServicesDiscovered","startMonitors","initialCommands","length","onCommandSent","starting","pairingError","onMonitorError","monitored","service","monitorUuid","monitorUuids","push","monitor","serviceUuid","characteristicUuid","monitorCharacteristicForService","result","processData","hexValue","onDataReceived","forEach","sub","pairingCodeRequired","clock","currentTimeSync","clockAt","phoneUtcOffsetMinutes","getTimezoneOffset"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Buffer } from "buffer";
|
|
4
|
+
import { getClockParts } from "../../types/clock-sync.js";
|
|
5
|
+
import { sigUuid } from "../../utils/sig-uuid.js";
|
|
6
|
+
const CURRENT_TIME_SERVICE = sigUuid("1805");
|
|
7
|
+
const CURRENT_TIME = sigUuid("2a2b");
|
|
8
|
+
const SUNDAY = 7;
|
|
9
|
+
const BYTE_MASK = 0xff;
|
|
10
|
+
const BITS_PER_BYTE = 8;
|
|
11
|
+
const NO_FRACTION = 0;
|
|
12
|
+
|
|
13
|
+
/** Adjust Reason bit 0: the time was set by hand, which is what a phone writing it is. */
|
|
14
|
+
const MANUAL_TIME_UPDATE = 0x01;
|
|
15
|
+
/** 1 for Monday to 7 for Sunday, as Day of Week is encoded. */
|
|
16
|
+
const dayOfWeek = ({
|
|
17
|
+
year,
|
|
18
|
+
month,
|
|
19
|
+
day
|
|
20
|
+
}) => new Date(Date.UTC(year, month - 1, day)).getUTCDay() || SUNDAY;
|
|
21
|
+
|
|
22
|
+
/** Current Time 0x2A2B: Date Time, Day of Week, Fractions256 and Adjust Reason. */
|
|
23
|
+
const currentTimeBytes = parts => [parts.year & BYTE_MASK, parts.year >> BITS_PER_BYTE, parts.month, parts.day, parts.hours, parts.minutes, parts.seconds, dayOfWeek(parts), NO_FRACTION, MANUAL_TIME_UPDATE];
|
|
24
|
+
const isWritableCurrentTime = ({
|
|
25
|
+
uuid,
|
|
26
|
+
isWritableWithResponse,
|
|
27
|
+
isWritableWithoutResponse
|
|
28
|
+
}) => uuid.toLowerCase() === CURRENT_TIME && (isWritableWithResponse || isWritableWithoutResponse);
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Sets the device clock through the Current Time Service.
|
|
32
|
+
*
|
|
33
|
+
* Resolves to the time written, or `undefined` when the device has no writable Current Time
|
|
34
|
+
* characteristic. A device that refuses the write rejects.
|
|
35
|
+
*/
|
|
36
|
+
const writeCurrentTime = async (device, {
|
|
37
|
+
now,
|
|
38
|
+
timezone
|
|
39
|
+
}) => {
|
|
40
|
+
const characteristics = await device.characteristicsForService(CURRENT_TIME_SERVICE).catch(() => []);
|
|
41
|
+
const characteristic = characteristics.find(isWritableCurrentTime);
|
|
42
|
+
if (!characteristic) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const time = now?.() ?? new Date();
|
|
46
|
+
const value = Buffer.from(currentTimeBytes(getClockParts(time, timezone))).toString("base64");
|
|
47
|
+
if (characteristic.isWritableWithResponse) {
|
|
48
|
+
await device.writeCharacteristicWithResponseForService(CURRENT_TIME_SERVICE, CURRENT_TIME, value);
|
|
49
|
+
} else {
|
|
50
|
+
await device.writeCharacteristicWithoutResponseForService(CURRENT_TIME_SERVICE, CURRENT_TIME, value);
|
|
51
|
+
}
|
|
52
|
+
return time;
|
|
53
|
+
};
|
|
54
|
+
export { writeCurrentTime };
|
|
55
|
+
//# sourceMappingURL=bt-current-time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","getClockParts","sigUuid","CURRENT_TIME_SERVICE","CURRENT_TIME","SUNDAY","BYTE_MASK","BITS_PER_BYTE","NO_FRACTION","MANUAL_TIME_UPDATE","dayOfWeek","year","month","day","Date","UTC","getUTCDay","currentTimeBytes","parts","hours","minutes","seconds","isWritableCurrentTime","uuid","isWritableWithResponse","isWritableWithoutResponse","toLowerCase","writeCurrentTime","device","now","timezone","characteristics","characteristicsForService","catch","characteristic","find","undefined","time","value","from","toString","writeCharacteristicWithResponseForService","writeCharacteristicWithoutResponseForService"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-current-time.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAI/B,SAA2BC,aAAa,QAAQ,2BAAwB;AACxE,SAASC,OAAO,QAAQ,yBAAsB;AAE9C,MAAMC,oBAAoB,GAAGD,OAAO,CAAC,MAAM,CAAC;AAC5C,MAAME,YAAY,GAAGF,OAAO,CAAC,MAAM,CAAC;AAEpC,MAAMG,MAAM,GAAG,CAAC;AAChB,MAAMC,SAAS,GAAG,IAAI;AACtB,MAAMC,aAAa,GAAG,CAAC;AACvB,MAAMC,WAAW,GAAG,CAAC;;AAErB;AACA,MAAMC,kBAAkB,GAAG,IAAI;AAI/B;AACA,MAAMC,SAAS,GAAGA,CAAC;EAAEC,IAAI;EAAEC,KAAK;EAAEC;AAAmB,CAAC,KACpD,IAAIC,IAAI,CAACA,IAAI,CAACC,GAAG,CAACJ,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAC,CAACG,SAAS,CAAC,CAAC,IAAIX,MAAM;;AAEhE;AACA,MAAMY,gBAAgB,GAAIC,KAAoB,IAAe,CAC3DA,KAAK,CAACP,IAAI,GAAGL,SAAS,EACtBY,KAAK,CAACP,IAAI,IAAIJ,aAAa,EAC3BW,KAAK,CAACN,KAAK,EACXM,KAAK,CAACL,GAAG,EACTK,KAAK,CAACC,KAAK,EACXD,KAAK,CAACE,OAAO,EACbF,KAAK,CAACG,OAAO,EACbX,SAAS,CAACQ,KAAK,CAAC,EAChBV,WAAW,EACXC,kBAAkB,CACnB;AAED,MAAMa,qBAAqB,GAAGA,CAAC;EAC7BC,IAAI;EACJC,sBAAsB;EACtBC;AACc,CAAC,KACfF,IAAI,CAACG,WAAW,CAAC,CAAC,KAAKtB,YAAY,KAAKoB,sBAAsB,IAAIC,yBAAyB,CAAC;;AAE9F;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,gBAAgB,GAAG,MAAAA,CACvBC,MAAc,EACd;EAAEC,GAAG;EAAEC;AAA2B,CAAC,KACL;EAC9B,MAAMC,eAAe,GAAG,MAAMH,MAAM,CAACI,yBAAyB,CAAC7B,oBAAoB,CAAC,CAAC8B,KAAK,CAAC,MAAM,EAAE,CAAC;EACpG,MAAMC,cAAc,GAAGH,eAAe,CAACI,IAAI,CAACb,qBAAqB,CAAC;EAElE,IAAI,CAACY,cAAc,EAAE;IACnB,OAAOE,SAAS;EAClB;EAEA,MAAMC,IAAI,GAAGR,GAAG,GAAG,CAAC,IAAI,IAAIf,IAAI,CAAC,CAAC;EAClC,MAAMwB,KAAK,GAAGtC,MAAM,CAACuC,IAAI,CAACtB,gBAAgB,CAAChB,aAAa,CAACoC,IAAI,EAAEP,QAAQ,CAAC,CAAC,CAAC,CAACU,QAAQ,CAAC,QAAQ,CAAC;EAE7F,IAAIN,cAAc,CAACV,sBAAsB,EAAE;IACzC,MAAMI,MAAM,CAACa,yCAAyC,CAACtC,oBAAoB,EAAEC,YAAY,EAAEkC,KAAK,CAAC;EACnG,CAAC,MAAM;IACL,MAAMV,MAAM,CAACc,4CAA4C,CAACvC,oBAAoB,EAAEC,YAAY,EAAEkC,KAAK,CAAC;EACtG;EAEA,OAAOD,IAAI;AACb,CAAC;AAED,SAASV,gBAAgB","ignoreList":[]}
|
|
@@ -3,50 +3,31 @@
|
|
|
3
3
|
import { Buffer } from "buffer";
|
|
4
4
|
import { sentryLogger } from "../../../helpers/utils/sentry-logger.js";
|
|
5
5
|
import { toBluetoothError } from "../../types/bluetooth-error.js";
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const wait = milliseconds => new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
13
|
-
const readDeviceInformation = async (device, onDeviceInfo) => {
|
|
6
|
+
import { runOnce } from "./bt-pairing-retry.js";
|
|
7
|
+
const GENERIC_ACCESS_SERVICE = "00001800-0000-1000-8000-00805f9b34fb";
|
|
8
|
+
const DEVICE_INFORMATION_SERVICE = "0000180a-0000-1000-8000-00805f9b34fb";
|
|
9
|
+
const INFORMATION_CHARACTERISTICS = [["name", GENERIC_ACCESS_SERVICE, "00002a00-0000-1000-8000-00805f9b34fb"], ["manufacturerName", DEVICE_INFORMATION_SERVICE, "00002a29-0000-1000-8000-00805f9b34fb"], ["model", DEVICE_INFORMATION_SERVICE, "00002a24-0000-1000-8000-00805f9b34fb"], ["serialNumber", DEVICE_INFORMATION_SERVICE, "00002a25-0000-1000-8000-00805f9b34fb"]];
|
|
10
|
+
const textOf = base64 => Buffer.from(base64, "base64").toString("utf8").replace(/\0+$/, "").trim();
|
|
11
|
+
const readDeviceInformation = async (device, onDeviceInfo, retryAfterPairing = runOnce) => {
|
|
14
12
|
const read = device.readCharacteristicForService;
|
|
15
13
|
if (typeof read !== "function") {
|
|
16
14
|
return;
|
|
17
15
|
}
|
|
18
16
|
const info = {};
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const characteristic = await read.call(device, serviceUuid, characteristicUuid);
|
|
26
|
-
const value = characteristic?.value;
|
|
27
|
-
if (!value) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
const text = Buffer.from(value, "base64").toString("utf8").replace(/\0+$/, "").trim();
|
|
31
|
-
if (text) {
|
|
32
|
-
info[key] = text;
|
|
33
|
-
}
|
|
34
|
-
} catch (error) {
|
|
35
|
-
// Optional GAP/Device Information characteristics are not present on every device.
|
|
36
|
-
sentryLogger("info", "DEVICE: Optional device information unavailable", {
|
|
37
|
-
characteristicUuid,
|
|
38
|
-
errorCode: toBluetoothError(error).code
|
|
39
|
-
});
|
|
40
|
-
if (attempt < MAX_PAIRING_RETRIES && isPairingAuthenticationError(error)) {
|
|
41
|
-
retry.push([key, serviceUuid, characteristicUuid]);
|
|
42
|
-
}
|
|
17
|
+
for (const [key, serviceUuid, characteristicUuid] of INFORMATION_CHARACTERISTICS) {
|
|
18
|
+
try {
|
|
19
|
+
const characteristic = await retryAfterPairing(() => read.call(device, serviceUuid, characteristicUuid));
|
|
20
|
+
const text = characteristic?.value ? textOf(characteristic.value) : "";
|
|
21
|
+
if (text) {
|
|
22
|
+
info[key] = text;
|
|
43
23
|
}
|
|
24
|
+
} catch (error) {
|
|
25
|
+
// Optional GAP/Device Information characteristics are not present on every device.
|
|
26
|
+
sentryLogger("info", "DEVICE: Optional device information unavailable", {
|
|
27
|
+
characteristicUuid,
|
|
28
|
+
errorCode: toBluetoothError(error).code
|
|
29
|
+
});
|
|
44
30
|
}
|
|
45
|
-
if (!retry.length) {
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
await wait(PAIRING_RETRY_DELAY_MS * (attempt + 1));
|
|
49
|
-
pending = retry;
|
|
50
31
|
}
|
|
51
32
|
if (Object.keys(info).length > 0) {
|
|
52
33
|
onDeviceInfo?.(info);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","sentryLogger","toBluetoothError","
|
|
1
|
+
{"version":3,"names":["Buffer","sentryLogger","toBluetoothError","runOnce","GENERIC_ACCESS_SERVICE","DEVICE_INFORMATION_SERVICE","INFORMATION_CHARACTERISTICS","textOf","base64","from","toString","replace","trim","readDeviceInformation","device","onDeviceInfo","retryAfterPairing","read","readCharacteristicForService","info","key","serviceUuid","characteristicUuid","characteristic","call","text","value","error","errorCode","code","Object","keys","length"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-device-information.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,QAAQ;AAI/B,SAASC,YAAY,QAAQ,yCAAsC;AACnE,SAASC,gBAAgB,QAAQ,gCAA6B;AAE9D,SAAuBC,OAAO,QAAQ,uBAAoB;AAS1D,MAAMC,sBAAsB,GAAG,sCAAsC;AACrE,MAAMC,0BAA0B,GAAG,sCAAsC;AAEzE,MAAMC,2BAAmF,GAAG,CAC1F,CAAC,MAAM,EAAEF,sBAAsB,EAAE,sCAAsC,CAAC,EACxE,CAAC,kBAAkB,EAAEC,0BAA0B,EAAE,sCAAsC,CAAC,EACxF,CAAC,OAAO,EAAEA,0BAA0B,EAAE,sCAAsC,CAAC,EAC7E,CAAC,cAAc,EAAEA,0BAA0B,EAAE,sCAAsC,CAAC,CACrF;AAED,MAAME,MAAM,GAAIC,MAAc,IAC5BR,MAAM,CAACS,IAAI,CAACD,MAAM,EAAE,QAAQ,CAAC,CAACE,QAAQ,CAAC,MAAM,CAAC,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC;AAE3E,MAAMC,qBAAqB,GAAG,MAAAA,CAC5BC,MAAc,EACdC,YAAkD,EAClDC,iBAA+B,GAAGb,OAAO,KACvB;EAClB,MAAMc,IAAI,GAAGH,MAAM,CAACI,4BAA4B;EAEhD,IAAI,OAAOD,IAAI,KAAK,UAAU,EAAE;IAC9B;EACF;EAEA,MAAME,IAAyB,GAAG,CAAC,CAAC;EAEpC,KAAK,MAAM,CAACC,GAAG,EAAEC,WAAW,EAAEC,kBAAkB,CAAC,IAAIhB,2BAA2B,EAAE;IAChF,IAAI;MACF,MAAMiB,cAAc,GAAG,MAAMP,iBAAiB,CAAC,MAC7CC,IAAI,CAACO,IAAI,CAACV,MAAM,EAAEO,WAAW,EAAEC,kBAAkB,CACnD,CAAC;MAED,MAAMG,IAAI,GAAGF,cAAc,EAAEG,KAAK,GAAGnB,MAAM,CAACgB,cAAc,CAACG,KAAK,CAAC,GAAG,EAAE;MAEtE,IAAID,IAAI,EAAE;QACRN,IAAI,CAACC,GAAG,CAAC,GAAGK,IAAI;MAClB;IACF,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd;MACA1B,YAAY,CAAC,MAAM,EAAE,iDAAiD,EAAE;QACtEqB,kBAAkB;QAClBM,SAAS,EAAE1B,gBAAgB,CAACyB,KAAK,CAAC,CAACE;MACrC,CAAC,CAAC;IACJ;EACF;EAEA,IAAIC,MAAM,CAACC,IAAI,CAACZ,IAAI,CAAC,CAACa,MAAM,GAAG,CAAC,EAAE;IAChCjB,YAAY,GAAGI,IAAI,CAAC;EACtB;AACF,CAAC;AAED,SAASN,qBAAqB","ignoreList":[]}
|