@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
@@ -25,6 +25,7 @@ public enum class BridgeOp(public val wire: String, public val isSupported: Bool
25
25
  CLIENT_ATTACH("client.attach", true),
26
26
  CLIENT_CONNECT("client.connect", true),
27
27
  CLIENT_CONNECTIONS("client.connections", true),
28
+ CLIENT_AVAILABILITY("client.availability", true),
28
29
  CLIENT_DISCONNECT("client.disconnect", true),
29
30
  TOKEN_SET_PROVIDER_PRESENT("token.setProviderPresent", true),
30
31
  TOKEN_RESOLVE("token.resolve", true),
@@ -43,20 +44,31 @@ public enum class BridgeOp(public val wire: String, public val isSupported: Bool
43
44
  BACKGROUND_IS_REGISTERED("background.isRegistered", true),
44
45
  BACKGROUND_CANCEL("background.cancel", true),
45
46
  BODY_HEART_RATE("body.heartRate", true),
47
+ BODY_RESTING_HEART_RATE("body.restingHeartRate", true),
48
+ BODY_READINGS("body.readings", true),
46
49
  BODY_LOG_HEART_RATE("body.logHeartRate", true),
47
50
  BODY_LOG("body.log", true),
48
51
  BODY_DELETE("body.delete", true),
49
52
  DAILY_STEPS("daily.steps", true),
53
+ DAILY_TOTALS("daily.totals", true),
54
+ DAILY_INTRADAY("daily.intraday", true),
50
55
  DAILY_LOG("daily.log", true),
51
56
  DAILY_DELETE("daily.delete", true),
52
57
  SLEEP_SEGMENTS("sleep.segments", true),
53
58
  SLEEP_LOG("sleep.log", true),
54
59
  SLEEP_DELETE("sleep.delete", true),
55
60
  ACTIVITY_WORKOUTS("activity.workouts", true),
61
+ ACTIVITY_ROUTES("activity.routes", true),
62
+ ACTIVITY_INTENSITY("activity.intensity", true),
56
63
  ACTIVITY_LOG("activity.log", true),
57
64
  ACTIVITY_DELETE("activity.delete", true),
65
+ NUTRITION_QUANTITIES("nutrition.quantities", true),
58
66
  NUTRITION_LOG("nutrition.log", true),
59
67
  NUTRITION_DELETE("nutrition.delete", true),
68
+ NUTRITION_HYDRATION("nutrition.hydration", true),
69
+ MENSTRUATION_FLOW("menstruation.flow", true),
70
+ MENSTRUATION_EVENTS("menstruation.events", true),
71
+ ATHLETE_PROFILE("athlete.profile", false),
60
72
  PLANNED_WORKOUTS_PLANNED("plannedWorkouts.planned", false),
61
73
  PLANNED_WORKOUTS_MARK_COMPLETE("plannedWorkouts.markComplete", false),
62
74
  PLANNED_WORKOUTS_DELETE("plannedWorkouts.delete", false),
@@ -85,6 +97,8 @@ public interface TerraBridgeOps {
85
97
  public suspend fun clientAttach(request: Empty): BootstrapState
86
98
  public suspend fun clientConnect(request: ConnectRequest): Connection
87
99
  public suspend fun clientConnections(request: Empty): ConnectionList
100
+ /** Whether the device can serve the source at all. Needs no connection and prompts for nothing. */
101
+ public suspend fun clientAvailability(request: SourceRequest): AvailabilityResult
88
102
  public suspend fun clientDisconnect(request: SourceRequest): Empty
89
103
  /**
90
104
  * Tells the broker whether JS can answer at all. Without it a link asks a provider that is not
@@ -119,21 +133,49 @@ public interface TerraBridgeOps {
119
133
  /** Available on android only. */
120
134
  public suspend fun backgroundCancel(request: Empty): BoolResult
121
135
  public suspend fun bodyHeartRate(request: RangeRequest): HeartRateList
136
+ /**
137
+ * The store's own daily figures. Health Connect grants them under daily, so Android answers
138
+ * authorization_not_determined where only body was asked for.
139
+ */
140
+ public suspend fun bodyRestingHeartRate(request: RangeRequest): RestingHeartRateList
141
+ public suspend fun bodyReadings(request: RangeRequest): BodyReadingList
122
142
  /** Its own op rather than an overload: Swift overloads log by element type and JS cannot. */
123
143
  public suspend fun bodyLogHeartRate(request: HeartRateEntryList): RecordIdList
124
144
  public suspend fun bodyLog(request: BodyEntryList): RecordIdList
125
145
  public suspend fun bodyDelete(request: RecordIdRequest): Empty
126
146
  public suspend fun dailySteps(request: RangeRequest): StepCountList
147
+ /**
148
+ * One total per metric per whole local day the range touches. A day with nothing recorded has
149
+ * no total, not a zero.
150
+ */
151
+ public suspend fun dailyTotals(request: RangeRequest): DayTotalList
152
+ /** The active energy, basal energy, distance and floors records the totals are made of. */
153
+ public suspend fun dailyIntraday(request: RangeRequest): IntradaySampleList
127
154
  public suspend fun dailyLog(request: StepEntryList): RecordIdList
128
155
  public suspend fun dailyDelete(request: RecordIdRequest): Empty
129
156
  public suspend fun sleepSegments(request: RangeRequest): SleepSegmentList
130
157
  public suspend fun sleepLog(request: SleepEntryList): RecordIdList
131
158
  public suspend fun sleepDelete(request: RecordIdRequest): Empty
132
159
  public suspend fun activityWorkouts(request: RangeRequest): WorkoutList
160
+ /** The GPS tracks of the workouts in the range, each naming its workout. */
161
+ public suspend fun activityRoutes(request: RangeRequest): WorkoutRouteList
162
+ /** Speed, power and cycling cadence readings in the range. */
163
+ public suspend fun activityIntensity(request: RangeRequest): WorkoutIntensityList
133
164
  public suspend fun activityLog(request: WorkoutEntryList): RecordIdList
134
165
  public suspend fun activityDelete(request: RecordIdRequest): Empty
166
+ /** One quantity per nutrient a meal recorded, not grouped into meals. Water is not among them. */
167
+ public suspend fun nutritionQuantities(request: RangeRequest): DietaryQuantityList
135
168
  public suspend fun nutritionLog(request: NutritionEntryList): RecordIdList
136
169
  public suspend fun nutritionDelete(request: RecordIdRequest): Empty
170
+ /** Water drunk in the range, one sample per drink. */
171
+ public suspend fun nutritionHydration(request: RangeRequest): HydrationList
172
+ /**
173
+ * Logged flow days overlapping the range, one per day. A day logged with no flow is noFlow,
174
+ * not left out.
175
+ */
176
+ public suspend fun menstruationFlow(request: RangeRequest): MenstruationFlowDayList
177
+ /** Ovulation tests, cervical mucus and intermenstrual bleeding logged in the range. */
178
+ public suspend fun menstruationEvents(request: RangeRequest): MenstrualEventList
137
179
  }
138
180
 
139
181
  /**
@@ -150,6 +192,7 @@ public object BridgeCodecs {
150
192
  BridgeOp.CLIENT_ATTACH -> json.encodeToString(json.decodeFromString<Empty>(payload))
151
193
  BridgeOp.CLIENT_CONNECT -> json.encodeToString(json.decodeFromString<ConnectRequest>(payload))
152
194
  BridgeOp.CLIENT_CONNECTIONS -> json.encodeToString(json.decodeFromString<Empty>(payload))
195
+ BridgeOp.CLIENT_AVAILABILITY -> json.encodeToString(json.decodeFromString<SourceRequest>(payload))
153
196
  BridgeOp.CLIENT_DISCONNECT -> json.encodeToString(json.decodeFromString<SourceRequest>(payload))
154
197
  BridgeOp.TOKEN_SET_PROVIDER_PRESENT -> json.encodeToString(json.decodeFromString<TokenProviderRequest>(payload))
155
198
  BridgeOp.TOKEN_RESOLVE -> json.encodeToString(json.decodeFromString<TokenResolveRequest>(payload))
@@ -168,20 +211,31 @@ public object BridgeCodecs {
168
211
  BridgeOp.BACKGROUND_IS_REGISTERED -> json.encodeToString(json.decodeFromString<Empty>(payload))
169
212
  BridgeOp.BACKGROUND_CANCEL -> json.encodeToString(json.decodeFromString<Empty>(payload))
170
213
  BridgeOp.BODY_HEART_RATE -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
214
+ BridgeOp.BODY_RESTING_HEART_RATE -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
215
+ BridgeOp.BODY_READINGS -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
171
216
  BridgeOp.BODY_LOG_HEART_RATE -> json.encodeToString(json.decodeFromString<HeartRateEntryList>(payload))
172
217
  BridgeOp.BODY_LOG -> json.encodeToString(json.decodeFromString<BodyEntryList>(payload))
173
218
  BridgeOp.BODY_DELETE -> json.encodeToString(json.decodeFromString<RecordIdRequest>(payload))
174
219
  BridgeOp.DAILY_STEPS -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
220
+ BridgeOp.DAILY_TOTALS -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
221
+ BridgeOp.DAILY_INTRADAY -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
175
222
  BridgeOp.DAILY_LOG -> json.encodeToString(json.decodeFromString<StepEntryList>(payload))
176
223
  BridgeOp.DAILY_DELETE -> json.encodeToString(json.decodeFromString<RecordIdRequest>(payload))
177
224
  BridgeOp.SLEEP_SEGMENTS -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
178
225
  BridgeOp.SLEEP_LOG -> json.encodeToString(json.decodeFromString<SleepEntryList>(payload))
179
226
  BridgeOp.SLEEP_DELETE -> json.encodeToString(json.decodeFromString<RecordIdRequest>(payload))
180
227
  BridgeOp.ACTIVITY_WORKOUTS -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
228
+ BridgeOp.ACTIVITY_ROUTES -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
229
+ BridgeOp.ACTIVITY_INTENSITY -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
181
230
  BridgeOp.ACTIVITY_LOG -> json.encodeToString(json.decodeFromString<WorkoutEntryList>(payload))
182
231
  BridgeOp.ACTIVITY_DELETE -> json.encodeToString(json.decodeFromString<RecordIdRequest>(payload))
232
+ BridgeOp.NUTRITION_QUANTITIES -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
183
233
  BridgeOp.NUTRITION_LOG -> json.encodeToString(json.decodeFromString<NutritionEntryList>(payload))
184
234
  BridgeOp.NUTRITION_DELETE -> json.encodeToString(json.decodeFromString<RecordIdRequest>(payload))
235
+ BridgeOp.NUTRITION_HYDRATION -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
236
+ BridgeOp.MENSTRUATION_FLOW -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
237
+ BridgeOp.MENSTRUATION_EVENTS -> json.encodeToString(json.decodeFromString<RangeRequest>(payload))
238
+ BridgeOp.ATHLETE_PROFILE -> json.encodeToString(json.decodeFromString<Empty>(payload))
185
239
  BridgeOp.PLANNED_WORKOUTS_PLANNED -> json.encodeToString(json.decodeFromString<Empty>(payload))
186
240
  BridgeOp.PLANNED_WORKOUTS_MARK_COMPLETE -> json.encodeToString(json.decodeFromString<MarkCompleteRequest>(payload))
187
241
  BridgeOp.PLANNED_WORKOUTS_DELETE -> json.encodeToString(json.decodeFromString<RecordIdRequest>(payload))
@@ -194,6 +248,7 @@ public object BridgeCodecs {
194
248
  BridgeOp.CLIENT_ATTACH -> json.encodeToString(json.decodeFromString<BootstrapState>(payload))
195
249
  BridgeOp.CLIENT_CONNECT -> json.encodeToString(json.decodeFromString<Connection>(payload))
196
250
  BridgeOp.CLIENT_CONNECTIONS -> json.encodeToString(json.decodeFromString<ConnectionList>(payload))
251
+ BridgeOp.CLIENT_AVAILABILITY -> json.encodeToString(json.decodeFromString<AvailabilityResult>(payload))
197
252
  BridgeOp.CLIENT_DISCONNECT -> json.encodeToString(json.decodeFromString<Empty>(payload))
198
253
  BridgeOp.TOKEN_SET_PROVIDER_PRESENT -> json.encodeToString(json.decodeFromString<Empty>(payload))
199
254
  BridgeOp.TOKEN_RESOLVE -> json.encodeToString(json.decodeFromString<Empty>(payload))
@@ -216,20 +271,31 @@ public object BridgeCodecs {
216
271
  BridgeOp.BACKGROUND_IS_REGISTERED -> json.encodeToString(json.decodeFromString<BoolResult>(payload))
217
272
  BridgeOp.BACKGROUND_CANCEL -> json.encodeToString(json.decodeFromString<BoolResult>(payload))
218
273
  BridgeOp.BODY_HEART_RATE -> json.encodeToString(json.decodeFromString<HeartRateList>(payload))
274
+ BridgeOp.BODY_RESTING_HEART_RATE -> json.encodeToString(json.decodeFromString<RestingHeartRateList>(payload))
275
+ BridgeOp.BODY_READINGS -> json.encodeToString(json.decodeFromString<BodyReadingList>(payload))
219
276
  BridgeOp.BODY_LOG_HEART_RATE -> json.encodeToString(json.decodeFromString<RecordIdList>(payload))
220
277
  BridgeOp.BODY_LOG -> json.encodeToString(json.decodeFromString<RecordIdList>(payload))
221
278
  BridgeOp.BODY_DELETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
222
279
  BridgeOp.DAILY_STEPS -> json.encodeToString(json.decodeFromString<StepCountList>(payload))
280
+ BridgeOp.DAILY_TOTALS -> json.encodeToString(json.decodeFromString<DayTotalList>(payload))
281
+ BridgeOp.DAILY_INTRADAY -> json.encodeToString(json.decodeFromString<IntradaySampleList>(payload))
223
282
  BridgeOp.DAILY_LOG -> json.encodeToString(json.decodeFromString<RecordIdList>(payload))
224
283
  BridgeOp.DAILY_DELETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
225
284
  BridgeOp.SLEEP_SEGMENTS -> json.encodeToString(json.decodeFromString<SleepSegmentList>(payload))
226
285
  BridgeOp.SLEEP_LOG -> json.encodeToString(json.decodeFromString<RecordIdList>(payload))
227
286
  BridgeOp.SLEEP_DELETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
228
287
  BridgeOp.ACTIVITY_WORKOUTS -> json.encodeToString(json.decodeFromString<WorkoutList>(payload))
288
+ BridgeOp.ACTIVITY_ROUTES -> json.encodeToString(json.decodeFromString<WorkoutRouteList>(payload))
289
+ BridgeOp.ACTIVITY_INTENSITY -> json.encodeToString(json.decodeFromString<WorkoutIntensityList>(payload))
229
290
  BridgeOp.ACTIVITY_LOG -> json.encodeToString(json.decodeFromString<RecordIdList>(payload))
230
291
  BridgeOp.ACTIVITY_DELETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
292
+ BridgeOp.NUTRITION_QUANTITIES -> json.encodeToString(json.decodeFromString<DietaryQuantityList>(payload))
231
293
  BridgeOp.NUTRITION_LOG -> json.encodeToString(json.decodeFromString<RecordIdList>(payload))
232
294
  BridgeOp.NUTRITION_DELETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
295
+ BridgeOp.NUTRITION_HYDRATION -> json.encodeToString(json.decodeFromString<HydrationList>(payload))
296
+ BridgeOp.MENSTRUATION_FLOW -> json.encodeToString(json.decodeFromString<MenstruationFlowDayList>(payload))
297
+ BridgeOp.MENSTRUATION_EVENTS -> json.encodeToString(json.decodeFromString<MenstrualEventList>(payload))
298
+ BridgeOp.ATHLETE_PROFILE -> json.encodeToString(json.decodeFromString<AthleteProfileResult>(payload))
233
299
  BridgeOp.PLANNED_WORKOUTS_PLANNED -> json.encodeToString(json.decodeFromString<PlannedWorkoutList>(payload))
234
300
  BridgeOp.PLANNED_WORKOUTS_MARK_COMPLETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
235
301
  BridgeOp.PLANNED_WORKOUTS_DELETE -> json.encodeToString(json.decodeFromString<Empty>(payload))
@@ -305,6 +371,8 @@ public class BridgeDispatch(
305
371
  json.encodeToString(ops.clientConnect(json.decodeRequest<ConnectRequest>(payload)))
306
372
  BridgeOp.CLIENT_CONNECTIONS ->
307
373
  json.encodeToString(ops.clientConnections(json.decodeRequest<Empty>(payload)))
374
+ BridgeOp.CLIENT_AVAILABILITY ->
375
+ json.encodeToString(ops.clientAvailability(json.decodeRequest<SourceRequest>(payload)))
308
376
  BridgeOp.CLIENT_DISCONNECT ->
309
377
  json.encodeToString(ops.clientDisconnect(json.decodeRequest<SourceRequest>(payload)))
310
378
  BridgeOp.TOKEN_SET_PROVIDER_PRESENT ->
@@ -345,6 +413,10 @@ public class BridgeDispatch(
345
413
  json.encodeToString(ops.backgroundCancel(json.decodeRequest<Empty>(payload)))
346
414
  BridgeOp.BODY_HEART_RATE ->
347
415
  json.encodeToString(ops.bodyHeartRate(json.decodeRequest<RangeRequest>(payload)))
416
+ BridgeOp.BODY_RESTING_HEART_RATE ->
417
+ json.encodeToString(ops.bodyRestingHeartRate(json.decodeRequest<RangeRequest>(payload)))
418
+ BridgeOp.BODY_READINGS ->
419
+ json.encodeToString(ops.bodyReadings(json.decodeRequest<RangeRequest>(payload)))
348
420
  BridgeOp.BODY_LOG_HEART_RATE ->
349
421
  json.encodeToString(ops.bodyLogHeartRate(json.decodeRequest<HeartRateEntryList>(payload)))
350
422
  BridgeOp.BODY_LOG ->
@@ -353,6 +425,10 @@ public class BridgeDispatch(
353
425
  json.encodeToString(ops.bodyDelete(json.decodeRequest<RecordIdRequest>(payload)))
354
426
  BridgeOp.DAILY_STEPS ->
355
427
  json.encodeToString(ops.dailySteps(json.decodeRequest<RangeRequest>(payload)))
428
+ BridgeOp.DAILY_TOTALS ->
429
+ json.encodeToString(ops.dailyTotals(json.decodeRequest<RangeRequest>(payload)))
430
+ BridgeOp.DAILY_INTRADAY ->
431
+ json.encodeToString(ops.dailyIntraday(json.decodeRequest<RangeRequest>(payload)))
356
432
  BridgeOp.DAILY_LOG ->
357
433
  json.encodeToString(ops.dailyLog(json.decodeRequest<StepEntryList>(payload)))
358
434
  BridgeOp.DAILY_DELETE ->
@@ -365,14 +441,27 @@ public class BridgeDispatch(
365
441
  json.encodeToString(ops.sleepDelete(json.decodeRequest<RecordIdRequest>(payload)))
366
442
  BridgeOp.ACTIVITY_WORKOUTS ->
367
443
  json.encodeToString(ops.activityWorkouts(json.decodeRequest<RangeRequest>(payload)))
444
+ BridgeOp.ACTIVITY_ROUTES ->
445
+ json.encodeToString(ops.activityRoutes(json.decodeRequest<RangeRequest>(payload)))
446
+ BridgeOp.ACTIVITY_INTENSITY ->
447
+ json.encodeToString(ops.activityIntensity(json.decodeRequest<RangeRequest>(payload)))
368
448
  BridgeOp.ACTIVITY_LOG ->
369
449
  json.encodeToString(ops.activityLog(json.decodeRequest<WorkoutEntryList>(payload)))
370
450
  BridgeOp.ACTIVITY_DELETE ->
371
451
  json.encodeToString(ops.activityDelete(json.decodeRequest<RecordIdRequest>(payload)))
452
+ BridgeOp.NUTRITION_QUANTITIES ->
453
+ json.encodeToString(ops.nutritionQuantities(json.decodeRequest<RangeRequest>(payload)))
372
454
  BridgeOp.NUTRITION_LOG ->
373
455
  json.encodeToString(ops.nutritionLog(json.decodeRequest<NutritionEntryList>(payload)))
374
456
  BridgeOp.NUTRITION_DELETE ->
375
457
  json.encodeToString(ops.nutritionDelete(json.decodeRequest<RecordIdRequest>(payload)))
458
+ BridgeOp.NUTRITION_HYDRATION ->
459
+ json.encodeToString(ops.nutritionHydration(json.decodeRequest<RangeRequest>(payload)))
460
+ BridgeOp.MENSTRUATION_FLOW ->
461
+ json.encodeToString(ops.menstruationFlow(json.decodeRequest<RangeRequest>(payload)))
462
+ BridgeOp.MENSTRUATION_EVENTS ->
463
+ json.encodeToString(ops.menstruationEvents(json.decodeRequest<RangeRequest>(payload)))
464
+ BridgeOp.ATHLETE_PROFILE -> throw BridgeError.UnsupportedOnPlatform(known.wire)
376
465
  BridgeOp.PLANNED_WORKOUTS_PLANNED -> throw BridgeError.UnsupportedOnPlatform(known.wire)
377
466
  BridgeOp.PLANNED_WORKOUTS_MARK_COMPLETE -> throw BridgeError.UnsupportedOnPlatform(known.wire)
378
467
  BridgeOp.PLANNED_WORKOUTS_DELETE -> throw BridgeError.UnsupportedOnPlatform(known.wire)