@nativesquare/soma 0.7.3 → 0.9.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.
- package/dist/client/index.d.ts +17 -55
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +63 -13
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +80 -4
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/api.js.map +1 -1
- package/dist/component/_generated/component.d.ts +153 -120
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/garmin/private.d.ts +475 -0
- package/dist/component/garmin/private.d.ts.map +1 -0
- package/dist/component/garmin/private.js +1614 -0
- package/dist/component/garmin/private.js.map +1 -0
- package/dist/component/{garmin.d.ts → garmin/public.d.ts} +25 -52
- package/dist/component/garmin/public.d.ts.map +1 -0
- package/dist/component/{garmin.js → garmin/public.js} +301 -215
- package/dist/component/garmin/public.js.map +1 -0
- package/dist/component/garmin/schemas/activity.d.ts +94 -0
- package/dist/component/garmin/schemas/activity.d.ts.map +1 -0
- package/dist/component/garmin/schemas/activity.js +27 -0
- package/dist/component/garmin/schemas/activity.js.map +1 -0
- package/dist/component/garmin/schemas/activityDetails.d.ts +146 -0
- package/dist/component/garmin/schemas/activityDetails.d.ts.map +1 -0
- package/dist/component/garmin/schemas/activityDetails.js +27 -0
- package/dist/component/garmin/schemas/activityDetails.js.map +1 -0
- package/dist/component/garmin/schemas/bloodPressure.d.ts +38 -0
- package/dist/component/garmin/schemas/bloodPressure.d.ts.map +1 -0
- package/dist/component/garmin/schemas/bloodPressure.js +27 -0
- package/dist/component/garmin/schemas/bloodPressure.js.map +1 -0
- package/dist/component/garmin/schemas/bodyCompositions.d.ts +42 -0
- package/dist/component/garmin/schemas/bodyCompositions.d.ts.map +1 -0
- package/dist/component/garmin/schemas/bodyCompositions.js +27 -0
- package/dist/component/garmin/schemas/bodyCompositions.js.map +1 -0
- package/dist/component/garmin/schemas/dailies.d.ts +98 -0
- package/dist/component/garmin/schemas/dailies.d.ts.map +1 -0
- package/dist/component/garmin/schemas/dailies.js +27 -0
- package/dist/component/garmin/schemas/dailies.js.map +1 -0
- package/dist/component/garmin/schemas/epochs.d.ts +54 -0
- package/dist/component/garmin/schemas/epochs.d.ts.map +1 -0
- package/dist/component/garmin/schemas/epochs.js +27 -0
- package/dist/component/garmin/schemas/epochs.js.map +1 -0
- package/dist/component/garmin/schemas/healthSnapshot.d.ts +48 -0
- package/dist/component/garmin/schemas/healthSnapshot.d.ts.map +1 -0
- package/dist/component/garmin/schemas/healthSnapshot.js +27 -0
- package/dist/component/garmin/schemas/healthSnapshot.js.map +1 -0
- package/dist/component/garmin/schemas/hrvSummary.d.ts +40 -0
- package/dist/component/garmin/schemas/hrvSummary.d.ts.map +1 -0
- package/dist/component/garmin/schemas/hrvSummary.js +27 -0
- package/dist/component/garmin/schemas/hrvSummary.js.map +1 -0
- package/dist/component/garmin/schemas/manuallyUpdatedActivities.d.ts +94 -0
- package/dist/component/garmin/schemas/manuallyUpdatedActivities.d.ts.map +1 -0
- package/dist/component/garmin/schemas/manuallyUpdatedActivities.js +27 -0
- package/dist/component/garmin/schemas/manuallyUpdatedActivities.js.map +1 -0
- package/dist/component/garmin/schemas/menstrualCycleTracking.d.ts +100 -0
- package/dist/component/garmin/schemas/menstrualCycleTracking.d.ts.map +1 -0
- package/dist/component/garmin/schemas/menstrualCycleTracking.js +28 -0
- package/dist/component/garmin/schemas/menstrualCycleTracking.js.map +1 -0
- package/dist/component/garmin/schemas/moveIQ.d.ts +40 -0
- package/dist/component/garmin/schemas/moveIQ.d.ts.map +1 -0
- package/dist/component/garmin/schemas/moveIQ.js +27 -0
- package/dist/component/garmin/schemas/moveIQ.js.map +1 -0
- package/dist/component/garmin/schemas/pulseOx.d.ts +38 -0
- package/dist/component/garmin/schemas/pulseOx.d.ts.map +1 -0
- package/dist/component/garmin/schemas/pulseOx.js +28 -0
- package/dist/component/garmin/schemas/pulseOx.js.map +1 -0
- package/dist/component/garmin/schemas/respiration.d.ts +34 -0
- package/dist/component/garmin/schemas/respiration.d.ts.map +1 -0
- package/dist/component/garmin/schemas/respiration.js +28 -0
- package/dist/component/garmin/schemas/respiration.js.map +1 -0
- package/dist/component/garmin/schemas/skinTemperature.d.ts +36 -0
- package/dist/component/garmin/schemas/skinTemperature.d.ts.map +1 -0
- package/dist/component/garmin/schemas/skinTemperature.js +28 -0
- package/dist/component/garmin/schemas/skinTemperature.js.map +1 -0
- package/dist/component/garmin/schemas/sleeps.d.ts +88 -0
- package/dist/component/garmin/schemas/sleeps.d.ts.map +1 -0
- package/dist/component/garmin/schemas/sleeps.js +27 -0
- package/dist/component/garmin/schemas/sleeps.js.map +1 -0
- package/dist/component/garmin/schemas/stress.d.ts +70 -0
- package/dist/component/garmin/schemas/stress.d.ts.map +1 -0
- package/dist/component/garmin/schemas/stress.js +28 -0
- package/dist/component/garmin/schemas/stress.js.map +1 -0
- package/dist/component/garmin/schemas/userMetrics.d.ts +36 -0
- package/dist/component/garmin/schemas/userMetrics.d.ts.map +1 -0
- package/dist/component/garmin/schemas/userMetrics.js +28 -0
- package/dist/component/garmin/schemas/userMetrics.js.map +1 -0
- package/dist/component/garmin/transform/activity.d.ts +13 -0
- package/dist/component/garmin/transform/activity.d.ts.map +1 -0
- package/dist/component/garmin/transform/activity.js +111 -0
- package/dist/component/garmin/transform/activity.js.map +1 -0
- package/dist/component/garmin/transform/activityDetails.d.ts +13 -0
- package/dist/component/garmin/transform/activityDetails.d.ts.map +1 -0
- package/dist/component/garmin/transform/activityDetails.js +173 -0
- package/dist/component/garmin/transform/activityDetails.js.map +1 -0
- package/dist/component/garmin/transform/bloodPressure.d.ts +12 -0
- package/dist/component/garmin/transform/bloodPressure.d.ts.map +1 -0
- package/dist/component/garmin/transform/bloodPressure.js +33 -0
- package/dist/component/garmin/transform/bloodPressure.js.map +1 -0
- package/dist/component/garmin/transform/bodyCompositions.d.ts +12 -0
- package/dist/component/garmin/transform/bodyCompositions.d.ts.map +1 -0
- package/dist/component/garmin/transform/bodyCompositions.js +42 -0
- package/dist/component/garmin/transform/bodyCompositions.js.map +1 -0
- package/dist/component/garmin/transform/dailies.d.ts +12 -0
- package/dist/component/garmin/transform/dailies.d.ts.map +1 -0
- package/dist/component/garmin/transform/dailies.js +132 -0
- package/dist/component/garmin/transform/dailies.js.map +1 -0
- package/dist/component/garmin/transform/epochs.d.ts +13 -0
- package/dist/component/garmin/transform/epochs.d.ts.map +1 -0
- package/dist/component/garmin/transform/epochs.js +76 -0
- package/dist/component/garmin/transform/epochs.js.map +1 -0
- package/dist/component/garmin/transform/healthSnapshot.d.ts +12 -0
- package/dist/component/garmin/transform/healthSnapshot.d.ts.map +1 -0
- package/dist/component/garmin/transform/healthSnapshot.js +111 -0
- package/dist/component/garmin/transform/healthSnapshot.js.map +1 -0
- package/dist/component/garmin/transform/hrvSummary.d.ts +12 -0
- package/dist/component/garmin/transform/hrvSummary.d.ts.map +1 -0
- package/dist/component/garmin/transform/hrvSummary.js +45 -0
- package/dist/component/garmin/transform/hrvSummary.js.map +1 -0
- package/dist/component/garmin/transform/manuallyUpdatedActivities.d.ts +11 -0
- package/dist/component/garmin/transform/manuallyUpdatedActivities.d.ts.map +1 -0
- package/dist/component/garmin/transform/manuallyUpdatedActivities.js +20 -0
- package/dist/component/garmin/transform/manuallyUpdatedActivities.js.map +1 -0
- package/dist/component/garmin/transform/menstrualCycleTracking.d.ts +10 -0
- package/dist/component/garmin/transform/menstrualCycleTracking.d.ts.map +1 -0
- package/dist/component/garmin/transform/menstrualCycleTracking.js +43 -0
- package/dist/component/garmin/transform/menstrualCycleTracking.js.map +1 -0
- package/dist/component/garmin/transform/moveIQ.d.ts +17 -0
- package/dist/component/garmin/transform/moveIQ.d.ts.map +1 -0
- package/dist/component/garmin/transform/moveIQ.js +41 -0
- package/dist/component/garmin/transform/moveIQ.js.map +1 -0
- package/dist/component/garmin/transform/pulseOx.d.ts +12 -0
- package/dist/component/garmin/transform/pulseOx.d.ts.map +1 -0
- package/dist/component/garmin/transform/pulseOx.js +46 -0
- package/dist/component/garmin/transform/pulseOx.js.map +1 -0
- package/dist/component/garmin/transform/respiration.d.ts +12 -0
- package/dist/component/garmin/transform/respiration.d.ts.map +1 -0
- package/dist/component/garmin/transform/respiration.js +54 -0
- package/dist/component/garmin/transform/respiration.js.map +1 -0
- package/dist/component/garmin/transform/skinTemperature.d.ts +12 -0
- package/dist/component/garmin/transform/skinTemperature.d.ts.map +1 -0
- package/dist/component/garmin/transform/skinTemperature.js +38 -0
- package/dist/component/garmin/transform/skinTemperature.js.map +1 -0
- package/dist/component/garmin/transform/sleeps.d.ts +55 -0
- package/dist/component/garmin/transform/sleeps.d.ts.map +1 -0
- package/dist/component/garmin/transform/sleeps.js +120 -0
- package/dist/component/garmin/transform/sleeps.js.map +1 -0
- package/dist/component/garmin/transform/stress.d.ts +12 -0
- package/dist/component/garmin/transform/stress.d.ts.map +1 -0
- package/dist/component/garmin/transform/stress.js +56 -0
- package/dist/component/garmin/transform/stress.js.map +1 -0
- package/dist/component/garmin/transform/userMetrics.d.ts +12 -0
- package/dist/component/garmin/transform/userMetrics.d.ts.map +1 -0
- package/dist/component/garmin/transform/userMetrics.js +48 -0
- package/dist/component/garmin/transform/userMetrics.js.map +1 -0
- package/dist/component/garmin/types/garmin.d.ts +21 -0
- package/dist/component/garmin/types/garmin.d.ts.map +1 -0
- package/dist/component/garmin/types/garmin.js +6 -0
- package/dist/component/garmin/types/garmin.js.map +1 -0
- package/dist/component/garmin/types/zod/zod.gen.d.ts +1319 -0
- package/dist/component/garmin/types/zod/zod.gen.d.ts.map +1 -0
- package/dist/component/garmin/types/zod/zod.gen.js +784 -0
- package/dist/component/garmin/types/zod/zod.gen.js.map +1 -0
- package/dist/component/garmin/webhooks.d.ts +141 -0
- package/dist/component/garmin/webhooks.d.ts.map +1 -0
- package/dist/component/garmin/webhooks.js +766 -0
- package/dist/component/garmin/webhooks.js.map +1 -0
- package/dist/component/private.d.ts +20 -2
- package/dist/component/private.d.ts.map +1 -1
- package/dist/component/private.js +18 -0
- package/dist/component/private.js.map +1 -1
- package/dist/component/public.d.ts +433 -387
- package/dist/component/public.d.ts.map +1 -1
- package/dist/component/public.js +12 -2
- package/dist/component/public.js.map +1 -1
- package/dist/component/schema.d.ts +217 -162
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +2 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/strava/private.d.ts +30 -0
- package/dist/component/strava/private.d.ts.map +1 -0
- package/dist/component/strava/private.js +71 -0
- package/dist/component/strava/private.js.map +1 -0
- package/dist/component/{strava.d.ts → strava/public.d.ts} +3 -31
- package/dist/component/strava/public.d.ts.map +1 -0
- package/dist/component/{strava.js → strava/public.js} +22 -101
- package/dist/component/strava/public.js.map +1 -0
- package/dist/component/validators/activity.d.ts +6 -0
- package/dist/component/validators/activity.d.ts.map +1 -1
- package/dist/component/validators/activity.js.map +1 -1
- package/dist/component/validators/body.d.ts +20 -14
- package/dist/component/validators/body.d.ts.map +1 -1
- package/dist/component/validators/body.js.map +1 -1
- package/dist/component/validators/connection.d.ts +1 -0
- package/dist/component/validators/connection.d.ts.map +1 -1
- package/dist/component/validators/connection.js +2 -0
- package/dist/component/validators/connection.js.map +1 -1
- package/dist/component/validators/daily.d.ts +46 -5
- package/dist/component/validators/daily.d.ts.map +1 -1
- package/dist/component/validators/daily.js +10 -1
- package/dist/component/validators/daily.js.map +1 -1
- package/dist/component/validators/enums.d.ts +2 -2
- package/dist/component/validators/menstruation.d.ts +5 -0
- package/dist/component/validators/menstruation.d.ts.map +1 -1
- package/dist/component/validators/menstruation.js.map +1 -1
- package/dist/component/validators/plannedWorkout.d.ts +5 -1
- package/dist/component/validators/plannedWorkout.d.ts.map +1 -1
- package/dist/component/validators/plannedWorkout.js +4 -0
- package/dist/component/validators/plannedWorkout.js.map +1 -1
- package/dist/component/validators/sleep.d.ts +8 -8
- package/dist/garmin/bloodPressure.d.ts +28 -0
- package/dist/garmin/bloodPressure.d.ts.map +1 -0
- package/dist/garmin/bloodPressure.js +34 -0
- package/dist/garmin/bloodPressure.js.map +1 -0
- package/dist/garmin/body.js +1 -1
- package/dist/garmin/body.js.map +1 -1
- package/dist/garmin/client.d.ts +117 -17
- package/dist/garmin/client.d.ts.map +1 -1
- package/dist/garmin/client.js +337 -43
- package/dist/garmin/client.js.map +1 -1
- package/dist/garmin/daily.d.ts.map +1 -1
- package/dist/garmin/daily.js +3 -3
- package/dist/garmin/daily.js.map +1 -1
- package/dist/garmin/hrv.d.ts +30 -0
- package/dist/garmin/hrv.d.ts.map +1 -0
- package/dist/garmin/hrv.js +45 -0
- package/dist/garmin/hrv.js.map +1 -0
- package/dist/garmin/index.d.ts +16 -4
- package/dist/garmin/index.d.ts.map +1 -1
- package/dist/garmin/index.js +8 -2
- package/dist/garmin/index.js.map +1 -1
- package/dist/garmin/maps/activity-type.d.ts +1 -2
- package/dist/garmin/maps/activity-type.d.ts.map +1 -1
- package/dist/garmin/maps/activity-type.js +1 -0
- package/dist/garmin/maps/activity-type.js.map +1 -1
- package/dist/garmin/menstruation.d.ts +6 -4
- package/dist/garmin/menstruation.d.ts.map +1 -1
- package/dist/garmin/menstruation.js +12 -8
- package/dist/garmin/menstruation.js.map +1 -1
- package/dist/garmin/pulseOx.d.ts +24 -0
- package/dist/garmin/pulseOx.d.ts.map +1 -0
- package/dist/garmin/pulseOx.js +33 -0
- package/dist/garmin/pulseOx.js.map +1 -0
- package/dist/garmin/respiration.d.ts +29 -0
- package/dist/garmin/respiration.d.ts.map +1 -0
- package/dist/garmin/respiration.js +42 -0
- package/dist/garmin/respiration.js.map +1 -0
- package/dist/garmin/skinTemp.d.ts +27 -0
- package/dist/garmin/skinTemp.d.ts.map +1 -0
- package/dist/garmin/skinTemp.js +35 -0
- package/dist/garmin/skinTemp.js.map +1 -0
- package/dist/garmin/sleep.d.ts +4 -4
- package/dist/garmin/sleep.d.ts.map +1 -1
- package/dist/garmin/sleep.js +15 -9
- package/dist/garmin/sleep.js.map +1 -1
- package/dist/garmin/stressDetails.d.ts +30 -0
- package/dist/garmin/stressDetails.d.ts.map +1 -0
- package/dist/garmin/stressDetails.js +49 -0
- package/dist/garmin/stressDetails.js.map +1 -0
- package/dist/garmin/sync.d.ts +14 -0
- package/dist/garmin/sync.d.ts.map +1 -1
- package/dist/garmin/sync.js +290 -7
- package/dist/garmin/sync.js.map +1 -1
- package/dist/garmin/types.d.ts +77 -186
- package/dist/garmin/types.d.ts.map +1 -1
- package/dist/garmin/types.js +4 -2
- package/dist/garmin/types.js.map +1 -1
- package/dist/garmin/userMetrics.d.ts +23 -0
- package/dist/garmin/userMetrics.d.ts.map +1 -0
- package/dist/garmin/userMetrics.js +41 -0
- package/dist/garmin/userMetrics.js.map +1 -0
- package/dist/validators.d.ts +138 -56
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +2 -2
- package/dist/validators.js.map +1 -1
- package/package.json +130 -124
- package/src/client/index.ts +86 -18
- package/src/component/_generated/api.ts +96 -4
- package/src/component/_generated/component.ts +271 -144
- package/src/{garmin → component/garmin}/auth.ts +8 -1
- package/src/component/garmin/client.ts +39 -0
- package/src/component/garmin/private.ts +1798 -0
- package/src/component/garmin/public.ts +938 -0
- package/src/component/garmin/schemas/activity.ts +40 -0
- package/src/component/garmin/schemas/activityDetails.ts +45 -0
- package/src/component/garmin/schemas/bloodPressure.ts +38 -0
- package/src/component/garmin/schemas/bodyCompositions.ts +38 -0
- package/src/component/garmin/schemas/dailies.ts +38 -0
- package/src/component/garmin/schemas/epochs.ts +38 -0
- package/src/component/garmin/schemas/healthSnapshot.ts +38 -0
- package/src/component/garmin/schemas/hrvSummary.ts +38 -0
- package/src/component/garmin/schemas/manuallyUpdatedActivities.ts +49 -0
- package/src/component/garmin/schemas/menstrualCycleTracking.ts +39 -0
- package/src/component/garmin/schemas/moveIQ.ts +38 -0
- package/src/component/garmin/schemas/pulseOx.ts +39 -0
- package/src/component/garmin/schemas/respiration.ts +39 -0
- package/src/component/garmin/schemas/skinTemperature.ts +39 -0
- package/src/component/garmin/schemas/sleeps.ts +38 -0
- package/src/component/garmin/schemas/stress.ts +43 -0
- package/src/component/garmin/schemas/userMetrics.ts +39 -0
- package/src/component/garmin/transform/activity.ts +143 -0
- package/src/component/garmin/transform/activityDetails.ts +236 -0
- package/src/component/garmin/transform/bloodPressure.ts +39 -0
- package/src/component/garmin/transform/bodyCompositions.ts +51 -0
- package/src/component/garmin/transform/dailies.ts +179 -0
- package/src/component/garmin/transform/epochs.ts +94 -0
- package/src/component/garmin/transform/healthSnapshot.ts +152 -0
- package/src/component/garmin/transform/hrvSummary.ts +56 -0
- package/src/component/garmin/transform/manuallyUpdatedActivities.ts +27 -0
- package/src/{garmin/maps/activity-type.ts → component/garmin/transform/maps/activityType.ts} +116 -116
- package/src/{garmin/maps/sleep-level.ts → component/garmin/transform/maps/sleepLevel.ts} +22 -22
- package/src/component/garmin/transform/menstrualCycleTracking.ts +48 -0
- package/src/component/garmin/transform/moveIQ.ts +48 -0
- package/src/{garmin → component/garmin/transform}/plannedWorkout.ts +328 -333
- package/src/component/garmin/transform/pulseOx.ts +64 -0
- package/src/component/garmin/transform/respiration.ts +73 -0
- package/src/component/garmin/transform/skinTemperature.ts +44 -0
- package/src/component/garmin/transform/sleeps.ts +159 -0
- package/src/component/garmin/transform/stress.ts +78 -0
- package/src/component/garmin/transform/userMetrics.ts +56 -0
- package/src/component/garmin/types/specs/training-api-workouts.json +699 -0
- package/src/component/garmin/types/specs/wellness-api.json +1 -0
- package/src/component/garmin/types/trainingApiWorkouts/client/client.gen.ts +290 -0
- package/src/component/garmin/types/trainingApiWorkouts/client/index.ts +25 -0
- package/src/component/garmin/types/trainingApiWorkouts/client/types.gen.ts +214 -0
- package/src/component/garmin/types/trainingApiWorkouts/client/utils.gen.ts +316 -0
- package/src/component/garmin/types/trainingApiWorkouts/client.gen.ts +16 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/auth.gen.ts +41 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.ts +82 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/params.gen.ts +169 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.ts +171 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.ts +117 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.ts +243 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/types.gen.ts +104 -0
- package/src/component/garmin/types/trainingApiWorkouts/core/utils.gen.ts +140 -0
- package/src/component/garmin/types/trainingApiWorkouts/index.ts +4 -0
- package/src/component/garmin/types/trainingApiWorkouts/sdk.gen.ts +126 -0
- package/src/component/garmin/types/trainingApiWorkouts/types.gen.ts +387 -0
- package/src/component/garmin/types/trainingApiWorkouts/zod.gen.ts +423 -0
- package/src/component/garmin/types/wellnessApi/client/client.gen.ts +290 -0
- package/src/component/garmin/types/wellnessApi/client/index.ts +25 -0
- package/src/component/garmin/types/wellnessApi/client/types.gen.ts +214 -0
- package/src/component/garmin/types/wellnessApi/client/utils.gen.ts +316 -0
- package/src/component/garmin/types/wellnessApi/client.gen.ts +16 -0
- package/src/component/garmin/types/wellnessApi/core/auth.gen.ts +41 -0
- package/src/component/garmin/types/wellnessApi/core/bodySerializer.gen.ts +82 -0
- package/src/component/garmin/types/wellnessApi/core/params.gen.ts +169 -0
- package/src/component/garmin/types/wellnessApi/core/pathSerializer.gen.ts +171 -0
- package/src/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.ts +117 -0
- package/src/component/garmin/types/wellnessApi/core/serverSentEvents.gen.ts +243 -0
- package/src/component/garmin/types/wellnessApi/core/types.gen.ts +104 -0
- package/src/component/garmin/types/wellnessApi/core/utils.gen.ts +140 -0
- package/src/component/garmin/types/wellnessApi/index.ts +4 -0
- package/src/component/garmin/types/wellnessApi/sdk.gen.ts +207 -0
- package/src/component/garmin/types/wellnessApi/types.gen.ts +2942 -0
- package/src/component/garmin/types/wellnessApi/zod.gen.ts +878 -0
- package/src/component/garmin/utils.ts +25 -0
- package/src/component/garmin/webhooks.ts +852 -0
- package/src/component/private.ts +21 -0
- package/src/component/public.ts +11 -2
- package/src/component/schema.ts +2 -1
- package/src/component/strava/private.ts +89 -0
- package/src/component/{strava.ts → strava/public.ts} +341 -404
- package/src/component/validators/activity.ts +5 -0
- package/src/component/validators/body.ts +5 -0
- package/src/component/validators/connection.ts +2 -0
- package/src/component/validators/daily.ts +20 -0
- package/src/component/validators/menstruation.ts +5 -1
- package/src/component/validators/plannedWorkout.ts +9 -0
- package/src/validators.ts +12 -2
- package/dist/component/garmin.d.ts.map +0 -1
- package/dist/component/garmin.js.map +0 -1
- package/dist/component/strava.d.ts.map +0 -1
- package/dist/component/strava.js.map +0 -1
- package/dist/garmin/activity.d.ts +0 -101
- package/dist/garmin/activity.d.ts.map +0 -1
- package/dist/garmin/activity.js +0 -207
- package/dist/garmin/activity.js.map +0 -1
- package/src/component/garmin.ts +0 -850
- package/src/garmin/activity.test.ts +0 -178
- package/src/garmin/activity.ts +0 -272
- package/src/garmin/auth.test.ts +0 -103
- package/src/garmin/body.ts +0 -59
- package/src/garmin/client.ts +0 -407
- package/src/garmin/daily.ts +0 -211
- package/src/garmin/index.ts +0 -75
- package/src/garmin/maps/activity-type.test.ts +0 -78
- package/src/garmin/menstruation.ts +0 -42
- package/src/garmin/sleep.test.ts +0 -110
- package/src/garmin/sleep.ts +0 -170
- package/src/garmin/sync.ts +0 -223
- package/src/garmin/types.ts +0 -480
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moveIQ.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/moveIQ.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kEAAkE;AAClE,EAAE;AACF,uFAAuF;AACvF,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,+EAA+E;AAC/E,wEAAwE;AAExE,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAC,MAAM,CAAC;IACzE,gEAAgE;IAChE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACtD,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACtD,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const garminPulseOxPushItemSchema: z.ZodObject<{
|
|
3
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
5
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
6
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
7
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
8
|
+
timeOffsetSpo2Values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
9
|
+
onDemand: z.ZodOptional<z.ZodBoolean>;
|
|
10
|
+
userId: z.ZodString;
|
|
11
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export declare const garminPulseOxPushPayloadSchema: z.ZodObject<{
|
|
14
|
+
pulseox: z.ZodArray<z.ZodObject<{
|
|
15
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
16
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
17
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
18
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
19
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
20
|
+
timeOffsetSpo2Values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
21
|
+
onDemand: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
userId: z.ZodString;
|
|
23
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export declare const garminPulseOxPingItemSchema: z.ZodObject<{
|
|
27
|
+
userId: z.ZodString;
|
|
28
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export declare const garminPulseOxPingPayloadSchema: z.ZodObject<{
|
|
31
|
+
pulseox: z.ZodArray<z.ZodObject<{
|
|
32
|
+
userId: z.ZodString;
|
|
33
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
export type GarminPulseOxPushItem = z.infer<typeof garminPulseOxPushItemSchema>;
|
|
37
|
+
export type GarminPulseOxPingItem = z.infer<typeof garminPulseOxPingItemSchema>;
|
|
38
|
+
//# sourceMappingURL=pulseOx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pulseOx.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/pulseOx.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,2BAA2B;;;;;;;;;;iBAItC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;iBAEzC,CAAC;AAKH,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;iBAEzC,CAAC;AAIH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ─── Pulse Ox Webhook Zod Schemas ────────────────────────────────────────────
|
|
2
|
+
// Runtime validation schemas for Garmin Pulse Ox webhook payloads.
|
|
3
|
+
//
|
|
4
|
+
// The base schema (zClientDailySpo2Acclimation) is auto-generated from the
|
|
5
|
+
// OpenAPI spec. We extend it here with webhook-specific fields (userId,
|
|
6
|
+
// userAccessToken).
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { zClientDailySpo2Acclimation } from "../types/zod/zod.gen.js";
|
|
9
|
+
// ─── Push Mode ──────────────────────────────────────────────────────────────
|
|
10
|
+
// Push payloads contain full pulse ox data plus webhook envelope fields.
|
|
11
|
+
export const garminPulseOxPushItemSchema = zClientDailySpo2Acclimation.extend({
|
|
12
|
+
// Webhook envelope fields
|
|
13
|
+
userId: z.string(),
|
|
14
|
+
userAccessToken: z.string().optional(),
|
|
15
|
+
});
|
|
16
|
+
export const garminPulseOxPushPayloadSchema = z.object({
|
|
17
|
+
pulseox: z.array(garminPulseOxPushItemSchema),
|
|
18
|
+
});
|
|
19
|
+
// ─── Ping Mode ──────────────────────────────────────────────────────────────
|
|
20
|
+
// Ping payloads are lightweight notifications — not in any OpenAPI spec.
|
|
21
|
+
export const garminPulseOxPingItemSchema = z.object({
|
|
22
|
+
userId: z.string(),
|
|
23
|
+
callbackURL: z.string().optional(), // absent for deregistration notifications
|
|
24
|
+
});
|
|
25
|
+
export const garminPulseOxPingPayloadSchema = z.object({
|
|
26
|
+
pulseox: z.array(garminPulseOxPingItemSchema),
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=pulseOx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pulseOx.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/pulseOx.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mEAAmE;AACnE,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,oBAAoB;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,MAAM,CAAC;IAC5E,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC;CAC9C,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC;CAC9C,CAAC,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const garminRespirationPushItemSchema: z.ZodObject<{
|
|
3
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
5
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
6
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
7
|
+
timeOffsetEpochToBreaths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
8
|
+
userId: z.ZodString;
|
|
9
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export declare const garminRespirationPushPayloadSchema: z.ZodObject<{
|
|
12
|
+
allDayRespiration: z.ZodArray<z.ZodObject<{
|
|
13
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
14
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
15
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
16
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
17
|
+
timeOffsetEpochToBreaths: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
18
|
+
userId: z.ZodString;
|
|
19
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$strip>>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export declare const garminRespirationPingItemSchema: z.ZodObject<{
|
|
23
|
+
userId: z.ZodString;
|
|
24
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export declare const garminRespirationPingPayloadSchema: z.ZodObject<{
|
|
27
|
+
allDayRespiration: z.ZodArray<z.ZodObject<{
|
|
28
|
+
userId: z.ZodString;
|
|
29
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.core.$strip>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export type GarminRespirationPushItem = z.infer<typeof garminRespirationPushItemSchema>;
|
|
33
|
+
export type GarminRespirationPingItem = z.infer<typeof garminRespirationPingItemSchema>;
|
|
34
|
+
//# sourceMappingURL=respiration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"respiration.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/respiration.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,+BAA+B;;;;;;;;iBAI1C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;iBAE7C,CAAC;AAKH,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;iBAE7C,CAAC;AAIH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ─── Respiration Webhook Zod Schemas ─────────────────────────────────────────
|
|
2
|
+
// Runtime validation schemas for Garmin Respiration webhook payloads.
|
|
3
|
+
//
|
|
4
|
+
// The base schema (zClientRespiration) is auto-generated from the
|
|
5
|
+
// OpenAPI spec. We extend it here with webhook-specific fields (userId,
|
|
6
|
+
// userAccessToken).
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { zClientRespiration } from "../types/zod/zod.gen.js";
|
|
9
|
+
// ─── Push Mode ──────────────────────────────────────────────────────────────
|
|
10
|
+
// Push payloads contain full respiration data plus webhook envelope fields.
|
|
11
|
+
export const garminRespirationPushItemSchema = zClientRespiration.extend({
|
|
12
|
+
// Webhook envelope fields
|
|
13
|
+
userId: z.string(),
|
|
14
|
+
userAccessToken: z.string().optional(),
|
|
15
|
+
});
|
|
16
|
+
export const garminRespirationPushPayloadSchema = z.object({
|
|
17
|
+
allDayRespiration: z.array(garminRespirationPushItemSchema),
|
|
18
|
+
});
|
|
19
|
+
// ─── Ping Mode ──────────────────────────────────────────────────────────────
|
|
20
|
+
// Ping payloads are lightweight notifications — not in any OpenAPI spec.
|
|
21
|
+
export const garminRespirationPingItemSchema = z.object({
|
|
22
|
+
userId: z.string(),
|
|
23
|
+
callbackURL: z.string().optional(), // absent for deregistration notifications
|
|
24
|
+
});
|
|
25
|
+
export const garminRespirationPingPayloadSchema = z.object({
|
|
26
|
+
allDayRespiration: z.array(garminRespirationPingItemSchema),
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=respiration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"respiration.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/respiration.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,kEAAkE;AAClE,wEAAwE;AACxE,oBAAoB;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,+EAA+E;AAC/E,4EAA4E;AAE5E,MAAM,CAAC,MAAM,+BAA+B,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACvE,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;CAC5D,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;CAC5D,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const garminSkinTemperaturePushItemSchema: z.ZodObject<{
|
|
3
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
5
|
+
avgDeviationCelsius: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
7
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
8
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
9
|
+
userId: z.ZodString;
|
|
10
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export declare const garminSkinTemperaturePushPayloadSchema: z.ZodObject<{
|
|
13
|
+
skinTemp: z.ZodArray<z.ZodObject<{
|
|
14
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
15
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
16
|
+
avgDeviationCelsius: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
18
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
19
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
20
|
+
userId: z.ZodString;
|
|
21
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const garminSkinTemperaturePingItemSchema: z.ZodObject<{
|
|
25
|
+
userId: z.ZodString;
|
|
26
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const garminSkinTemperaturePingPayloadSchema: z.ZodObject<{
|
|
29
|
+
skinTemp: z.ZodArray<z.ZodObject<{
|
|
30
|
+
userId: z.ZodString;
|
|
31
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export type GarminSkinTemperaturePushItem = z.infer<typeof garminSkinTemperaturePushItemSchema>;
|
|
35
|
+
export type GarminSkinTemperaturePingItem = z.infer<typeof garminSkinTemperaturePingItemSchema>;
|
|
36
|
+
//# sourceMappingURL=skinTemperature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skinTemperature.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/skinTemperature.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,mCAAmC;;;;;;;;;iBAI9C,CAAC;AAEH,eAAO,MAAM,sCAAsC;;;;;;;;;;;iBAEjD,CAAC;AAKH,eAAO,MAAM,mCAAmC;;;iBAG9C,CAAC;AAEH,eAAO,MAAM,sCAAsC;;;;;iBAEjD,CAAC;AAIH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAChG,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ─── Skin Temperature Webhook Zod Schemas ────────────────────────────────────
|
|
2
|
+
// Runtime validation schemas for Garmin Skin Temperature webhook payloads.
|
|
3
|
+
//
|
|
4
|
+
// The base schema (zClientSkinTemp) is auto-generated from the
|
|
5
|
+
// OpenAPI spec. We extend it here with webhook-specific fields (userId,
|
|
6
|
+
// userAccessToken).
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { zClientSkinTemp } from "../types/zod/zod.gen.js";
|
|
9
|
+
// ─── Push Mode ──────────────────────────────────────────────────────────────
|
|
10
|
+
// Push payloads contain full skin temperature data plus webhook envelope fields.
|
|
11
|
+
export const garminSkinTemperaturePushItemSchema = zClientSkinTemp.extend({
|
|
12
|
+
// Webhook envelope fields
|
|
13
|
+
userId: z.string(),
|
|
14
|
+
userAccessToken: z.string().optional(),
|
|
15
|
+
});
|
|
16
|
+
export const garminSkinTemperaturePushPayloadSchema = z.object({
|
|
17
|
+
skinTemp: z.array(garminSkinTemperaturePushItemSchema),
|
|
18
|
+
});
|
|
19
|
+
// ─── Ping Mode ──────────────────────────────────────────────────────────────
|
|
20
|
+
// Ping payloads are lightweight notifications — not in any OpenAPI spec.
|
|
21
|
+
export const garminSkinTemperaturePingItemSchema = z.object({
|
|
22
|
+
userId: z.string(),
|
|
23
|
+
callbackURL: z.string().optional(), // absent for deregistration notifications
|
|
24
|
+
});
|
|
25
|
+
export const garminSkinTemperaturePingPayloadSchema = z.object({
|
|
26
|
+
skinTemp: z.array(garminSkinTemperaturePingItemSchema),
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=skinTemperature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skinTemperature.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/skinTemperature.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,2EAA2E;AAC3E,EAAE;AACF,+DAA+D;AAC/D,wEAAwE;AACxE,oBAAoB;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,+EAA+E;AAC/E,iFAAiF;AAEjF,MAAM,CAAC,MAAM,mCAAmC,GAAG,eAAe,CAAC,MAAM,CAAC;IACxE,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC;CACvD,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC;CACvD,CAAC,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const garminSleepsPushItemSchema: z.ZodObject<{
|
|
3
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
5
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
6
|
+
totalNapDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
7
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
8
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
9
|
+
unmeasurableSleepInSeconds: z.ZodOptional<z.ZodInt>;
|
|
10
|
+
deepSleepDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
11
|
+
lightSleepDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
12
|
+
remSleepInSeconds: z.ZodOptional<z.ZodInt>;
|
|
13
|
+
awakeDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
14
|
+
sleepLevelsMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
|
|
15
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
16
|
+
endTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
17
|
+
}, z.core.$strip>>>>;
|
|
18
|
+
validation: z.ZodOptional<z.ZodString>;
|
|
19
|
+
timeOffsetSleepSpo2: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
20
|
+
timeOffsetSleepRespiration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
21
|
+
overallSleepScore: z.ZodOptional<z.ZodObject<{
|
|
22
|
+
value: z.ZodOptional<z.ZodInt>;
|
|
23
|
+
qualifierKey: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>>;
|
|
25
|
+
sleepScores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
26
|
+
value: z.ZodOptional<z.ZodInt>;
|
|
27
|
+
qualifierKey: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, z.core.$strip>>>;
|
|
29
|
+
naps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
30
|
+
napStartTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
31
|
+
napOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
32
|
+
napDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
33
|
+
napValidation: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, z.core.$strip>>>;
|
|
35
|
+
userId: z.ZodString;
|
|
36
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export declare const garminSleepsPushPayloadSchema: z.ZodObject<{
|
|
39
|
+
sleeps: z.ZodArray<z.ZodObject<{
|
|
40
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
41
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
42
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
43
|
+
totalNapDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
44
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
45
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
46
|
+
unmeasurableSleepInSeconds: z.ZodOptional<z.ZodInt>;
|
|
47
|
+
deepSleepDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
48
|
+
lightSleepDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
49
|
+
remSleepInSeconds: z.ZodOptional<z.ZodInt>;
|
|
50
|
+
awakeDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
51
|
+
sleepLevelsMap: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
|
|
52
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
53
|
+
endTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
54
|
+
}, z.core.$strip>>>>;
|
|
55
|
+
validation: z.ZodOptional<z.ZodString>;
|
|
56
|
+
timeOffsetSleepSpo2: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
57
|
+
timeOffsetSleepRespiration: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
58
|
+
overallSleepScore: z.ZodOptional<z.ZodObject<{
|
|
59
|
+
value: z.ZodOptional<z.ZodInt>;
|
|
60
|
+
qualifierKey: z.ZodOptional<z.ZodString>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
sleepScores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
63
|
+
value: z.ZodOptional<z.ZodInt>;
|
|
64
|
+
qualifierKey: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$strip>>>;
|
|
66
|
+
naps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
67
|
+
napStartTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
68
|
+
napOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
69
|
+
napDurationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
70
|
+
napValidation: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strip>>>;
|
|
72
|
+
userId: z.ZodString;
|
|
73
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
74
|
+
}, z.core.$strip>>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
export declare const garminSleepsPingItemSchema: z.ZodObject<{
|
|
77
|
+
userId: z.ZodString;
|
|
78
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, z.core.$strip>;
|
|
80
|
+
export declare const garminSleepsPingPayloadSchema: z.ZodObject<{
|
|
81
|
+
sleeps: z.ZodArray<z.ZodObject<{
|
|
82
|
+
userId: z.ZodString;
|
|
83
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
84
|
+
}, z.core.$strip>>;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
export type GarminSleepsPushItem = z.infer<typeof garminSleepsPushItemSchema>;
|
|
87
|
+
export type GarminSleepsPingItem = z.infer<typeof garminSleepsPingItemSchema>;
|
|
88
|
+
//# sourceMappingURL=sleeps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleeps.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/sleeps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAExC,CAAC;AAKH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;iBAExC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// ─── Sleeps Webhook Zod Schemas ──────────────────────────────────────────────
|
|
2
|
+
// Runtime validation schemas for Garmin Sleep Summary webhook payloads.
|
|
3
|
+
//
|
|
4
|
+
// The base schema (zClientSleep) is auto-generated from the OpenAPI spec.
|
|
5
|
+
// We extend it here with webhook-specific fields (userId, userAccessToken)
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { zClientSleep } from "../types/zod/zod.gen.js";
|
|
8
|
+
// ─── Push Mode ──────────────────────────────────────────────────────────────
|
|
9
|
+
// Push payloads contain full sleep summary data plus webhook envelope fields.
|
|
10
|
+
export const garminSleepsPushItemSchema = zClientSleep.extend({
|
|
11
|
+
// Webhook envelope fields
|
|
12
|
+
userId: z.string(),
|
|
13
|
+
userAccessToken: z.string().optional(),
|
|
14
|
+
});
|
|
15
|
+
export const garminSleepsPushPayloadSchema = z.object({
|
|
16
|
+
sleeps: z.array(garminSleepsPushItemSchema),
|
|
17
|
+
});
|
|
18
|
+
// ─── Ping Mode ──────────────────────────────────────────────────────────────
|
|
19
|
+
// Ping payloads are lightweight notifications — not in any OpenAPI spec.
|
|
20
|
+
export const garminSleepsPingItemSchema = z.object({
|
|
21
|
+
userId: z.string(),
|
|
22
|
+
callbackURL: z.string().optional(), // absent for deregistration notifications
|
|
23
|
+
});
|
|
24
|
+
export const garminSleepsPingPayloadSchema = z.object({
|
|
25
|
+
sleeps: z.array(garminSleepsPingItemSchema),
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=sleeps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleeps.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/sleeps.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wEAAwE;AACxE,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAE3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,+EAA+E;AAC/E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,MAAM,CAAC;IAC5D,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CAC5C,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CAC5C,CAAC,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const garminStressPushItemSchema: z.ZodObject<{
|
|
3
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
5
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
6
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
7
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
8
|
+
maxStressLevel: z.ZodOptional<z.ZodInt>;
|
|
9
|
+
averageStressLevel: z.ZodOptional<z.ZodInt>;
|
|
10
|
+
timeOffsetStressLevelValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
11
|
+
timeOffsetBodyBatteryValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
12
|
+
bodyBatteryDynamicFeedbackEvent: z.ZodOptional<z.ZodObject<{
|
|
13
|
+
eventStartTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
14
|
+
bodyBatteryLevel: z.ZodOptional<z.ZodString>;
|
|
15
|
+
}, z.core.$strip>>;
|
|
16
|
+
bodyBatteryActivityEvents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
17
|
+
eventType: z.ZodOptional<z.ZodString>;
|
|
18
|
+
eventStartTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
19
|
+
eventStartTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
20
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
21
|
+
bodyBatteryImpact: z.ZodOptional<z.ZodInt>;
|
|
22
|
+
activityName: z.ZodOptional<z.ZodString>;
|
|
23
|
+
activityType: z.ZodOptional<z.ZodString>;
|
|
24
|
+
activityId: z.ZodOptional<z.ZodCoercedBigInt<unknown>>;
|
|
25
|
+
}, z.core.$strip>>>;
|
|
26
|
+
userId: z.ZodString;
|
|
27
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
export declare const garminStressPushPayloadSchema: z.ZodObject<{
|
|
30
|
+
stressDetails: z.ZodArray<z.ZodObject<{
|
|
31
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
startTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
33
|
+
startTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
34
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
35
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
36
|
+
maxStressLevel: z.ZodOptional<z.ZodInt>;
|
|
37
|
+
averageStressLevel: z.ZodOptional<z.ZodInt>;
|
|
38
|
+
timeOffsetStressLevelValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
39
|
+
timeOffsetBodyBatteryValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodInt>>;
|
|
40
|
+
bodyBatteryDynamicFeedbackEvent: z.ZodOptional<z.ZodObject<{
|
|
41
|
+
eventStartTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
42
|
+
bodyBatteryLevel: z.ZodOptional<z.ZodString>;
|
|
43
|
+
}, z.core.$strip>>;
|
|
44
|
+
bodyBatteryActivityEvents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
45
|
+
eventType: z.ZodOptional<z.ZodString>;
|
|
46
|
+
eventStartTimeInSeconds: z.ZodOptional<z.ZodInt>;
|
|
47
|
+
eventStartTimeOffsetInSeconds: z.ZodOptional<z.ZodInt>;
|
|
48
|
+
durationInSeconds: z.ZodOptional<z.ZodInt>;
|
|
49
|
+
bodyBatteryImpact: z.ZodOptional<z.ZodInt>;
|
|
50
|
+
activityName: z.ZodOptional<z.ZodString>;
|
|
51
|
+
activityType: z.ZodOptional<z.ZodString>;
|
|
52
|
+
activityId: z.ZodOptional<z.ZodCoercedBigInt<unknown>>;
|
|
53
|
+
}, z.core.$strip>>>;
|
|
54
|
+
userId: z.ZodString;
|
|
55
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}, z.core.$strip>>;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
export declare const garminStressPingItemSchema: z.ZodObject<{
|
|
59
|
+
userId: z.ZodString;
|
|
60
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
61
|
+
}, z.core.$strip>;
|
|
62
|
+
export declare const garminStressPingPayloadSchema: z.ZodObject<{
|
|
63
|
+
stressDetails: z.ZodArray<z.ZodObject<{
|
|
64
|
+
userId: z.ZodString;
|
|
65
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
66
|
+
}, z.core.$strip>>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
export type GarminStressPushItem = z.infer<typeof garminStressPushItemSchema>;
|
|
69
|
+
export type GarminStressPingItem = z.infer<typeof garminStressPingItemSchema>;
|
|
70
|
+
//# sourceMappingURL=stress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stress.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/stress.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAExC,CAAC;AAKH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;iBAExC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ─── Stress Details Webhook Zod Schemas ───────────────────────────────────────
|
|
2
|
+
// Runtime validation schemas for Garmin Stress Details webhook payloads.
|
|
3
|
+
//
|
|
4
|
+
// The base schema (zClientStress) is auto-generated from the
|
|
5
|
+
// OpenAPI spec. We extend it here with webhook-specific fields (userId,
|
|
6
|
+
// userAccessToken).
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { zClientStress } from "../types/zod/zod.gen.js";
|
|
9
|
+
// ─── Push Mode ──────────────────────────────────────────────────────────────
|
|
10
|
+
// Push payloads contain full stress details data plus webhook envelope fields.
|
|
11
|
+
export const garminStressPushItemSchema = zClientStress.extend({
|
|
12
|
+
// Webhook envelope fields
|
|
13
|
+
userId: z.string(),
|
|
14
|
+
userAccessToken: z.string().optional(),
|
|
15
|
+
});
|
|
16
|
+
export const garminStressPushPayloadSchema = z.object({
|
|
17
|
+
stressDetails: z.array(garminStressPushItemSchema),
|
|
18
|
+
});
|
|
19
|
+
// ─── Ping Mode ──────────────────────────────────────────────────────────────
|
|
20
|
+
// Ping payloads are lightweight notifications — not in any OpenAPI spec.
|
|
21
|
+
export const garminStressPingItemSchema = z.object({
|
|
22
|
+
userId: z.string(),
|
|
23
|
+
callbackURL: z.string().optional(), // absent for deregistration notifications
|
|
24
|
+
});
|
|
25
|
+
export const garminStressPingPayloadSchema = z.object({
|
|
26
|
+
stressDetails: z.array(garminStressPingItemSchema),
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=stress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stress.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/stress.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,yEAAyE;AACzE,EAAE;AACF,6DAA6D;AAC7D,wEAAwE;AACxE,oBAAoB;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,+EAA+E;AAC/E,+EAA+E;AAE/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC,MAAM,CAAC;IAC7D,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACnD,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;CACnD,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const garminUserMetricsPushItemSchema: z.ZodObject<{
|
|
3
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
4
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
5
|
+
vo2Max: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
vo2MaxCycling: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
fitnessAge: z.ZodOptional<z.ZodInt>;
|
|
8
|
+
enhanced: z.ZodOptional<z.ZodBoolean>;
|
|
9
|
+
userId: z.ZodString;
|
|
10
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export declare const garminUserMetricsPushPayloadSchema: z.ZodObject<{
|
|
13
|
+
userMetrics: z.ZodArray<z.ZodObject<{
|
|
14
|
+
summaryId: z.ZodOptional<z.ZodString>;
|
|
15
|
+
calendarDate: z.ZodOptional<z.ZodString>;
|
|
16
|
+
vo2Max: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
vo2MaxCycling: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
fitnessAge: z.ZodOptional<z.ZodInt>;
|
|
19
|
+
enhanced: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
+
userId: z.ZodString;
|
|
21
|
+
userAccessToken: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const garminUserMetricsPingItemSchema: z.ZodObject<{
|
|
25
|
+
userId: z.ZodString;
|
|
26
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export declare const garminUserMetricsPingPayloadSchema: z.ZodObject<{
|
|
29
|
+
userMetrics: z.ZodArray<z.ZodObject<{
|
|
30
|
+
userId: z.ZodString;
|
|
31
|
+
callbackURL: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export type GarminUserMetricsPushItem = z.infer<typeof garminUserMetricsPushItemSchema>;
|
|
35
|
+
export type GarminUserMetricsPingItem = z.infer<typeof garminUserMetricsPingItemSchema>;
|
|
36
|
+
//# sourceMappingURL=userMetrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userMetrics.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/userMetrics.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,+BAA+B;;;;;;;;;iBAI1C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;iBAE7C,CAAC;AAKH,eAAO,MAAM,+BAA+B;;;iBAG1C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;iBAE7C,CAAC;AAIH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// ─── User Metrics Webhook Zod Schemas ─────────────────────────────────────────
|
|
2
|
+
// Runtime validation schemas for Garmin User Metrics webhook payloads.
|
|
3
|
+
//
|
|
4
|
+
// The base schema (zClientUserMetrics) is auto-generated from the
|
|
5
|
+
// OpenAPI spec. We extend it here with webhook-specific fields (userId,
|
|
6
|
+
// userAccessToken).
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
import { zClientUserMetrics } from "../types/zod/zod.gen.js";
|
|
9
|
+
// ─── Push Mode ──────────────────────────────────────────────────────────────
|
|
10
|
+
// Push payloads contain full user metrics data plus webhook envelope fields.
|
|
11
|
+
export const garminUserMetricsPushItemSchema = zClientUserMetrics.extend({
|
|
12
|
+
// Webhook envelope fields
|
|
13
|
+
userId: z.string(),
|
|
14
|
+
userAccessToken: z.string().optional(),
|
|
15
|
+
});
|
|
16
|
+
export const garminUserMetricsPushPayloadSchema = z.object({
|
|
17
|
+
userMetrics: z.array(garminUserMetricsPushItemSchema),
|
|
18
|
+
});
|
|
19
|
+
// ─── Ping Mode ──────────────────────────────────────────────────────────────
|
|
20
|
+
// Ping payloads are lightweight notifications — not in any OpenAPI spec.
|
|
21
|
+
export const garminUserMetricsPingItemSchema = z.object({
|
|
22
|
+
userId: z.string(),
|
|
23
|
+
callbackURL: z.string().optional(), // absent for deregistration notifications
|
|
24
|
+
});
|
|
25
|
+
export const garminUserMetricsPingPayloadSchema = z.object({
|
|
26
|
+
userMetrics: z.array(garminUserMetricsPingItemSchema),
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=userMetrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userMetrics.js","sourceRoot":"","sources":["../../../../src/component/garmin/schemas/userMetrics.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,uEAAuE;AACvE,EAAE;AACF,kEAAkE;AAClE,wEAAwE;AACxE,oBAAoB;AAEpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,+EAA+E;AAC/E,6EAA6E;AAE7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACvE,0BAA0B;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;CACtD,CAAC,CAAC;AAEH,+EAA+E;AAC/E,yEAAyE;AAEzE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,0CAA0C;CAC/E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC;CACtD,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SomaActivity } from "../../validators/activity.js";
|
|
2
|
+
import type { GarminActivity } from "../types/garmin.js";
|
|
3
|
+
/**
|
|
4
|
+
* Transform a Garmin activity push item into a Soma Activity document shape.
|
|
5
|
+
*
|
|
6
|
+
* Accepts activity summaries from webhook push payloads. These contain
|
|
7
|
+
* summary-level fields only (no laps, samples, or power data).
|
|
8
|
+
*
|
|
9
|
+
* The returned object is ready to be spread into an `ingestActivity` call
|
|
10
|
+
* alongside `connectionId` and `userId`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function transformActivity(activity: GarminActivity): SomaActivity;
|
|
13
|
+
//# sourceMappingURL=activity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../../src/component/garmin/transform/activity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY,CAkCxE"}
|