@nativesquare/soma 0.14.1 → 0.16.0

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 (118) hide show
  1. package/dist/client/garmin.d.ts +31 -0
  2. package/dist/client/garmin.d.ts.map +1 -1
  3. package/dist/client/garmin.js +34 -0
  4. package/dist/client/garmin.js.map +1 -1
  5. package/dist/client/healthkit.d.ts +267 -0
  6. package/dist/client/healthkit.d.ts.map +1 -0
  7. package/dist/client/healthkit.js +600 -0
  8. package/dist/client/healthkit.js.map +1 -0
  9. package/dist/client/index.d.ts +3 -0
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js +4 -0
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/component/_generated/api.d.ts +26 -0
  14. package/dist/component/_generated/api.d.ts.map +1 -1
  15. package/dist/component/_generated/api.js.map +1 -1
  16. package/dist/component/healthkit/index.d.ts +14 -0
  17. package/dist/component/healthkit/index.d.ts.map +1 -0
  18. package/dist/{healthkit → component/healthkit}/index.js +11 -11
  19. package/dist/component/healthkit/index.js.map +1 -0
  20. package/dist/component/healthkit/transform/activity.d.ts +19 -0
  21. package/dist/component/healthkit/transform/activity.d.ts.map +1 -0
  22. package/dist/{healthkit → component/healthkit/transform}/activity.js +1 -1
  23. package/dist/component/healthkit/transform/activity.js.map +1 -0
  24. package/dist/{healthkit → component/healthkit/transform}/athlete.d.ts +3 -9
  25. package/dist/component/healthkit/transform/athlete.d.ts.map +1 -0
  26. package/dist/component/healthkit/transform/athlete.js.map +1 -0
  27. package/dist/component/healthkit/transform/body.d.ts +25 -0
  28. package/dist/component/healthkit/transform/body.d.ts.map +1 -0
  29. package/dist/component/healthkit/transform/body.js.map +1 -0
  30. package/dist/component/healthkit/transform/daily.d.ts +36 -0
  31. package/dist/component/healthkit/transform/daily.d.ts.map +1 -0
  32. package/dist/component/healthkit/transform/daily.js.map +1 -0
  33. package/dist/{healthkit/maps/activity-type.d.ts → component/healthkit/transform/maps/activityType.d.ts} +1 -1
  34. package/dist/component/healthkit/transform/maps/activityType.d.ts.map +1 -0
  35. package/dist/{healthkit/maps/activity-type.js → component/healthkit/transform/maps/activityType.js} +1 -1
  36. package/dist/component/healthkit/transform/maps/activityType.js.map +1 -0
  37. package/dist/{healthkit/maps/menstruation-flow.d.ts → component/healthkit/transform/maps/menstruationFlow.d.ts} +1 -1
  38. package/dist/component/healthkit/transform/maps/menstruationFlow.d.ts.map +1 -0
  39. package/dist/{healthkit/maps/menstruation-flow.js → component/healthkit/transform/maps/menstruationFlow.js} +2 -2
  40. package/dist/component/healthkit/transform/maps/menstruationFlow.js.map +1 -0
  41. package/dist/{healthkit/maps/sleep-level.d.ts → component/healthkit/transform/maps/sleepLevel.d.ts} +1 -1
  42. package/dist/component/healthkit/transform/maps/sleepLevel.d.ts.map +1 -0
  43. package/dist/{healthkit/maps/sleep-level.js → component/healthkit/transform/maps/sleepLevel.js} +2 -2
  44. package/dist/component/healthkit/transform/maps/sleepLevel.js.map +1 -0
  45. package/dist/{healthkit → component/healthkit/transform}/menstruation.d.ts +3 -17
  46. package/dist/component/healthkit/transform/menstruation.d.ts.map +1 -0
  47. package/dist/{healthkit → component/healthkit/transform}/menstruation.js +1 -1
  48. package/dist/component/healthkit/transform/menstruation.js.map +1 -0
  49. package/dist/component/healthkit/transform/nutrition.d.ts +25 -0
  50. package/dist/component/healthkit/transform/nutrition.d.ts.map +1 -0
  51. package/dist/component/healthkit/transform/nutrition.js.map +1 -0
  52. package/dist/component/healthkit/transform/sleep.d.ts +22 -0
  53. package/dist/component/healthkit/transform/sleep.d.ts.map +1 -0
  54. package/dist/{healthkit → component/healthkit/transform}/sleep.js +2 -2
  55. package/dist/component/healthkit/transform/sleep.js.map +1 -0
  56. package/dist/{healthkit → component/healthkit/transform}/utils.d.ts +1 -1
  57. package/dist/component/healthkit/transform/utils.d.ts.map +1 -0
  58. package/dist/component/healthkit/transform/utils.js.map +1 -0
  59. package/dist/component/healthkit/types.d.ts.map +1 -0
  60. package/dist/component/healthkit/types.js.map +1 -0
  61. package/package.json +3 -3
  62. package/src/client/garmin.ts +42 -0
  63. package/src/client/healthkit.ts +791 -0
  64. package/src/client/index.ts +4 -0
  65. package/src/component/_generated/api.ts +26 -0
  66. package/src/{healthkit → component/healthkit}/index.ts +46 -59
  67. package/src/component/healthkit/transform/activity.ts +115 -0
  68. package/src/{healthkit → component/healthkit/transform}/athlete.ts +4 -8
  69. package/src/{healthkit → component/healthkit/transform}/body.ts +3 -7
  70. package/src/{healthkit → component/healthkit/transform}/daily.ts +4 -10
  71. package/src/{healthkit/maps/menstruation-flow.ts → component/healthkit/transform/maps/menstruationFlow.ts} +1 -1
  72. package/src/{healthkit/maps/sleep-level.ts → component/healthkit/transform/maps/sleepLevel.ts} +1 -1
  73. package/src/{healthkit → component/healthkit/transform}/menstruation.ts +4 -8
  74. package/src/{healthkit → component/healthkit/transform}/nutrition.ts +3 -7
  75. package/src/{healthkit → component/healthkit/transform}/sleep.ts +5 -9
  76. package/src/{healthkit → component/healthkit/transform}/utils.ts +1 -1
  77. package/dist/healthkit/activity.d.ts +0 -75
  78. package/dist/healthkit/activity.d.ts.map +0 -1
  79. package/dist/healthkit/activity.js.map +0 -1
  80. package/dist/healthkit/athlete.d.ts.map +0 -1
  81. package/dist/healthkit/athlete.js.map +0 -1
  82. package/dist/healthkit/body.d.ts +0 -102
  83. package/dist/healthkit/body.d.ts.map +0 -1
  84. package/dist/healthkit/body.js.map +0 -1
  85. package/dist/healthkit/daily.d.ts +0 -119
  86. package/dist/healthkit/daily.d.ts.map +0 -1
  87. package/dist/healthkit/daily.js.map +0 -1
  88. package/dist/healthkit/index.d.ts +0 -21
  89. package/dist/healthkit/index.d.ts.map +0 -1
  90. package/dist/healthkit/index.js.map +0 -1
  91. package/dist/healthkit/maps/activity-type.d.ts.map +0 -1
  92. package/dist/healthkit/maps/activity-type.js.map +0 -1
  93. package/dist/healthkit/maps/menstruation-flow.d.ts.map +0 -1
  94. package/dist/healthkit/maps/menstruation-flow.js.map +0 -1
  95. package/dist/healthkit/maps/sleep-level.d.ts.map +0 -1
  96. package/dist/healthkit/maps/sleep-level.js.map +0 -1
  97. package/dist/healthkit/menstruation.d.ts.map +0 -1
  98. package/dist/healthkit/menstruation.js.map +0 -1
  99. package/dist/healthkit/nutrition.d.ts +0 -77
  100. package/dist/healthkit/nutrition.d.ts.map +0 -1
  101. package/dist/healthkit/nutrition.js.map +0 -1
  102. package/dist/healthkit/sleep.d.ts +0 -60
  103. package/dist/healthkit/sleep.d.ts.map +0 -1
  104. package/dist/healthkit/sleep.js.map +0 -1
  105. package/dist/healthkit/types.d.ts.map +0 -1
  106. package/dist/healthkit/types.js.map +0 -1
  107. package/dist/healthkit/utils.d.ts.map +0 -1
  108. package/dist/healthkit/utils.js.map +0 -1
  109. package/src/healthkit/activity.ts +0 -120
  110. /package/dist/{healthkit → component/healthkit/transform}/athlete.js +0 -0
  111. /package/dist/{healthkit → component/healthkit/transform}/body.js +0 -0
  112. /package/dist/{healthkit → component/healthkit/transform}/daily.js +0 -0
  113. /package/dist/{healthkit → component/healthkit/transform}/nutrition.js +0 -0
  114. /package/dist/{healthkit → component/healthkit/transform}/utils.js +0 -0
  115. /package/dist/{healthkit → component/healthkit}/types.d.ts +0 -0
  116. /package/dist/{healthkit → component/healthkit}/types.js +0 -0
  117. /package/src/{healthkit/maps/activity-type.ts → component/healthkit/transform/maps/activityType.ts} +0 -0
  118. /package/src/{healthkit → component/healthkit}/types.ts +0 -0
@@ -232,6 +232,37 @@ export declare class SomaGarmin {
232
232
  startTimeInSeconds?: number;
233
233
  endTimeInSeconds?: number;
234
234
  }): Promise<any>;
235
+ /**
236
+ * Request historical data from Garmin's backfill API for all summary types.
237
+ *
238
+ * Unlike pull methods (which query by upload time with a 24h max window),
239
+ * backfill requests data by the time it was *recorded* on the device.
240
+ * Garmin processes backfill asynchronously (HTTP 202) and delivers data
241
+ * via push/ping webhooks — no data is returned synchronously.
242
+ *
243
+ * Health endpoints accept up to 90 days per request.
244
+ * Activity endpoints accept up to 30 days per request (auto-chunked).
245
+ *
246
+ * Defaults to the last 90 days when no time range is provided.
247
+ *
248
+ * @param ctx - Action context from the host app
249
+ * @param args.userId - The host app's user identifier
250
+ * @param args.startTimeInSeconds - Optional Unix epoch lower bound (when data was recorded)
251
+ * @param args.endTimeInSeconds - Optional Unix epoch upper bound (when data was recorded)
252
+ *
253
+ * @example
254
+ * ```ts
255
+ * // Request last 90 days of historical data
256
+ * const result = await soma.garmin.backfillAll(ctx, { userId: "user_123" });
257
+ * // Data arrives async via push webhooks
258
+ * console.log(result.data.requested); // ["dailies", "sleeps", ...]
259
+ * ```
260
+ */
261
+ backfillAll(ctx: ActionCtx, args: {
262
+ userId: string;
263
+ startTimeInSeconds?: number;
264
+ endTimeInSeconds?: number;
265
+ }): Promise<any>;
235
266
  /**
236
267
  * Push a planned workout to Garmin Connect.
237
268
  *
@@ -1 +1 @@
1
- {"version":3,"file":"garmin.d.ts","sourceRoot":"","sources":["../../src/client/garmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"garmin.d.ts","sourceRoot":"","sources":["../../src/client/garmin.ts"],"names":[],"mappings":"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"}
@@ -276,6 +276,40 @@ export class SomaGarmin {
276
276
  clientSecret: config.clientSecret,
277
277
  });
278
278
  }
279
+ /**
280
+ * Request historical data from Garmin's backfill API for all summary types.
281
+ *
282
+ * Unlike pull methods (which query by upload time with a 24h max window),
283
+ * backfill requests data by the time it was *recorded* on the device.
284
+ * Garmin processes backfill asynchronously (HTTP 202) and delivers data
285
+ * via push/ping webhooks — no data is returned synchronously.
286
+ *
287
+ * Health endpoints accept up to 90 days per request.
288
+ * Activity endpoints accept up to 30 days per request (auto-chunked).
289
+ *
290
+ * Defaults to the last 90 days when no time range is provided.
291
+ *
292
+ * @param ctx - Action context from the host app
293
+ * @param args.userId - The host app's user identifier
294
+ * @param args.startTimeInSeconds - Optional Unix epoch lower bound (when data was recorded)
295
+ * @param args.endTimeInSeconds - Optional Unix epoch upper bound (when data was recorded)
296
+ *
297
+ * @example
298
+ * ```ts
299
+ * // Request last 90 days of historical data
300
+ * const result = await soma.garmin.backfillAll(ctx, { userId: "user_123" });
301
+ * // Data arrives async via push webhooks
302
+ * console.log(result.data.requested); // ["dailies", "sleeps", ...]
303
+ * ```
304
+ */
305
+ async backfillAll(ctx, args) {
306
+ const config = this.requireConfig();
307
+ return await ctx.runAction(this.component.garmin.public.backfillAll, {
308
+ ...args,
309
+ clientId: config.clientId,
310
+ clientSecret: config.clientSecret,
311
+ });
312
+ }
279
313
  /**
280
314
  * Push a planned workout to Garmin Connect.
281
315
  *
@@ -1 +1 @@
1
- {"version":3,"file":"garmin.js","sourceRoot":"","sources":["../../src/client/garmin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"garmin.js","sourceRoot":"","sources":["../../src/client/garmin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ import type { SomaComponent } from "./index.js";
2
+ import type { MutationCtx, SomaError } from "./types.js";
3
+ import type { HKWorkout, HKCategorySample, HKQuantitySample, HKActivitySummary, HKCharacteristics } from "../component/healthkit/types.js";
4
+ type SyncResult<T extends Record<string, number>> = {
5
+ data: {
6
+ synced: T;
7
+ };
8
+ errors: SomaError[];
9
+ };
10
+ /**
11
+ * Client class for Apple HealthKit integration with Soma.
12
+ *
13
+ * Unlike {@link import("./strava.js").SomaStrava | SomaStrava} and
14
+ * {@link import("./garmin.js").SomaGarmin | SomaGarmin}, HealthKit is an
15
+ * on-device provider — data is queried locally on iOS, not fetched from a
16
+ * cloud API. This class wraps the transform + ingest pipeline so the host
17
+ * app gets the same ergonomic interface as cloud providers.
18
+ *
19
+ * No configuration is required — HealthKit has no OAuth credentials.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * // Sync workouts received from the React Native client:
24
+ * const result = await soma.healthkit.syncActivities(ctx, {
25
+ * userId: "user_123",
26
+ * workouts: hkWorkouts,
27
+ * });
28
+ * // result: { data: { synced: { activities: 5 } }, errors: [] }
29
+ *
30
+ * // Or sync everything at once:
31
+ * await soma.healthkit.syncAll(ctx, {
32
+ * userId: "user_123",
33
+ * workouts: hkWorkouts,
34
+ * sleepSessions: [nightSamples],
35
+ * bodySamples: hkBodySamples,
36
+ * });
37
+ * ```
38
+ */
39
+ export declare class SomaHealthKit {
40
+ private component;
41
+ constructor(component: SomaComponent);
42
+ /**
43
+ * Sync workout activities from HealthKit.
44
+ *
45
+ * Transforms each `HKWorkout` into the Soma Activity schema and ingests it
46
+ * with automatic deduplication by `workout.uuid`.
47
+ *
48
+ * @param ctx - Mutation (or action) context from the host app
49
+ * @param args.userId - The host app's user identifier
50
+ * @param args.workouts - Array of HKWorkout objects from HealthKit
51
+ */
52
+ syncActivities(ctx: MutationCtx, args: {
53
+ userId: string;
54
+ workouts: HKWorkout[];
55
+ }): Promise<SyncResult<{
56
+ activities: number;
57
+ }>>;
58
+ /**
59
+ * Sync sleep sessions from HealthKit.
60
+ *
61
+ * Each inner array represents one sleep session (all `HKCategorySample`
62
+ * stage records for a single night). Each session is aggregated into a
63
+ * single Soma Sleep document.
64
+ *
65
+ * @param ctx - Mutation (or action) context from the host app
66
+ * @param args.userId - The host app's user identifier
67
+ * @param args.sessions - Array of sessions, each an array of sleep-stage samples
68
+ */
69
+ syncSleep(ctx: MutationCtx, args: {
70
+ userId: string;
71
+ sessions: HKCategorySample[][];
72
+ }): Promise<SyncResult<{
73
+ sleep: number;
74
+ }>>;
75
+ /**
76
+ * Sync body metrics from HealthKit.
77
+ *
78
+ * Accepts a mixed array of body-related quantity samples (heart rate, HRV,
79
+ * blood pressure, SpO2, weight, etc.) for a single time window and produces
80
+ * one Soma Body document.
81
+ *
82
+ * @param ctx - Mutation (or action) context from the host app
83
+ * @param args.userId - The host app's user identifier
84
+ * @param args.samples - Array of HKQuantitySample for the desired time range
85
+ * @param args.timeRange - Optional explicit time range; auto-detected from samples if omitted
86
+ */
87
+ syncBody(ctx: MutationCtx, args: {
88
+ userId: string;
89
+ samples: HKQuantitySample[];
90
+ timeRange?: {
91
+ start_time: string;
92
+ end_time: string;
93
+ };
94
+ }): Promise<SyncResult<{
95
+ body: number;
96
+ }>>;
97
+ /**
98
+ * Sync daily activity data from HealthKit quantity samples.
99
+ *
100
+ * Accepts samples for a single day (steps, distance, energy, exercise time,
101
+ * heart rate, etc.) and produces one Soma Daily document.
102
+ *
103
+ * @param ctx - Mutation (or action) context from the host app
104
+ * @param args.userId - The host app's user identifier
105
+ * @param args.samples - Array of HKQuantitySample for the desired day
106
+ * @param args.timeRange - Optional explicit time range; auto-detected from samples if omitted
107
+ */
108
+ syncDaily(ctx: MutationCtx, args: {
109
+ userId: string;
110
+ samples: HKQuantitySample[];
111
+ timeRange?: {
112
+ start_time: string;
113
+ end_time: string;
114
+ };
115
+ }): Promise<SyncResult<{
116
+ daily: number;
117
+ }>>;
118
+ /**
119
+ * Sync daily activity data from HealthKit activity ring summaries.
120
+ *
121
+ * Each `HKActivitySummary` represents one day's activity rings (Move,
122
+ * Exercise, Stand). Each summary produces one Soma Daily document.
123
+ *
124
+ * @param ctx - Mutation (or action) context from the host app
125
+ * @param args.userId - The host app's user identifier
126
+ * @param args.summaries - Array of HKActivitySummary from HealthKit
127
+ */
128
+ syncDailyFromSummary(ctx: MutationCtx, args: {
129
+ userId: string;
130
+ summaries: HKActivitySummary[];
131
+ }): Promise<SyncResult<{
132
+ daily: number;
133
+ }>>;
134
+ /**
135
+ * Sync nutrition data from HealthKit.
136
+ *
137
+ * Accepts dietary quantity samples for a single time window and produces
138
+ * one Soma Nutrition document with macros and micros.
139
+ *
140
+ * @param ctx - Mutation (or action) context from the host app
141
+ * @param args.userId - The host app's user identifier
142
+ * @param args.samples - Array of HKQuantitySample with dietary type identifiers
143
+ * @param args.timeRange - Optional explicit time range; auto-detected from samples if omitted
144
+ */
145
+ syncNutrition(ctx: MutationCtx, args: {
146
+ userId: string;
147
+ samples: HKQuantitySample[];
148
+ timeRange?: {
149
+ start_time: string;
150
+ end_time: string;
151
+ };
152
+ }): Promise<SyncResult<{
153
+ nutrition: number;
154
+ }>>;
155
+ /**
156
+ * Sync menstruation data from HealthKit.
157
+ *
158
+ * Accepts menstrual flow category samples for a single time window and
159
+ * produces one Soma Menstruation document.
160
+ *
161
+ * @param ctx - Mutation (or action) context from the host app
162
+ * @param args.userId - The host app's user identifier
163
+ * @param args.samples - Array of HKCategorySample with menstrual flow values
164
+ * @param args.timeRange - Optional explicit time range; auto-detected from samples if omitted
165
+ */
166
+ syncMenstruation(ctx: MutationCtx, args: {
167
+ userId: string;
168
+ samples: HKCategorySample[];
169
+ timeRange?: {
170
+ start_time: string;
171
+ end_time: string;
172
+ };
173
+ }): Promise<SyncResult<{
174
+ menstruation: number;
175
+ }>>;
176
+ /**
177
+ * Sync athlete profile from HealthKit.
178
+ *
179
+ * HealthKit exposes limited profile data (biological sex, date of birth).
180
+ * Produces one Soma Athlete document per connection.
181
+ *
182
+ * @param ctx - Mutation (or action) context from the host app
183
+ * @param args.userId - The host app's user identifier
184
+ * @param args.characteristics - The HKCharacteristics from HealthKit
185
+ */
186
+ syncAthlete(ctx: MutationCtx, args: {
187
+ userId: string;
188
+ characteristics: HKCharacteristics;
189
+ }): Promise<SyncResult<{
190
+ athletes: number;
191
+ }>>;
192
+ /**
193
+ * Sync all provided HealthKit data types in a single call.
194
+ *
195
+ * Only data types with values provided are synced. Errors from individual
196
+ * data types are collected — one failing type does not block others.
197
+ *
198
+ * @param ctx - Mutation (or action) context from the host app
199
+ * @param args.userId - The host app's user identifier
200
+ * @param args.workouts - Optional array of HKWorkout objects
201
+ * @param args.sleepSessions - Optional array of sleep sessions (each an array of stage samples)
202
+ * @param args.bodySamples - Optional body-related quantity samples
203
+ * @param args.dailySamples - Optional daily activity quantity samples
204
+ * @param args.dailySummaries - Optional daily activity ring summaries
205
+ * @param args.nutritionSamples - Optional dietary quantity samples
206
+ * @param args.menstruationSamples - Optional menstrual flow category samples
207
+ * @param args.characteristics - Optional user characteristics
208
+ *
209
+ * @example
210
+ * ```ts
211
+ * const result = await soma.healthkit.syncAll(ctx, {
212
+ * userId: "user_123",
213
+ * workouts: hkWorkouts,
214
+ * sleepSessions: [nightSamples],
215
+ * bodySamples: hkBodySamples,
216
+ * dailySummaries: hkSummaries,
217
+ * characteristics: hkCharacteristics,
218
+ * });
219
+ * ```
220
+ */
221
+ syncAll(ctx: MutationCtx, args: {
222
+ userId: string;
223
+ workouts?: HKWorkout[];
224
+ sleepSessions?: HKCategorySample[][];
225
+ bodySamples?: HKQuantitySample[];
226
+ bodyTimeRange?: {
227
+ start_time: string;
228
+ end_time: string;
229
+ };
230
+ dailySamples?: HKQuantitySample[];
231
+ dailyTimeRange?: {
232
+ start_time: string;
233
+ end_time: string;
234
+ };
235
+ dailySummaries?: HKActivitySummary[];
236
+ nutritionSamples?: HKQuantitySample[];
237
+ nutritionTimeRange?: {
238
+ start_time: string;
239
+ end_time: string;
240
+ };
241
+ menstruationSamples?: HKCategorySample[];
242
+ menstruationTimeRange?: {
243
+ start_time: string;
244
+ end_time: string;
245
+ };
246
+ characteristics?: HKCharacteristics;
247
+ }): Promise<SyncResult<Record<string, number>>>;
248
+ /**
249
+ * Resolve or create the APPLE connection for a user.
250
+ *
251
+ * HealthKit permissions are managed on-device by the React Native library,
252
+ * so Soma auto-ensures the connection record exists. If the connection was
253
+ * previously disconnected it is re-activated automatically.
254
+ */
255
+ private resolveConnection;
256
+ private updateLastDataUpdate;
257
+ private syncActivitiesInternal;
258
+ private syncSleepInternal;
259
+ private syncBodyInternal;
260
+ private syncDailyInternal;
261
+ private syncDailyFromSummaryInternal;
262
+ private syncNutritionInternal;
263
+ private syncMenstruationInternal;
264
+ private syncAthleteInternal;
265
+ }
266
+ export {};
267
+ //# sourceMappingURL=healthkit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthkit.d.ts","sourceRoot":"","sources":["../../src/client/healthkit.ts"],"names":[],"mappings":"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"}