@tryterra/react-native 2.1.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +31 -0
  2. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/Conversions.kt +103 -14
  3. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/ReadConversions.kt +250 -0
  4. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeOpsImpl.kt +47 -5
  5. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/TerraBridgeStreamsImpl.kt +1 -3
  6. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeOps.kt +89 -0
  7. package/android/src/bridgeCore/kotlin/co/tryterra/sdk/bridge/generated/BridgeTypes.kt +672 -0
  8. package/docs/availability.md +154 -4
  9. package/frameworks/TerraSDK.xcframework/Info.plist +5 -5
  10. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Info.plist +0 -0
  11. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.abi.json +1385 -226
  12. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.package.swiftinterface +37 -1
  13. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +37 -1
  14. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  15. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios.swiftinterface +37 -1
  16. package/frameworks/TerraSDK.xcframework/ios-arm64/TerraSDK.framework/TerraSDK +0 -0
  17. package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +2 -2
  18. package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/DWARF/TerraSDK +0 -0
  19. package/frameworks/TerraSDK.xcframework/ios-arm64/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/TerraSDK.yml +6589 -6468
  20. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Info.plist +0 -0
  21. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +1385 -226
  22. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +37 -1
  23. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +37 -1
  24. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  25. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +37 -1
  26. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +1385 -226
  27. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +37 -1
  28. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +37 -1
  29. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  30. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/Modules/TerraSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +37 -1
  31. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/TerraSDK +0 -0
  32. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/TerraSDK.framework/_CodeSignature/CodeResources +21 -21
  33. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Info.plist +2 -2
  34. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/DWARF/TerraSDK +0 -0
  35. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/TerraSDK.yml +6590 -6469
  36. package/frameworks/TerraSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/TerraSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/TerraSDK.yml +6508 -6387
  37. package/ios/TerraBridgeCore/Conversions+Reads.swift +259 -0
  38. package/ios/TerraBridgeCore/Conversions.swift +129 -2
  39. package/ios/TerraBridgeCore/Generated/BridgeOps.swift +172 -0
  40. package/ios/TerraBridgeCore/Generated/BridgeTypes.swift +734 -1
  41. package/ios/TerraBridgeCore/TerraBridgeOpsImpl.swift +64 -0
  42. package/lib/Terra.d.ts +74 -5
  43. package/lib/Terra.js +69 -13
  44. package/lib/generated/client.d.ts +37 -1
  45. package/lib/generated/client.js +60 -0
  46. package/lib/generated/codecs.d.ts +85 -1
  47. package/lib/generated/codecs.js +710 -2
  48. package/lib/generated/ops.d.ts +1 -1
  49. package/lib/generated/ops.js +24 -0
  50. package/lib/generated/types.d.ts +314 -1
  51. package/lib/generated/types.js +133 -1
  52. package/lib/index.d.ts +1 -1
  53. package/package.json +3 -3
  54. package/src/Terra.ts +146 -16
  55. package/src/generated/client.ts +74 -2
  56. package/src/generated/codecs.ts +705 -3
  57. package/src/generated/ops.ts +36 -0
  58. package/src/generated/types.ts +556 -1
  59. package/src/index.ts +2 -0
@@ -771,6 +771,7 @@ public struct HealthAccess : Swift.Sendable, Swift.Equatable {
771
771
  }
772
772
  extension TerraSDK.HealthKitStore {
773
773
  public func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
774
+ public func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
774
775
  public func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
775
776
  public func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
776
777
  public func menstrualEvents(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstrualEvent]
@@ -978,6 +979,7 @@ public protocol HealthStore : Swift.Sendable {
978
979
  func workoutIntensity(inside workouts: [TerraSDK.Workout]) async throws -> [TerraSDK.WorkoutIntensitySample]
979
980
  func workoutRoutes(of workouts: [TerraSDK.Workout]) async throws -> [TerraSDK.WorkoutRoute]
980
981
  func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
982
+ func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
981
983
  func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
982
984
  func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
983
985
  func menstruationFlow(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstruationFlowDay]
@@ -1000,6 +1002,7 @@ extension TerraSDK.HealthStore {
1000
1002
  public func save(_ entries: [TerraSDK.BodyEntry]) async throws -> [Foundation.UUID]
1001
1003
  public func save(_ entries: [TerraSDK.NutritionEntry]) async throws -> [Foundation.UUID]
1002
1004
  public func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
1005
+ public func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
1003
1006
  public func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
1004
1007
  public func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
1005
1008
  public func menstruationFlow(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstruationFlowDay]
@@ -1356,7 +1359,8 @@ public struct Workout : Swift.Sendable, Swift.Equatable, Swift.Identifiable {
1356
1359
  public let timeZone: Foundation.TimeZone?
1357
1360
  public let stats: TerraSDK.WorkoutStats?
1358
1361
  public let events: [TerraSDK.WorkoutEvent]
1359
- public init(id: Foundation.UUID, interval: Foundation.DateInterval, activity: TerraSDK.WorkoutActivity, activityTypeCode: Swift.Int, indoor: Swift.Bool = false, activeEnergyKilocalories: Swift.Double? = nil, distanceMeters: Swift.Double? = nil, source: TerraSDK.SampleSource, userEntered: Swift.Bool = false, timeZone: Foundation.TimeZone? = nil, stats: TerraSDK.WorkoutStats? = nil, events: [TerraSDK.WorkoutEvent] = [])
1362
+ public let title: Swift.String?
1363
+ public init(id: Foundation.UUID, interval: Foundation.DateInterval, activity: TerraSDK.WorkoutActivity, activityTypeCode: Swift.Int, indoor: Swift.Bool = false, activeEnergyKilocalories: Swift.Double? = nil, distanceMeters: Swift.Double? = nil, source: TerraSDK.SampleSource, userEntered: Swift.Bool = false, timeZone: Foundation.TimeZone? = nil, stats: TerraSDK.WorkoutStats? = nil, events: [TerraSDK.WorkoutEvent] = [], title: Swift.String? = nil)
1360
1364
  public static func == (a: TerraSDK.Workout, b: TerraSDK.Workout) -> Swift.Bool
1361
1365
  public typealias ID = Foundation.UUID
1362
1366
  }
@@ -1704,8 +1708,24 @@ public protocol DeviceStore : Swift.Sendable {
1704
1708
  final public var activity: TerraSDK.ActivityMetrics {
1705
1709
  get
1706
1710
  }
1711
+ final public var menstruation: TerraSDK.MenstruationMetrics {
1712
+ get
1713
+ }
1714
+ final public var athlete: TerraSDK.AthleteMetrics {
1715
+ get
1716
+ }
1717
+ final public func availability(for source: TerraSDK.Source = .health) async -> TerraSDK.StoreAvailability
1707
1718
  @objc deinit
1708
1719
  }
1720
+ public enum StoreAvailability : Swift.Sendable, Swift.Equatable {
1721
+ case available
1722
+ case unsupportedDevice
1723
+ public static func == (a: TerraSDK.StoreAvailability, b: TerraSDK.StoreAvailability) -> Swift.Bool
1724
+ public func hash(into hasher: inout Swift.Hasher)
1725
+ public var hashValue: Swift.Int {
1726
+ get
1727
+ }
1728
+ }
1709
1729
  public struct Diagnostics : Swift.Sendable {
1710
1730
  public func events() -> _Concurrency.AsyncStream<TerraSDK.TerraEvent>
1711
1731
  public func lastDelivery(for source: TerraSDK.Source = .health) async -> Foundation.Date?
@@ -1733,6 +1753,15 @@ public struct NutritionMetrics : Swift.Sendable {
1733
1753
  @discardableResult
1734
1754
  public func log(_ entries: [TerraSDK.NutritionEntry]) async throws -> [Foundation.UUID]
1735
1755
  public func delete(id: Foundation.UUID) async throws
1756
+ public func quantities(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.DietaryQuantity]
1757
+ public func hydration(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.HydrationSample]
1758
+ }
1759
+ public struct MenstruationMetrics : Swift.Sendable {
1760
+ public func flow(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.MenstruationFlowDay]
1761
+ public func events(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.MenstrualEvent]
1762
+ }
1763
+ public struct AthleteMetrics : Swift.Sendable {
1764
+ public func profile() async throws -> TerraSDK.AthleteProfile?
1736
1765
  }
1737
1766
  public struct BodyMetrics : Swift.Sendable {
1738
1767
  @discardableResult
@@ -1745,6 +1774,8 @@ public struct BodyMetrics : Swift.Sendable {
1745
1774
  public func delete(id: Foundation.UUID) async throws
1746
1775
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1747
1776
  public func heartRate(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.HeartRateSample]
1777
+ public func restingHeartRate(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.RestingHeartRateSample]
1778
+ public func readings(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.BodyReading]
1748
1779
  }
1749
1780
  public struct DailyMetrics : Swift.Sendable {
1750
1781
  @discardableResult
@@ -1752,6 +1783,8 @@ public struct DailyMetrics : Swift.Sendable {
1752
1783
  public func delete(id: Foundation.UUID) async throws
1753
1784
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1754
1785
  public func steps(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.StepCount]
1786
+ public func totals(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.DayTotal]
1787
+ public func intraday(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.IntradaySample]
1755
1788
  }
1756
1789
  public struct SleepMetrics : Swift.Sendable {
1757
1790
  @discardableResult
@@ -1766,6 +1799,8 @@ public struct ActivityMetrics : Swift.Sendable {
1766
1799
  public func delete(id: Foundation.UUID) async throws
1767
1800
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1768
1801
  public func workouts(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.Workout]
1802
+ public func routes(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.WorkoutRoute]
1803
+ public func intensity(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.WorkoutIntensitySample]
1769
1804
  }
1770
1805
  public enum Source : Swift.String, Swift.Sendable, Swift.Hashable, Swift.CaseIterable, Swift.Codable {
1771
1806
  case health
@@ -2139,6 +2174,7 @@ extension TerraSDK.DayTotal.Metric : Swift.RawRepresentable {}
2139
2174
  extension TerraSDK.IntradaySample.Kind : Swift.Equatable {}
2140
2175
  extension TerraSDK.IntradaySample.Kind : Swift.Hashable {}
2141
2176
  extension TerraSDK.IntradaySample.Kind : Swift.RawRepresentable {}
2177
+ extension TerraSDK.StoreAvailability : Swift.Hashable {}
2142
2178
  extension TerraSDK.Source : Swift.RawRepresentable {}
2143
2179
  extension TerraSDK.PermissionStatus : Swift.Hashable {}
2144
2180
  extension TerraSDK.UploadDataType : Swift.Equatable {}
@@ -771,6 +771,7 @@ public struct HealthAccess : Swift.Sendable, Swift.Equatable {
771
771
  }
772
772
  extension TerraSDK.HealthKitStore {
773
773
  public func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
774
+ public func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
774
775
  public func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
775
776
  public func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
776
777
  public func menstrualEvents(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstrualEvent]
@@ -978,6 +979,7 @@ public protocol HealthStore : Swift.Sendable {
978
979
  func workoutIntensity(inside workouts: [TerraSDK.Workout]) async throws -> [TerraSDK.WorkoutIntensitySample]
979
980
  func workoutRoutes(of workouts: [TerraSDK.Workout]) async throws -> [TerraSDK.WorkoutRoute]
980
981
  func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
982
+ func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
981
983
  func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
982
984
  func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
983
985
  func menstruationFlow(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstruationFlowDay]
@@ -1000,6 +1002,7 @@ extension TerraSDK.HealthStore {
1000
1002
  public func save(_ entries: [TerraSDK.BodyEntry]) async throws -> [Foundation.UUID]
1001
1003
  public func save(_ entries: [TerraSDK.NutritionEntry]) async throws -> [Foundation.UUID]
1002
1004
  public func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
1005
+ public func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
1003
1006
  public func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
1004
1007
  public func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
1005
1008
  public func menstruationFlow(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstruationFlowDay]
@@ -1356,7 +1359,8 @@ public struct Workout : Swift.Sendable, Swift.Equatable, Swift.Identifiable {
1356
1359
  public let timeZone: Foundation.TimeZone?
1357
1360
  public let stats: TerraSDK.WorkoutStats?
1358
1361
  public let events: [TerraSDK.WorkoutEvent]
1359
- public init(id: Foundation.UUID, interval: Foundation.DateInterval, activity: TerraSDK.WorkoutActivity, activityTypeCode: Swift.Int, indoor: Swift.Bool = false, activeEnergyKilocalories: Swift.Double? = nil, distanceMeters: Swift.Double? = nil, source: TerraSDK.SampleSource, userEntered: Swift.Bool = false, timeZone: Foundation.TimeZone? = nil, stats: TerraSDK.WorkoutStats? = nil, events: [TerraSDK.WorkoutEvent] = [])
1362
+ public let title: Swift.String?
1363
+ public init(id: Foundation.UUID, interval: Foundation.DateInterval, activity: TerraSDK.WorkoutActivity, activityTypeCode: Swift.Int, indoor: Swift.Bool = false, activeEnergyKilocalories: Swift.Double? = nil, distanceMeters: Swift.Double? = nil, source: TerraSDK.SampleSource, userEntered: Swift.Bool = false, timeZone: Foundation.TimeZone? = nil, stats: TerraSDK.WorkoutStats? = nil, events: [TerraSDK.WorkoutEvent] = [], title: Swift.String? = nil)
1360
1364
  public static func == (a: TerraSDK.Workout, b: TerraSDK.Workout) -> Swift.Bool
1361
1365
  public typealias ID = Foundation.UUID
1362
1366
  }
@@ -1704,8 +1708,24 @@ public protocol DeviceStore : Swift.Sendable {
1704
1708
  final public var activity: TerraSDK.ActivityMetrics {
1705
1709
  get
1706
1710
  }
1711
+ final public var menstruation: TerraSDK.MenstruationMetrics {
1712
+ get
1713
+ }
1714
+ final public var athlete: TerraSDK.AthleteMetrics {
1715
+ get
1716
+ }
1717
+ final public func availability(for source: TerraSDK.Source = .health) async -> TerraSDK.StoreAvailability
1707
1718
  @objc deinit
1708
1719
  }
1720
+ public enum StoreAvailability : Swift.Sendable, Swift.Equatable {
1721
+ case available
1722
+ case unsupportedDevice
1723
+ public static func == (a: TerraSDK.StoreAvailability, b: TerraSDK.StoreAvailability) -> Swift.Bool
1724
+ public func hash(into hasher: inout Swift.Hasher)
1725
+ public var hashValue: Swift.Int {
1726
+ get
1727
+ }
1728
+ }
1709
1729
  public struct Diagnostics : Swift.Sendable {
1710
1730
  public func events() -> _Concurrency.AsyncStream<TerraSDK.TerraEvent>
1711
1731
  public func lastDelivery(for source: TerraSDK.Source = .health) async -> Foundation.Date?
@@ -1733,6 +1753,15 @@ public struct NutritionMetrics : Swift.Sendable {
1733
1753
  @discardableResult
1734
1754
  public func log(_ entries: [TerraSDK.NutritionEntry]) async throws -> [Foundation.UUID]
1735
1755
  public func delete(id: Foundation.UUID) async throws
1756
+ public func quantities(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.DietaryQuantity]
1757
+ public func hydration(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.HydrationSample]
1758
+ }
1759
+ public struct MenstruationMetrics : Swift.Sendable {
1760
+ public func flow(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.MenstruationFlowDay]
1761
+ public func events(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.MenstrualEvent]
1762
+ }
1763
+ public struct AthleteMetrics : Swift.Sendable {
1764
+ public func profile() async throws -> TerraSDK.AthleteProfile?
1736
1765
  }
1737
1766
  public struct BodyMetrics : Swift.Sendable {
1738
1767
  @discardableResult
@@ -1745,6 +1774,8 @@ public struct BodyMetrics : Swift.Sendable {
1745
1774
  public func delete(id: Foundation.UUID) async throws
1746
1775
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1747
1776
  public func heartRate(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.HeartRateSample]
1777
+ public func restingHeartRate(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.RestingHeartRateSample]
1778
+ public func readings(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.BodyReading]
1748
1779
  }
1749
1780
  public struct DailyMetrics : Swift.Sendable {
1750
1781
  @discardableResult
@@ -1752,6 +1783,8 @@ public struct DailyMetrics : Swift.Sendable {
1752
1783
  public func delete(id: Foundation.UUID) async throws
1753
1784
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1754
1785
  public func steps(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.StepCount]
1786
+ public func totals(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.DayTotal]
1787
+ public func intraday(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.IntradaySample]
1755
1788
  }
1756
1789
  public struct SleepMetrics : Swift.Sendable {
1757
1790
  @discardableResult
@@ -1766,6 +1799,8 @@ public struct ActivityMetrics : Swift.Sendable {
1766
1799
  public func delete(id: Foundation.UUID) async throws
1767
1800
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1768
1801
  public func workouts(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.Workout]
1802
+ public func routes(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.WorkoutRoute]
1803
+ public func intensity(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.WorkoutIntensitySample]
1769
1804
  }
1770
1805
  public enum Source : Swift.String, Swift.Sendable, Swift.Hashable, Swift.CaseIterable, Swift.Codable {
1771
1806
  case health
@@ -2139,6 +2174,7 @@ extension TerraSDK.DayTotal.Metric : Swift.RawRepresentable {}
2139
2174
  extension TerraSDK.IntradaySample.Kind : Swift.Equatable {}
2140
2175
  extension TerraSDK.IntradaySample.Kind : Swift.Hashable {}
2141
2176
  extension TerraSDK.IntradaySample.Kind : Swift.RawRepresentable {}
2177
+ extension TerraSDK.StoreAvailability : Swift.Hashable {}
2142
2178
  extension TerraSDK.Source : Swift.RawRepresentable {}
2143
2179
  extension TerraSDK.PermissionStatus : Swift.Hashable {}
2144
2180
  extension TerraSDK.UploadDataType : Swift.Equatable {}
@@ -767,6 +767,7 @@ public struct HealthAccess : Swift.Sendable, Swift.Equatable {
767
767
  }
768
768
  extension TerraSDK.HealthKitStore {
769
769
  public func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
770
+ public func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
770
771
  public func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
771
772
  public func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
772
773
  public func menstrualEvents(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstrualEvent]
@@ -963,6 +964,7 @@ public protocol HealthStore : Swift.Sendable {
963
964
  func workoutIntensity(inside workouts: [TerraSDK.Workout]) async throws -> [TerraSDK.WorkoutIntensitySample]
964
965
  func workoutRoutes(of workouts: [TerraSDK.Workout]) async throws -> [TerraSDK.WorkoutRoute]
965
966
  func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
967
+ func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
966
968
  func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
967
969
  func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
968
970
  func menstruationFlow(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstruationFlowDay]
@@ -985,6 +987,7 @@ extension TerraSDK.HealthStore {
985
987
  public func save(_ entries: [TerraSDK.BodyEntry]) async throws -> [Foundation.UUID]
986
988
  public func save(_ entries: [TerraSDK.NutritionEntry]) async throws -> [Foundation.UUID]
987
989
  public func bodyReadings(in interval: Foundation.DateInterval) async throws -> [TerraSDK.BodyReading]
990
+ public func bodyReadings(in interval: Foundation.DateInterval, recordTypes: Swift.Set<Swift.String>) async throws -> [TerraSDK.BodyReading]
988
991
  public func dietaryQuantities(in interval: Foundation.DateInterval) async throws -> [TerraSDK.DietaryQuantity]
989
992
  public func hydration(in interval: Foundation.DateInterval) async throws -> [TerraSDK.HydrationSample]
990
993
  public func menstruationFlow(in interval: Foundation.DateInterval) async throws -> [TerraSDK.MenstruationFlowDay]
@@ -1339,7 +1342,8 @@ public struct Workout : Swift.Sendable, Swift.Equatable, Swift.Identifiable {
1339
1342
  public let timeZone: Foundation.TimeZone?
1340
1343
  public let stats: TerraSDK.WorkoutStats?
1341
1344
  public let events: [TerraSDK.WorkoutEvent]
1342
- public init(id: Foundation.UUID, interval: Foundation.DateInterval, activity: TerraSDK.WorkoutActivity, activityTypeCode: Swift.Int, indoor: Swift.Bool = false, activeEnergyKilocalories: Swift.Double? = nil, distanceMeters: Swift.Double? = nil, source: TerraSDK.SampleSource, userEntered: Swift.Bool = false, timeZone: Foundation.TimeZone? = nil, stats: TerraSDK.WorkoutStats? = nil, events: [TerraSDK.WorkoutEvent] = [])
1345
+ public let title: Swift.String?
1346
+ public init(id: Foundation.UUID, interval: Foundation.DateInterval, activity: TerraSDK.WorkoutActivity, activityTypeCode: Swift.Int, indoor: Swift.Bool = false, activeEnergyKilocalories: Swift.Double? = nil, distanceMeters: Swift.Double? = nil, source: TerraSDK.SampleSource, userEntered: Swift.Bool = false, timeZone: Foundation.TimeZone? = nil, stats: TerraSDK.WorkoutStats? = nil, events: [TerraSDK.WorkoutEvent] = [], title: Swift.String? = nil)
1343
1347
  public static func == (a: TerraSDK.Workout, b: TerraSDK.Workout) -> Swift.Bool
1344
1348
  public typealias ID = Foundation.UUID
1345
1349
  }
@@ -1681,8 +1685,24 @@ public protocol DeviceStore : Swift.Sendable {
1681
1685
  final public var activity: TerraSDK.ActivityMetrics {
1682
1686
  get
1683
1687
  }
1688
+ final public var menstruation: TerraSDK.MenstruationMetrics {
1689
+ get
1690
+ }
1691
+ final public var athlete: TerraSDK.AthleteMetrics {
1692
+ get
1693
+ }
1694
+ final public func availability(for source: TerraSDK.Source = .health) async -> TerraSDK.StoreAvailability
1684
1695
  @objc deinit
1685
1696
  }
1697
+ public enum StoreAvailability : Swift.Sendable, Swift.Equatable {
1698
+ case available
1699
+ case unsupportedDevice
1700
+ public static func == (a: TerraSDK.StoreAvailability, b: TerraSDK.StoreAvailability) -> Swift.Bool
1701
+ public func hash(into hasher: inout Swift.Hasher)
1702
+ public var hashValue: Swift.Int {
1703
+ get
1704
+ }
1705
+ }
1686
1706
  public struct Diagnostics : Swift.Sendable {
1687
1707
  public func events() -> _Concurrency.AsyncStream<TerraSDK.TerraEvent>
1688
1708
  public func lastDelivery(for source: TerraSDK.Source = .health) async -> Foundation.Date?
@@ -1710,6 +1730,15 @@ public struct NutritionMetrics : Swift.Sendable {
1710
1730
  @discardableResult
1711
1731
  public func log(_ entries: [TerraSDK.NutritionEntry]) async throws -> [Foundation.UUID]
1712
1732
  public func delete(id: Foundation.UUID) async throws
1733
+ public func quantities(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.DietaryQuantity]
1734
+ public func hydration(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.HydrationSample]
1735
+ }
1736
+ public struct MenstruationMetrics : Swift.Sendable {
1737
+ public func flow(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.MenstruationFlowDay]
1738
+ public func events(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.MenstrualEvent]
1739
+ }
1740
+ public struct AthleteMetrics : Swift.Sendable {
1741
+ public func profile() async throws -> TerraSDK.AthleteProfile?
1713
1742
  }
1714
1743
  public struct BodyMetrics : Swift.Sendable {
1715
1744
  @discardableResult
@@ -1722,6 +1751,8 @@ public struct BodyMetrics : Swift.Sendable {
1722
1751
  public func delete(id: Foundation.UUID) async throws
1723
1752
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1724
1753
  public func heartRate(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.HeartRateSample]
1754
+ public func restingHeartRate(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.RestingHeartRateSample]
1755
+ public func readings(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.BodyReading]
1725
1756
  }
1726
1757
  public struct DailyMetrics : Swift.Sendable {
1727
1758
  @discardableResult
@@ -1729,6 +1760,8 @@ public struct DailyMetrics : Swift.Sendable {
1729
1760
  public func delete(id: Foundation.UUID) async throws
1730
1761
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1731
1762
  public func steps(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.StepCount]
1763
+ public func totals(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.DayTotal]
1764
+ public func intraday(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.IntradaySample]
1732
1765
  }
1733
1766
  public struct SleepMetrics : Swift.Sendable {
1734
1767
  @discardableResult
@@ -1743,6 +1776,8 @@ public struct ActivityMetrics : Swift.Sendable {
1743
1776
  public func delete(id: Foundation.UUID) async throws
1744
1777
  public func changes() async -> _Concurrency.AsyncStream<TerraSDK.HealthChange>
1745
1778
  public func workouts(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.Workout]
1779
+ public func routes(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.WorkoutRoute]
1780
+ public func intensity(in range: TerraSDK.TimeRange) async throws -> [TerraSDK.WorkoutIntensitySample]
1746
1781
  }
1747
1782
  public enum Source : Swift.String, Swift.Sendable, Swift.Hashable, Swift.CaseIterable, Swift.Codable {
1748
1783
  case health
@@ -2116,6 +2151,7 @@ extension TerraSDK.DayTotal.Metric : Swift.RawRepresentable {}
2116
2151
  extension TerraSDK.IntradaySample.Kind : Swift.Equatable {}
2117
2152
  extension TerraSDK.IntradaySample.Kind : Swift.Hashable {}
2118
2153
  extension TerraSDK.IntradaySample.Kind : Swift.RawRepresentable {}
2154
+ extension TerraSDK.StoreAvailability : Swift.Hashable {}
2119
2155
  extension TerraSDK.Source : Swift.RawRepresentable {}
2120
2156
  extension TerraSDK.PermissionStatus : Swift.Hashable {}
2121
2157
  extension TerraSDK.UploadDataType : Swift.Equatable {}
@@ -13,8 +13,8 @@
13
13
  <key>CFBundleSignature</key>
14
14
  <string>????</string>
15
15
  <key>CFBundleShortVersionString</key>
16
- <string>2.1.0</string>
16
+ <string>2.2.1</string>
17
17
  <key>CFBundleVersion</key>
18
- <string>2.1.0</string>
18
+ <string>2.2.1</string>
19
19
  </dict>
20
20
  </plist>