@nativesquare/soma 0.7.3 → 0.8.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 (134) hide show
  1. package/dist/client/index.d.ts +83 -0
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +131 -0
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/component/_generated/component.d.ts +159 -0
  6. package/dist/component/_generated/component.d.ts.map +1 -1
  7. package/dist/component/garmin.d.ts +190 -6
  8. package/dist/component/garmin.d.ts.map +1 -1
  9. package/dist/component/garmin.js +805 -25
  10. package/dist/component/garmin.js.map +1 -1
  11. package/dist/component/private.d.ts +18 -0
  12. package/dist/component/private.d.ts.map +1 -1
  13. package/dist/component/private.js +18 -0
  14. package/dist/component/private.js.map +1 -1
  15. package/dist/component/public.d.ts +88 -42
  16. package/dist/component/public.d.ts.map +1 -1
  17. package/dist/component/public.js +12 -2
  18. package/dist/component/public.js.map +1 -1
  19. package/dist/component/schema.d.ts +87 -32
  20. package/dist/component/schema.d.ts.map +1 -1
  21. package/dist/component/schema.js +2 -1
  22. package/dist/component/schema.js.map +1 -1
  23. package/dist/component/validators/connection.d.ts +1 -0
  24. package/dist/component/validators/connection.d.ts.map +1 -1
  25. package/dist/component/validators/connection.js +2 -0
  26. package/dist/component/validators/connection.js.map +1 -1
  27. package/dist/component/validators/daily.d.ts +40 -5
  28. package/dist/component/validators/daily.d.ts.map +1 -1
  29. package/dist/component/validators/daily.js +10 -1
  30. package/dist/component/validators/daily.js.map +1 -1
  31. package/dist/component/validators/enums.d.ts +1 -1
  32. package/dist/component/validators/plannedWorkout.d.ts +5 -1
  33. package/dist/component/validators/plannedWorkout.d.ts.map +1 -1
  34. package/dist/component/validators/plannedWorkout.js +4 -0
  35. package/dist/component/validators/plannedWorkout.js.map +1 -1
  36. package/dist/component/validators/sleep.d.ts +8 -8
  37. package/dist/garmin/activity.d.ts +7 -16
  38. package/dist/garmin/activity.d.ts.map +1 -1
  39. package/dist/garmin/activity.js +17 -23
  40. package/dist/garmin/activity.js.map +1 -1
  41. package/dist/garmin/bloodPressure.d.ts +28 -0
  42. package/dist/garmin/bloodPressure.d.ts.map +1 -0
  43. package/dist/garmin/bloodPressure.js +34 -0
  44. package/dist/garmin/bloodPressure.js.map +1 -0
  45. package/dist/garmin/body.js +1 -1
  46. package/dist/garmin/body.js.map +1 -1
  47. package/dist/garmin/client.d.ts +117 -17
  48. package/dist/garmin/client.d.ts.map +1 -1
  49. package/dist/garmin/client.js +337 -43
  50. package/dist/garmin/client.js.map +1 -1
  51. package/dist/garmin/daily.d.ts.map +1 -1
  52. package/dist/garmin/daily.js +3 -3
  53. package/dist/garmin/daily.js.map +1 -1
  54. package/dist/garmin/hrv.d.ts +30 -0
  55. package/dist/garmin/hrv.d.ts.map +1 -0
  56. package/dist/garmin/hrv.js +45 -0
  57. package/dist/garmin/hrv.js.map +1 -0
  58. package/dist/garmin/index.d.ts +16 -2
  59. package/dist/garmin/index.d.ts.map +1 -1
  60. package/dist/garmin/index.js +8 -1
  61. package/dist/garmin/index.js.map +1 -1
  62. package/dist/garmin/maps/activity-type.d.ts +1 -2
  63. package/dist/garmin/maps/activity-type.d.ts.map +1 -1
  64. package/dist/garmin/maps/activity-type.js +1 -0
  65. package/dist/garmin/maps/activity-type.js.map +1 -1
  66. package/dist/garmin/menstruation.d.ts +6 -4
  67. package/dist/garmin/menstruation.d.ts.map +1 -1
  68. package/dist/garmin/menstruation.js +12 -8
  69. package/dist/garmin/menstruation.js.map +1 -1
  70. package/dist/garmin/pulseOx.d.ts +24 -0
  71. package/dist/garmin/pulseOx.d.ts.map +1 -0
  72. package/dist/garmin/pulseOx.js +33 -0
  73. package/dist/garmin/pulseOx.js.map +1 -0
  74. package/dist/garmin/respiration.d.ts +29 -0
  75. package/dist/garmin/respiration.d.ts.map +1 -0
  76. package/dist/garmin/respiration.js +42 -0
  77. package/dist/garmin/respiration.js.map +1 -0
  78. package/dist/garmin/skinTemp.d.ts +27 -0
  79. package/dist/garmin/skinTemp.d.ts.map +1 -0
  80. package/dist/garmin/skinTemp.js +35 -0
  81. package/dist/garmin/skinTemp.js.map +1 -0
  82. package/dist/garmin/sleep.d.ts +4 -4
  83. package/dist/garmin/sleep.d.ts.map +1 -1
  84. package/dist/garmin/sleep.js +15 -9
  85. package/dist/garmin/sleep.js.map +1 -1
  86. package/dist/garmin/stressDetails.d.ts +30 -0
  87. package/dist/garmin/stressDetails.d.ts.map +1 -0
  88. package/dist/garmin/stressDetails.js +49 -0
  89. package/dist/garmin/stressDetails.js.map +1 -0
  90. package/dist/garmin/sync.d.ts +14 -0
  91. package/dist/garmin/sync.d.ts.map +1 -1
  92. package/dist/garmin/sync.js +287 -5
  93. package/dist/garmin/sync.js.map +1 -1
  94. package/dist/garmin/types.d.ts +77 -186
  95. package/dist/garmin/types.d.ts.map +1 -1
  96. package/dist/garmin/types.js +4 -2
  97. package/dist/garmin/types.js.map +1 -1
  98. package/dist/garmin/userMetrics.d.ts +23 -0
  99. package/dist/garmin/userMetrics.d.ts.map +1 -0
  100. package/dist/garmin/userMetrics.js +41 -0
  101. package/dist/garmin/userMetrics.js.map +1 -0
  102. package/dist/validators.d.ts +107 -28
  103. package/dist/validators.d.ts.map +1 -1
  104. package/package.json +133 -124
  105. package/src/client/index.ts +199 -0
  106. package/src/component/_generated/component.ts +161 -2
  107. package/src/component/garmin.ts +898 -26
  108. package/src/component/private.ts +21 -0
  109. package/src/component/public.ts +11 -2
  110. package/src/component/schema.ts +2 -1
  111. package/src/component/validators/connection.ts +2 -0
  112. package/src/component/validators/daily.ts +15 -0
  113. package/src/component/validators/plannedWorkout.ts +4 -0
  114. package/src/garmin/activity.test.ts +13 -21
  115. package/src/garmin/activity.ts +38 -45
  116. package/src/garmin/bloodPressure.ts +41 -0
  117. package/src/garmin/body.ts +1 -1
  118. package/src/garmin/client.ts +550 -71
  119. package/src/garmin/daily.ts +8 -4
  120. package/src/garmin/hrv.ts +57 -0
  121. package/src/garmin/index.ts +77 -7
  122. package/src/garmin/maps/activity-type.ts +2 -2
  123. package/src/garmin/menstruation.ts +14 -12
  124. package/src/garmin/pulseOx.ts +45 -0
  125. package/src/garmin/respiration.ts +55 -0
  126. package/src/garmin/skinTemp.ts +42 -0
  127. package/src/garmin/sleep.test.ts +5 -6
  128. package/src/garmin/sleep.ts +22 -16
  129. package/src/garmin/spec/wellness-api.json +1 -0
  130. package/src/garmin/stressDetails.ts +71 -0
  131. package/src/garmin/sync.ts +348 -5
  132. package/src/garmin/types.ts +88 -300
  133. package/src/garmin/userMetrics.ts +50 -0
  134. package/src/garmin/wellness-api.d.ts +5637 -0
@@ -1,92 +1,27 @@
1
- export interface GarminActivity {
2
- userId: string;
3
- userAccessToken: string;
4
- summaryId: string;
5
- activityId: number;
6
- activityName?: string;
7
- activityType: string;
8
- durationInSeconds: number;
9
- startTimeInSeconds: number;
10
- startTimeOffsetInSeconds: number;
11
- deviceName?: string;
12
- manual?: boolean;
13
- distanceInMeters?: number;
14
- elevationGainInMeters?: number;
15
- elevationLossInMeters?: number;
16
- activeKilocalories?: number;
17
- bmrKilocalories?: number;
18
- averageHeartRateInBeatsPerMinute?: number;
19
- maxHeartRateInBeatsPerMinute?: number;
20
- averageSpeedInMetersPerSecond?: number;
21
- maxSpeedInMetersPerSecond?: number;
22
- averagePaceInMinutesPerKilometer?: number;
23
- maxPaceInMinutesPerKilometer?: number;
24
- averageRunCadenceInStepsPerMinute?: number;
25
- maxRunCadenceInStepsPerMinute?: number;
26
- averageBikeCadenceInRoundsPerMinute?: number;
27
- maxBikeCadenceInRoundsPerMinute?: number;
28
- averagePowerInWatts?: number;
29
- maxPowerInWatts?: number;
30
- normalizedPowerInWatts?: number;
31
- numberOfActiveLengths?: number;
32
- poolLengthInMeters?: number;
33
- averageSwimCadenceInStrokesPerMinute?: number;
34
- startingLatitudeInDegree?: number;
35
- startingLongitudeInDegree?: number;
36
- steps?: number;
37
- laps?: GarminActivityLap[];
38
- samples?: GarminActivitySample[];
39
- }
40
- export interface GarminActivityLap {
41
- startTimeInSeconds: number;
42
- airTemperatureCelsius?: number;
43
- heartRate?: number;
44
- totalDistanceInMeters?: number;
45
- timerDurationInSeconds: number;
46
- maxSpeed?: number;
47
- }
48
- export interface GarminActivitySample {
49
- startTimeInSeconds?: number;
50
- latitudeInDegree?: number;
51
- longitudeInDegree?: number;
52
- elevationInMeters?: number;
53
- heartRate?: number;
54
- speedMetersPerSecond?: number;
55
- bikeCadenceInRPM?: number;
56
- runCadenceInStepsPerMinute?: number;
57
- powerInWatts?: number;
58
- timerDurationInSeconds?: number;
59
- }
60
- export interface GarminDailySummary {
61
- userId: string;
62
- userAccessToken: string;
63
- summaryId: string;
64
- calendarDate: string;
65
- startTimeInSeconds: number;
66
- startTimeOffsetInSeconds: number;
67
- durationInSeconds: number;
68
- steps?: number;
69
- distanceInMeters?: number;
70
- floorsClimbed?: number;
71
- activeTimeInSeconds?: number;
72
- activeKilocalories?: number;
73
- bmrKilocalories?: number;
74
- moderateIntensityDurationInSeconds?: number;
75
- vigorousIntensityDurationInSeconds?: number;
76
- intensityDurationGoalInSeconds?: number;
77
- minHeartRateInBeatsPerMinute?: number;
78
- maxHeartRateInBeatsPerMinute?: number;
79
- averageHeartRateInBeatsPerMinute?: number;
80
- restingHeartRateInBeatsPerMinute?: number;
81
- timeOffsetHeartRateSamples?: Record<string, number>;
82
- averageStressLevel?: number;
83
- maxStressLevel?: number;
84
- stressDurationInSeconds?: number;
85
- restStressDurationInSeconds?: number;
86
- activityStressDurationInSeconds?: number;
87
- lowStressDurationInSeconds?: number;
88
- mediumStressDurationInSeconds?: number;
89
- highStressDurationInSeconds?: number;
1
+ import type { components } from "./wellness-api.js";
2
+ export type GarminDaily = components["schemas"]["ClientDaily"];
3
+ export type GarminActivity = components["schemas"]["ClientActivity"];
4
+ export type GarminActivityDetail = components["schemas"]["ClientActivityDetail"];
5
+ export type GarminSleep = components["schemas"]["ClientSleep"];
6
+ export type GarminBodyComposition = components["schemas"]["ClientBodyComp"];
7
+ export type GarminMenstrualCycle = components["schemas"]["ClientSummarizedMenstrualCycle"];
8
+ export type GarminUserMetrics = components["schemas"]["ClientUserMetrics"];
9
+ export type GarminStressDetail = components["schemas"]["ClientStress"];
10
+ export type GarminSkinTemperature = components["schemas"]["ClientSkinTemp"];
11
+ export type GarminRespiration = components["schemas"]["ClientRespiration"];
12
+ export type GarminPulseOx = components["schemas"]["ClientDailySpo2Acclimation"];
13
+ export type GarminMoveIQEvent = components["schemas"]["ClientAutoActivityMoveIq"];
14
+ export type GarminHRVSummary = components["schemas"]["ClientHRVSummary"];
15
+ export type GarminHealthSnapshot = components["schemas"]["ClientHealthSnapshot"];
16
+ export type GarminEpoch = components["schemas"]["ClientEpoch"];
17
+ export type GarminBloodPressure = components["schemas"]["ClientBloodPressure"];
18
+ export type GarminSolar = components["schemas"]["ClientSolar"];
19
+ export type GarminSample = components["schemas"]["Sample"];
20
+ export type GarminLap = components["schemas"]["ClientLap"];
21
+ export type GarminTimeRange = components["schemas"]["TimeRange"];
22
+ export type GarminSleepScoreItem = components["schemas"]["ClientSleepScoreItem"];
23
+ export type GarminNap = components["schemas"]["ClientNaps"];
24
+ export type GarminDailyExtended = GarminDaily & {
90
25
  timeOffsetStressLevelValues?: Record<string, number>;
91
26
  timeOffsetBodyBatteryValues?: Record<string, number>;
92
27
  averageSpo2Value?: number;
@@ -97,78 +32,33 @@ export interface GarminDailySummary {
97
32
  lowestRespirationInBreathsPerMinute?: number;
98
33
  highestRespirationInBreathsPerMinute?: number;
99
34
  timeOffsetRespirationSamples?: Record<string, number>;
100
- }
101
- export interface GarminSleep {
102
- userId: string;
103
- userAccessToken: string;
104
- summaryId: string;
105
- calendarDate: string;
106
- startTimeInSeconds: number;
107
- startTimeOffsetInSeconds: number;
108
- durationInSeconds: number;
109
- unmeasurableSleepInSeconds?: number;
110
- deepSleepDurationInSeconds?: number;
111
- lightSleepDurationInSeconds?: number;
112
- remSleepInSeconds?: number;
113
- awakeDurationInSeconds?: number;
114
- totalNapDurationInSeconds?: number;
115
- validation: "ENHANCED_TENTATIVE" | "ENHANCED_FINAL" | "AUTO_TENTATIVE" | "AUTO_FINAL" | "MANUAL" | string;
35
+ };
36
+ export type GarminSleepExtended = GarminSleep & {
116
37
  averageRespirationInBreathsPerMinute?: number;
117
38
  lowestRespirationInBreathsPerMinute?: number;
118
39
  highestRespirationInBreathsPerMinute?: number;
119
- timeOffsetSleepRespiration?: Record<string, number>;
120
40
  averageSpo2Value?: number;
121
41
  lowestSpo2Value?: number;
122
42
  highestSpo2Value?: number;
123
- timeOffsetSpo2Values?: Record<string, number>;
124
- sleepLevelsMap?: {
125
- deep?: GarminSleepLevel[];
126
- light?: GarminSleepLevel[];
127
- rem?: GarminSleepLevel[];
128
- awake?: GarminSleepLevel[];
129
- };
130
43
  timeOffsetHeartRateSamples?: Record<string, number>;
131
- }
132
- export interface GarminSleepLevel {
133
- startTimeInSeconds: number;
134
- endTimeInSeconds: number;
135
- }
136
- export interface GarminBodyComposition {
137
- userId: string;
138
- userAccessToken: string;
139
- summaryId?: string;
140
- measurementTimeInSeconds: number;
141
- measurementTimeOffsetInSeconds?: number;
142
- muscleMassInGrams?: number;
143
- boneMassInGrams?: number;
144
- bodyWaterInPercent?: number;
145
- bodyFatInPercent?: number;
146
- bodyMassIndex?: number;
147
- weightInGrams?: number;
148
- }
149
- export interface GarminMenstrualCycleData {
150
- userId: string;
151
- userAccessToken: string;
152
- summaryId?: string;
153
- calendarDate: string;
154
- startTimeInSeconds?: number;
155
- startTimeOffsetInSeconds?: number;
156
- dayInCycle?: number;
157
- currentPhase?: string;
158
- lengthOfCurrentPhase?: number;
159
- periodLength?: number;
160
- predictedCycleLength?: number;
161
- isPredictedCycle?: boolean;
162
- }
163
- export interface GarminUserProfile {
164
- userId: string;
165
- displayName?: string;
166
- weight?: number;
167
- height?: number;
168
- birthDate?: string;
169
- gender?: string;
170
- }
171
- export type GarminActivityType = "RUNNING" | "INDOOR_RUNNING" | "TRAIL_RUNNING" | "TREADMILL_RUNNING" | "CYCLING" | "INDOOR_CYCLING" | "MOUNTAIN_BIKING" | "GRAVEL_CYCLING" | "VIRTUAL_RIDE" | "WALKING" | "HIKING" | "SWIMMING" | "OPEN_WATER_SWIMMING" | "LAP_SWIMMING" | "POOL_SWIMMING" | "STRENGTH_TRAINING" | "YOGA" | "PILATES" | "CARDIO" | "ELLIPTICAL" | "STAIR_CLIMBING" | "ROWING" | "INDOOR_ROWING" | "CROSS_COUNTRY_SKIING" | "ALPINE_SKIING" | "SNOWBOARDING" | "SNOWSHOEING" | "SKATING" | "INLINE_SKATING" | "GOLF" | "TENNIS" | "TABLE_TENNIS" | "BADMINTON" | "RACQUETBALL" | "SQUASH" | "PADDLEBOARDING" | "KAYAKING" | "CANOEING" | "SAILING" | "SURFING" | "KITESURFING" | "WINDSURFING" | "ROCK_CLIMBING" | "BOULDERING" | "SOCCER" | "BASKETBALL" | "VOLLEYBALL" | "CRICKET" | "RUGBY" | "BOXING" | "MARTIAL_ARTS" | "CROSSFIT" | "HIIT" | "BREATHWORK" | "FLOOR_CLIMBING" | "HANDCYCLING" | "WHEELCHAIR_PUSH_WALKING" | "WHEELCHAIR_PUSH_RUNNING" | "OTHER" | "MULTI_SPORT" | "FITNESS_EQUIPMENT" | (string & {});
44
+ timeOffsetSpo2Values?: Record<string, number>;
45
+ };
46
+ export type GarminActivityExtended = GarminActivity & {
47
+ laps?: GarminLap[];
48
+ samples?: GarminSample[];
49
+ bmrKilocalories?: number;
50
+ averagePowerInWatts?: number;
51
+ maxPowerInWatts?: number;
52
+ normalizedPowerInWatts?: number;
53
+ poolLengthInMeters?: number;
54
+ elevationGainInMeters?: number;
55
+ elevationLossInMeters?: number;
56
+ };
57
+ export type GarminDailySummary = GarminDailyExtended;
58
+ export type GarminMenstrualCycleData = GarminMenstrualCycle;
59
+ export type GarminSleepLevel = GarminTimeRange;
60
+ export type GarminActivityLap = GarminLap;
61
+ export type GarminActivitySample = GarminSample;
172
62
  export interface GarminOAuth2TokenResponse {
173
63
  access_token: string;
174
64
  refresh_token: string;
@@ -249,36 +139,37 @@ export interface GarminWorkoutSchedule {
249
139
  workoutId: number;
250
140
  date: string;
251
141
  }
252
- export interface GarminWebhookPayload {
253
- activities?: Array<{
254
- userId: string;
255
- summaryId: string;
256
- callbackURL: string;
257
- }>;
258
- activityDetails?: Array<{
259
- userId: string;
260
- summaryId: string;
261
- callbackURL: string;
262
- }>;
263
- dailies?: Array<{
264
- userId: string;
265
- summaryId: string;
266
- callbackURL: string;
267
- }>;
268
- sleeps?: Array<{
269
- userId: string;
270
- summaryId: string;
271
- callbackURL: string;
272
- }>;
273
- bodyComps?: Array<{
274
- userId: string;
275
- summaryId: string;
276
- callbackURL: string;
277
- }>;
278
- stressDetails?: Array<{
279
- userId: string;
280
- summaryId: string;
281
- callbackURL: string;
282
- }>;
283
- }
142
+ export type GarminWebhookActivityPayload = (GarminActivity & {
143
+ userAccessToken?: string;
144
+ })[];
145
+ export type GarminWebhookDailyPayload = (GarminDailyExtended & {
146
+ userAccessToken?: string;
147
+ })[];
148
+ export type GarminWebhookSleepPayload = (GarminSleepExtended & {
149
+ userAccessToken?: string;
150
+ })[];
151
+ export type GarminWebhookBodyPayload = (GarminBodyComposition & {
152
+ userAccessToken?: string;
153
+ })[];
154
+ export type GarminWebhookBloodPressurePayload = (GarminBloodPressure & {
155
+ userAccessToken?: string;
156
+ })[];
157
+ export type GarminWebhookSkinTempPayload = (GarminSkinTemperature & {
158
+ userAccessToken?: string;
159
+ })[];
160
+ export type GarminWebhookUserMetricsPayload = (GarminUserMetrics & {
161
+ userAccessToken?: string;
162
+ })[];
163
+ export type GarminWebhookHRVPayload = (GarminHRVSummary & {
164
+ userAccessToken?: string;
165
+ })[];
166
+ export type GarminWebhookStressDetailPayload = (GarminStressDetail & {
167
+ userAccessToken?: string;
168
+ })[];
169
+ export type GarminWebhookPulseOxPayload = (GarminPulseOx & {
170
+ userAccessToken?: string;
171
+ })[];
172
+ export type GarminWebhookRespirationPayload = (GarminRespiration & {
173
+ userAccessToken?: string;
174
+ })[];
284
175
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/garmin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/garmin/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  // ─── Garmin Health API Response Types ────────────────────────────────────────
2
- // TypeScript interfaces representing Garmin Health API data shapes.
3
- // Derived from the Garmin Connect Developer Program documentation.
2
+ // TypeScript types representing Garmin Health API data shapes.
3
+ //
4
+ // Wellness API types are derived from the OpenAPI spec (wellness-api.d.ts).
5
+ // Training API types are manually defined from the Garmin Connect docs.
4
6
  //
5
7
  // These types define the CONTRACT for data coming from the Garmin API.
6
8
  // They are used by transformers, the API client, and OAuth helpers.
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/garmin/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oEAAoE;AACpE,mEAAmE;AACnE,EAAE;AACF,uEAAuE;AACvE,oEAAoE"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/garmin/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,+DAA+D;AAC/D,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,EAAE;AACF,uEAAuE;AACvE,oEAAoE"}
@@ -0,0 +1,23 @@
1
+ import type { GarminUserMetrics } from "./types.js";
2
+ export type UserMetricsData = ReturnType<typeof transformUserMetrics>;
3
+ /**
4
+ * Transform Garmin user metrics into a Soma Body document shape.
5
+ *
6
+ * Maps VO2 Max and fitness age into oxygen_data and scores fields.
7
+ *
8
+ * @param metrics - The Garmin user metrics from the Health API
9
+ * @returns Soma Body fields (without connectionId/userId)
10
+ */
11
+ export declare function transformUserMetrics(metrics: GarminUserMetrics): {
12
+ metadata: {
13
+ start_time: string;
14
+ end_time: string;
15
+ };
16
+ oxygen_data: {
17
+ vo2max_ml_per_min_per_kg: number | undefined;
18
+ } | undefined;
19
+ scores: {
20
+ biological_age: number | undefined;
21
+ } | undefined;
22
+ };
23
+ //# sourceMappingURL=userMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userMetrics.d.ts","sourceRoot":"","sources":["../../src/garmin/userMetrics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB;;;;;;;;;;;EAkC9D"}
@@ -0,0 +1,41 @@
1
+ // ─── User Metrics Transformer ────────────────────────────────────────────────
2
+ // Transforms Garmin user metrics into the Soma Body schema shape.
3
+ /**
4
+ * Transform Garmin user metrics into a Soma Body document shape.
5
+ *
6
+ * Maps VO2 Max and fitness age into oxygen_data and scores fields.
7
+ *
8
+ * @param metrics - The Garmin user metrics from the Health API
9
+ * @returns Soma Body fields (without connectionId/userId)
10
+ */
11
+ export function transformUserMetrics(metrics) {
12
+ const dateStr = metrics.calendarDate;
13
+ const startTime = dateStr
14
+ ? `${dateStr}T00:00:00.000Z`
15
+ : new Date(0).toISOString();
16
+ const endTime = dateStr
17
+ ? `${dateStr}T23:59:59.999Z`
18
+ : new Date(0).toISOString();
19
+ const hasVo2 = metrics.vo2Max != null || metrics.vo2MaxCycling != null;
20
+ const hasFitnessAge = metrics.fitnessAge != null;
21
+ if (!hasVo2 && !hasFitnessAge) {
22
+ return {
23
+ metadata: { start_time: startTime, end_time: endTime },
24
+ oxygen_data: undefined,
25
+ scores: undefined,
26
+ };
27
+ }
28
+ return {
29
+ metadata: {
30
+ start_time: startTime,
31
+ end_time: endTime,
32
+ },
33
+ oxygen_data: hasVo2
34
+ ? { vo2max_ml_per_min_per_kg: metrics.vo2Max ?? metrics.vo2MaxCycling }
35
+ : undefined,
36
+ scores: hasFitnessAge
37
+ ? { biological_age: metrics.fitnessAge }
38
+ : undefined,
39
+ };
40
+ }
41
+ //# sourceMappingURL=userMetrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userMetrics.js","sourceRoot":"","sources":["../../src/garmin/userMetrics.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kEAAkE;AAMlE;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA0B;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IACrC,MAAM,SAAS,GAAG,OAAO;QACvB,CAAC,CAAC,GAAG,OAAO,gBAAgB;QAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,GAAG,OAAO,gBAAgB;QAC5B,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAEjD,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE;YACtD,WAAW,EAAE,SAAS;YACtB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,OAAO;SAClB;QAED,WAAW,EAAE,MAAM;YACjB,CAAC,CAAC,EAAE,wBAAwB,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE;YACvE,CAAC,CAAC,SAAS;QAEb,MAAM,EAAE,aAAa;YACnB,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,UAAU,EAAE;YACxC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}