@nativesquare/soma 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/dist/client/index.d.ts +7 -128
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +31 -112
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/component/_generated/api.d.ts +98 -4
  6. package/dist/component/_generated/api.d.ts.map +1 -1
  7. package/dist/component/_generated/api.js.map +1 -1
  8. package/dist/component/_generated/component.d.ts +136 -261
  9. package/dist/component/_generated/component.d.ts.map +1 -1
  10. package/dist/{garmin → component/garmin}/auth.d.ts +8 -1
  11. package/dist/component/garmin/auth.d.ts.map +1 -0
  12. package/dist/component/garmin/auth.js.map +1 -0
  13. package/dist/component/garmin/client.d.ts +15 -0
  14. package/dist/component/garmin/client.d.ts.map +1 -0
  15. package/dist/component/garmin/client.js +32 -0
  16. package/dist/component/garmin/client.js.map +1 -0
  17. package/dist/component/garmin/private.d.ts +543 -0
  18. package/dist/component/garmin/private.d.ts.map +1 -0
  19. package/dist/component/garmin/private.js +1461 -0
  20. package/dist/component/garmin/private.js.map +1 -0
  21. package/dist/component/garmin/public.d.ts +149 -0
  22. package/dist/component/garmin/public.d.ts.map +1 -0
  23. package/dist/component/garmin/public.js +823 -0
  24. package/dist/component/garmin/public.js.map +1 -0
  25. package/dist/component/garmin/schemas/activity.d.ts +94 -0
  26. package/dist/component/garmin/schemas/activity.d.ts.map +1 -0
  27. package/dist/component/garmin/schemas/activity.js +29 -0
  28. package/dist/component/garmin/schemas/activity.js.map +1 -0
  29. package/dist/component/garmin/schemas/activityDetails.d.ts +146 -0
  30. package/dist/component/garmin/schemas/activityDetails.d.ts.map +1 -0
  31. package/dist/component/garmin/schemas/activityDetails.js +30 -0
  32. package/dist/component/garmin/schemas/activityDetails.js.map +1 -0
  33. package/dist/component/garmin/schemas/bloodPressure.d.ts +38 -0
  34. package/dist/component/garmin/schemas/bloodPressure.d.ts.map +1 -0
  35. package/dist/component/garmin/schemas/bloodPressure.js +27 -0
  36. package/dist/component/garmin/schemas/bloodPressure.js.map +1 -0
  37. package/dist/component/garmin/schemas/bodyCompositions.d.ts +42 -0
  38. package/dist/component/garmin/schemas/bodyCompositions.d.ts.map +1 -0
  39. package/dist/component/garmin/schemas/bodyCompositions.js +27 -0
  40. package/dist/component/garmin/schemas/bodyCompositions.js.map +1 -0
  41. package/dist/component/garmin/schemas/dailies.d.ts +98 -0
  42. package/dist/component/garmin/schemas/dailies.d.ts.map +1 -0
  43. package/dist/component/garmin/schemas/dailies.js +27 -0
  44. package/dist/component/garmin/schemas/dailies.js.map +1 -0
  45. package/dist/component/garmin/schemas/epochs.d.ts +54 -0
  46. package/dist/component/garmin/schemas/epochs.d.ts.map +1 -0
  47. package/dist/component/garmin/schemas/epochs.js +27 -0
  48. package/dist/component/garmin/schemas/epochs.js.map +1 -0
  49. package/dist/component/garmin/schemas/healthSnapshot.d.ts +48 -0
  50. package/dist/component/garmin/schemas/healthSnapshot.d.ts.map +1 -0
  51. package/dist/component/garmin/schemas/healthSnapshot.js +27 -0
  52. package/dist/component/garmin/schemas/healthSnapshot.js.map +1 -0
  53. package/dist/component/garmin/schemas/hrvSummary.d.ts +40 -0
  54. package/dist/component/garmin/schemas/hrvSummary.d.ts.map +1 -0
  55. package/dist/component/garmin/schemas/hrvSummary.js +27 -0
  56. package/dist/component/garmin/schemas/hrvSummary.js.map +1 -0
  57. package/dist/component/garmin/schemas/manuallyUpdatedActivities.d.ts +94 -0
  58. package/dist/component/garmin/schemas/manuallyUpdatedActivities.d.ts.map +1 -0
  59. package/dist/component/garmin/schemas/manuallyUpdatedActivities.js +29 -0
  60. package/dist/component/garmin/schemas/manuallyUpdatedActivities.js.map +1 -0
  61. package/dist/component/garmin/schemas/menstrualCycleTracking.d.ts +100 -0
  62. package/dist/component/garmin/schemas/menstrualCycleTracking.d.ts.map +1 -0
  63. package/dist/component/garmin/schemas/menstrualCycleTracking.js +28 -0
  64. package/dist/component/garmin/schemas/menstrualCycleTracking.js.map +1 -0
  65. package/dist/component/garmin/schemas/moveIQ.d.ts +40 -0
  66. package/dist/component/garmin/schemas/moveIQ.d.ts.map +1 -0
  67. package/dist/component/garmin/schemas/moveIQ.js +27 -0
  68. package/dist/component/garmin/schemas/moveIQ.js.map +1 -0
  69. package/dist/component/garmin/schemas/pulseOx.d.ts +38 -0
  70. package/dist/component/garmin/schemas/pulseOx.d.ts.map +1 -0
  71. package/dist/component/garmin/schemas/pulseOx.js +28 -0
  72. package/dist/component/garmin/schemas/pulseOx.js.map +1 -0
  73. package/dist/component/garmin/schemas/respiration.d.ts +34 -0
  74. package/dist/component/garmin/schemas/respiration.d.ts.map +1 -0
  75. package/dist/component/garmin/schemas/respiration.js +28 -0
  76. package/dist/component/garmin/schemas/respiration.js.map +1 -0
  77. package/dist/component/garmin/schemas/skinTemperature.d.ts +36 -0
  78. package/dist/component/garmin/schemas/skinTemperature.d.ts.map +1 -0
  79. package/dist/component/garmin/schemas/skinTemperature.js +28 -0
  80. package/dist/component/garmin/schemas/skinTemperature.js.map +1 -0
  81. package/dist/component/garmin/schemas/sleeps.d.ts +88 -0
  82. package/dist/component/garmin/schemas/sleeps.d.ts.map +1 -0
  83. package/dist/component/garmin/schemas/sleeps.js +27 -0
  84. package/dist/component/garmin/schemas/sleeps.js.map +1 -0
  85. package/dist/component/garmin/schemas/stress.d.ts +70 -0
  86. package/dist/component/garmin/schemas/stress.d.ts.map +1 -0
  87. package/dist/component/garmin/schemas/stress.js +30 -0
  88. package/dist/component/garmin/schemas/stress.js.map +1 -0
  89. package/dist/component/garmin/schemas/userMetrics.d.ts +36 -0
  90. package/dist/component/garmin/schemas/userMetrics.d.ts.map +1 -0
  91. package/dist/component/garmin/schemas/userMetrics.js +28 -0
  92. package/dist/component/garmin/schemas/userMetrics.js.map +1 -0
  93. package/dist/component/garmin/transform/activity.d.ts +13 -0
  94. package/dist/component/garmin/transform/activity.d.ts.map +1 -0
  95. package/dist/component/garmin/transform/activity.js +111 -0
  96. package/dist/component/garmin/transform/activity.js.map +1 -0
  97. package/dist/component/garmin/transform/activityDetails.d.ts +13 -0
  98. package/dist/component/garmin/transform/activityDetails.d.ts.map +1 -0
  99. package/dist/component/garmin/transform/activityDetails.js +173 -0
  100. package/dist/component/garmin/transform/activityDetails.js.map +1 -0
  101. package/dist/component/garmin/transform/bloodPressure.d.ts +12 -0
  102. package/dist/component/garmin/transform/bloodPressure.d.ts.map +1 -0
  103. package/dist/{garmin → component/garmin/transform}/bloodPressure.js +7 -8
  104. package/dist/component/garmin/transform/bloodPressure.js.map +1 -0
  105. package/dist/component/garmin/transform/bodyCompositions.d.ts +12 -0
  106. package/dist/component/garmin/transform/bodyCompositions.d.ts.map +1 -0
  107. package/dist/component/garmin/transform/bodyCompositions.js +42 -0
  108. package/dist/component/garmin/transform/bodyCompositions.js.map +1 -0
  109. package/dist/component/garmin/transform/dailies.d.ts +12 -0
  110. package/dist/component/garmin/transform/dailies.d.ts.map +1 -0
  111. package/dist/{garmin/daily.js → component/garmin/transform/dailies.js} +38 -49
  112. package/dist/component/garmin/transform/dailies.js.map +1 -0
  113. package/dist/component/garmin/transform/epochs.d.ts +13 -0
  114. package/dist/component/garmin/transform/epochs.d.ts.map +1 -0
  115. package/dist/component/garmin/transform/epochs.js +76 -0
  116. package/dist/component/garmin/transform/epochs.js.map +1 -0
  117. package/dist/component/garmin/transform/healthSnapshot.d.ts +12 -0
  118. package/dist/component/garmin/transform/healthSnapshot.d.ts.map +1 -0
  119. package/dist/component/garmin/transform/healthSnapshot.js +111 -0
  120. package/dist/component/garmin/transform/healthSnapshot.js.map +1 -0
  121. package/dist/component/garmin/transform/hrvSummary.d.ts +12 -0
  122. package/dist/component/garmin/transform/hrvSummary.d.ts.map +1 -0
  123. package/dist/{garmin/hrv.js → component/garmin/transform/hrvSummary.js} +16 -16
  124. package/dist/component/garmin/transform/hrvSummary.js.map +1 -0
  125. package/dist/component/garmin/transform/manuallyUpdatedActivities.d.ts +11 -0
  126. package/dist/component/garmin/transform/manuallyUpdatedActivities.d.ts.map +1 -0
  127. package/dist/component/garmin/transform/manuallyUpdatedActivities.js +20 -0
  128. package/dist/component/garmin/transform/manuallyUpdatedActivities.js.map +1 -0
  129. package/dist/{garmin/maps/activity-type.d.ts → component/garmin/transform/maps/activityType.d.ts} +1 -1
  130. package/dist/component/garmin/transform/maps/activityType.d.ts.map +1 -0
  131. package/dist/{garmin/maps/activity-type.js → component/garmin/transform/maps/activityType.js} +1 -1
  132. package/dist/component/garmin/transform/maps/activityType.js.map +1 -0
  133. package/dist/{garmin/maps/sleep-level.d.ts → component/garmin/transform/maps/sleepLevel.d.ts} +1 -1
  134. package/dist/component/garmin/transform/maps/sleepLevel.d.ts.map +1 -0
  135. package/dist/{garmin/maps/sleep-level.js → component/garmin/transform/maps/sleepLevel.js} +1 -1
  136. package/dist/component/garmin/transform/maps/sleepLevel.js.map +1 -0
  137. package/dist/component/garmin/transform/menstrualCycleTracking.d.ts +10 -0
  138. package/dist/component/garmin/transform/menstrualCycleTracking.d.ts.map +1 -0
  139. package/dist/{garmin/menstruation.js → component/garmin/transform/menstrualCycleTracking.js} +17 -12
  140. package/dist/component/garmin/transform/menstrualCycleTracking.js.map +1 -0
  141. package/dist/component/garmin/transform/moveIQ.d.ts +14 -0
  142. package/dist/component/garmin/transform/moveIQ.d.ts.map +1 -0
  143. package/dist/component/garmin/transform/moveIQ.js +41 -0
  144. package/dist/component/garmin/transform/moveIQ.js.map +1 -0
  145. package/dist/{garmin → component/garmin/transform}/plannedWorkout.d.ts +3 -4
  146. package/dist/component/garmin/transform/plannedWorkout.d.ts.map +1 -0
  147. package/dist/{garmin → component/garmin/transform}/plannedWorkout.js +61 -70
  148. package/dist/component/garmin/transform/plannedWorkout.js.map +1 -0
  149. package/dist/component/garmin/transform/pulseOx.d.ts +12 -0
  150. package/dist/component/garmin/transform/pulseOx.d.ts.map +1 -0
  151. package/dist/component/garmin/transform/pulseOx.js +46 -0
  152. package/dist/component/garmin/transform/pulseOx.js.map +1 -0
  153. package/dist/component/garmin/transform/respiration.d.ts +12 -0
  154. package/dist/component/garmin/transform/respiration.d.ts.map +1 -0
  155. package/dist/component/garmin/transform/respiration.js +54 -0
  156. package/dist/component/garmin/transform/respiration.js.map +1 -0
  157. package/dist/component/garmin/transform/skinTemperature.d.ts +12 -0
  158. package/dist/component/garmin/transform/skinTemperature.d.ts.map +1 -0
  159. package/dist/{garmin/skinTemp.js → component/garmin/transform/skinTemperature.js} +13 -10
  160. package/dist/component/garmin/transform/skinTemperature.js.map +1 -0
  161. package/dist/{garmin/sleep.d.ts → component/garmin/transform/sleeps.d.ts} +13 -20
  162. package/dist/component/garmin/transform/sleeps.d.ts.map +1 -0
  163. package/dist/{garmin/sleep.js → component/garmin/transform/sleeps.js} +39 -50
  164. package/dist/component/garmin/transform/sleeps.js.map +1 -0
  165. package/dist/component/garmin/transform/stress.d.ts +12 -0
  166. package/dist/component/garmin/transform/stress.d.ts.map +1 -0
  167. package/dist/component/garmin/transform/stress.js +56 -0
  168. package/dist/component/garmin/transform/stress.js.map +1 -0
  169. package/dist/component/garmin/transform/userMetrics.d.ts +12 -0
  170. package/dist/component/garmin/transform/userMetrics.d.ts.map +1 -0
  171. package/dist/{garmin → component/garmin/transform}/userMetrics.js +19 -12
  172. package/dist/component/garmin/transform/userMetrics.js.map +1 -0
  173. package/dist/component/garmin/types/trainingApiWorkouts/client/client.gen.d.ts +3 -0
  174. package/dist/component/garmin/types/trainingApiWorkouts/client/client.gen.d.ts.map +1 -0
  175. package/dist/component/garmin/types/trainingApiWorkouts/client/client.gen.js +236 -0
  176. package/dist/component/garmin/types/trainingApiWorkouts/client/client.gen.js.map +1 -0
  177. package/dist/component/garmin/types/trainingApiWorkouts/client/index.d.ts +9 -0
  178. package/dist/component/garmin/types/trainingApiWorkouts/client/index.d.ts.map +1 -0
  179. package/dist/component/garmin/types/trainingApiWorkouts/client/index.js +7 -0
  180. package/dist/component/garmin/types/trainingApiWorkouts/client/index.js.map +1 -0
  181. package/dist/component/garmin/types/trainingApiWorkouts/client/types.gen.d.ts +118 -0
  182. package/dist/component/garmin/types/trainingApiWorkouts/client/types.gen.d.ts.map +1 -0
  183. package/dist/component/garmin/types/trainingApiWorkouts/client/types.gen.js +3 -0
  184. package/dist/component/garmin/types/trainingApiWorkouts/client/types.gen.js.map +1 -0
  185. package/dist/component/garmin/types/trainingApiWorkouts/client/utils.gen.d.ts +34 -0
  186. package/dist/component/garmin/types/trainingApiWorkouts/client/utils.gen.d.ts.map +1 -0
  187. package/dist/component/garmin/types/trainingApiWorkouts/client/utils.gen.js +229 -0
  188. package/dist/component/garmin/types/trainingApiWorkouts/client/utils.gen.js.map +1 -0
  189. package/dist/component/garmin/types/trainingApiWorkouts/client.gen.d.ts +13 -0
  190. package/dist/component/garmin/types/trainingApiWorkouts/client.gen.d.ts.map +1 -0
  191. package/dist/component/garmin/types/trainingApiWorkouts/client.gen.js +4 -0
  192. package/dist/component/garmin/types/trainingApiWorkouts/client.gen.js.map +1 -0
  193. package/dist/component/garmin/types/trainingApiWorkouts/core/auth.gen.d.ts +19 -0
  194. package/dist/component/garmin/types/trainingApiWorkouts/core/auth.gen.d.ts.map +1 -0
  195. package/dist/component/garmin/types/trainingApiWorkouts/core/auth.gen.js +15 -0
  196. package/dist/component/garmin/types/trainingApiWorkouts/core/auth.gen.js.map +1 -0
  197. package/dist/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.d.ts +26 -0
  198. package/dist/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.d.ts.map +1 -0
  199. package/dist/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.js +58 -0
  200. package/dist/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.js.map +1 -0
  201. package/dist/component/garmin/types/trainingApiWorkouts/core/params.gen.d.ts +44 -0
  202. package/dist/component/garmin/types/trainingApiWorkouts/core/params.gen.d.ts.map +1 -0
  203. package/dist/component/garmin/types/trainingApiWorkouts/core/params.gen.js +101 -0
  204. package/dist/component/garmin/types/trainingApiWorkouts/core/params.gen.js.map +1 -0
  205. package/dist/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.d.ts +34 -0
  206. package/dist/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.d.ts.map +1 -0
  207. package/dist/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.js +107 -0
  208. package/dist/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.js.map +1 -0
  209. package/dist/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.d.ts +19 -0
  210. package/dist/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.d.ts.map +1 -0
  211. package/dist/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.js +93 -0
  212. package/dist/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.js.map +1 -0
  213. package/dist/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.d.ts +72 -0
  214. package/dist/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.d.ts.map +1 -0
  215. package/dist/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.js +134 -0
  216. package/dist/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.js.map +1 -0
  217. package/dist/component/garmin/types/trainingApiWorkouts/core/types.gen.d.ts +79 -0
  218. package/dist/component/garmin/types/trainingApiWorkouts/core/types.gen.d.ts.map +1 -0
  219. package/dist/component/garmin/types/trainingApiWorkouts/core/types.gen.js +3 -0
  220. package/dist/component/garmin/types/trainingApiWorkouts/core/types.gen.js.map +1 -0
  221. package/dist/component/garmin/types/trainingApiWorkouts/core/utils.gen.d.ts +20 -0
  222. package/dist/component/garmin/types/trainingApiWorkouts/core/utils.gen.d.ts.map +1 -0
  223. package/dist/component/garmin/types/trainingApiWorkouts/core/utils.gen.js +88 -0
  224. package/dist/component/garmin/types/trainingApiWorkouts/core/utils.gen.js.map +1 -0
  225. package/dist/component/garmin/types/trainingApiWorkouts/index.d.ts +3 -0
  226. package/dist/component/garmin/types/trainingApiWorkouts/index.d.ts.map +1 -0
  227. package/dist/component/garmin/types/trainingApiWorkouts/index.js +3 -0
  228. package/dist/component/garmin/types/trainingApiWorkouts/index.js.map +1 -0
  229. package/dist/component/garmin/types/trainingApiWorkouts/sdk.gen.d.ts +68 -0
  230. package/dist/component/garmin/types/trainingApiWorkouts/sdk.gen.d.ts.map +1 -0
  231. package/dist/component/garmin/types/trainingApiWorkouts/sdk.gen.js +97 -0
  232. package/dist/component/garmin/types/trainingApiWorkouts/sdk.gen.js.map +1 -0
  233. package/dist/component/garmin/types/trainingApiWorkouts/types.gen.d.ts +330 -0
  234. package/dist/component/garmin/types/trainingApiWorkouts/types.gen.d.ts.map +1 -0
  235. package/dist/component/garmin/types/trainingApiWorkouts/types.gen.js +3 -0
  236. package/dist/component/garmin/types/trainingApiWorkouts/types.gen.js.map +1 -0
  237. package/dist/component/garmin/types/trainingApiWorkouts/zod.gen.d.ts +2463 -0
  238. package/dist/component/garmin/types/trainingApiWorkouts/zod.gen.d.ts.map +1 -0
  239. package/dist/component/garmin/types/trainingApiWorkouts/zod.gen.js +388 -0
  240. package/dist/component/garmin/types/trainingApiWorkouts/zod.gen.js.map +1 -0
  241. package/dist/component/garmin/types/wellnessApi/client/client.gen.d.ts +3 -0
  242. package/dist/component/garmin/types/wellnessApi/client/client.gen.d.ts.map +1 -0
  243. package/dist/component/garmin/types/wellnessApi/client/client.gen.js +236 -0
  244. package/dist/component/garmin/types/wellnessApi/client/client.gen.js.map +1 -0
  245. package/dist/component/garmin/types/wellnessApi/client/index.d.ts +9 -0
  246. package/dist/component/garmin/types/wellnessApi/client/index.d.ts.map +1 -0
  247. package/dist/component/garmin/types/wellnessApi/client/index.js +7 -0
  248. package/dist/component/garmin/types/wellnessApi/client/index.js.map +1 -0
  249. package/dist/component/garmin/types/wellnessApi/client/types.gen.d.ts +118 -0
  250. package/dist/component/garmin/types/wellnessApi/client/types.gen.d.ts.map +1 -0
  251. package/dist/component/garmin/types/wellnessApi/client/types.gen.js +3 -0
  252. package/dist/component/garmin/types/wellnessApi/client/types.gen.js.map +1 -0
  253. package/dist/component/garmin/types/wellnessApi/client/utils.gen.d.ts +34 -0
  254. package/dist/component/garmin/types/wellnessApi/client/utils.gen.d.ts.map +1 -0
  255. package/dist/component/garmin/types/wellnessApi/client/utils.gen.js +229 -0
  256. package/dist/component/garmin/types/wellnessApi/client/utils.gen.js.map +1 -0
  257. package/dist/component/garmin/types/wellnessApi/client.gen.d.ts +13 -0
  258. package/dist/component/garmin/types/wellnessApi/client.gen.d.ts.map +1 -0
  259. package/dist/component/garmin/types/wellnessApi/client.gen.js +4 -0
  260. package/dist/component/garmin/types/wellnessApi/client.gen.js.map +1 -0
  261. package/dist/component/garmin/types/wellnessApi/core/auth.gen.d.ts +19 -0
  262. package/dist/component/garmin/types/wellnessApi/core/auth.gen.d.ts.map +1 -0
  263. package/dist/component/garmin/types/wellnessApi/core/auth.gen.js +15 -0
  264. package/dist/component/garmin/types/wellnessApi/core/auth.gen.js.map +1 -0
  265. package/dist/component/garmin/types/wellnessApi/core/bodySerializer.gen.d.ts +26 -0
  266. package/dist/component/garmin/types/wellnessApi/core/bodySerializer.gen.d.ts.map +1 -0
  267. package/dist/component/garmin/types/wellnessApi/core/bodySerializer.gen.js +58 -0
  268. package/dist/component/garmin/types/wellnessApi/core/bodySerializer.gen.js.map +1 -0
  269. package/dist/component/garmin/types/wellnessApi/core/params.gen.d.ts +44 -0
  270. package/dist/component/garmin/types/wellnessApi/core/params.gen.d.ts.map +1 -0
  271. package/dist/component/garmin/types/wellnessApi/core/params.gen.js +101 -0
  272. package/dist/component/garmin/types/wellnessApi/core/params.gen.js.map +1 -0
  273. package/dist/component/garmin/types/wellnessApi/core/pathSerializer.gen.d.ts +34 -0
  274. package/dist/component/garmin/types/wellnessApi/core/pathSerializer.gen.d.ts.map +1 -0
  275. package/dist/component/garmin/types/wellnessApi/core/pathSerializer.gen.js +107 -0
  276. package/dist/component/garmin/types/wellnessApi/core/pathSerializer.gen.js.map +1 -0
  277. package/dist/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.d.ts +19 -0
  278. package/dist/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.d.ts.map +1 -0
  279. package/dist/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.js +93 -0
  280. package/dist/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.js.map +1 -0
  281. package/dist/component/garmin/types/wellnessApi/core/serverSentEvents.gen.d.ts +72 -0
  282. package/dist/component/garmin/types/wellnessApi/core/serverSentEvents.gen.d.ts.map +1 -0
  283. package/dist/component/garmin/types/wellnessApi/core/serverSentEvents.gen.js +134 -0
  284. package/dist/component/garmin/types/wellnessApi/core/serverSentEvents.gen.js.map +1 -0
  285. package/dist/component/garmin/types/wellnessApi/core/types.gen.d.ts +79 -0
  286. package/dist/component/garmin/types/wellnessApi/core/types.gen.d.ts.map +1 -0
  287. package/dist/component/garmin/types/wellnessApi/core/types.gen.js +3 -0
  288. package/dist/component/garmin/types/wellnessApi/core/types.gen.js.map +1 -0
  289. package/dist/component/garmin/types/wellnessApi/core/utils.gen.d.ts +20 -0
  290. package/dist/component/garmin/types/wellnessApi/core/utils.gen.d.ts.map +1 -0
  291. package/dist/component/garmin/types/wellnessApi/core/utils.gen.js +88 -0
  292. package/dist/component/garmin/types/wellnessApi/core/utils.gen.js.map +1 -0
  293. package/dist/component/garmin/types/wellnessApi/index.d.ts +3 -0
  294. package/dist/component/garmin/types/wellnessApi/index.d.ts.map +1 -0
  295. package/dist/component/garmin/types/wellnessApi/index.js +3 -0
  296. package/dist/component/garmin/types/wellnessApi/index.js.map +1 -0
  297. package/dist/component/garmin/types/wellnessApi/sdk.gen.d.ts +166 -0
  298. package/dist/component/garmin/types/wellnessApi/sdk.gen.d.ts.map +1 -0
  299. package/dist/component/garmin/types/wellnessApi/sdk.gen.js +153 -0
  300. package/dist/component/garmin/types/wellnessApi/sdk.gen.js.map +1 -0
  301. package/dist/component/garmin/types/wellnessApi/types.gen.d.ts +2733 -0
  302. package/dist/component/garmin/types/wellnessApi/types.gen.d.ts.map +1 -0
  303. package/dist/component/garmin/types/wellnessApi/types.gen.js +3 -0
  304. package/dist/component/garmin/types/wellnessApi/types.gen.js.map +1 -0
  305. package/dist/component/garmin/types/wellnessApi/zod.gen.d.ts +1319 -0
  306. package/dist/component/garmin/types/wellnessApi/zod.gen.d.ts.map +1 -0
  307. package/dist/component/garmin/types/wellnessApi/zod.gen.js +784 -0
  308. package/dist/component/garmin/types/wellnessApi/zod.gen.js.map +1 -0
  309. package/dist/component/garmin/utils.d.ts +16 -0
  310. package/dist/component/garmin/utils.d.ts.map +1 -0
  311. package/dist/component/garmin/utils.js +17 -0
  312. package/dist/component/garmin/utils.js.map +1 -0
  313. package/dist/component/garmin/webhooks.d.ts +128 -0
  314. package/dist/component/garmin/webhooks.d.ts.map +1 -0
  315. package/dist/component/garmin/webhooks.js +531 -0
  316. package/dist/component/garmin/webhooks.js.map +1 -0
  317. package/dist/component/private.d.ts +4 -4
  318. package/dist/component/public.d.ts +333 -333
  319. package/dist/component/schema.d.ts +133 -133
  320. package/dist/component/strava/private.d.ts +30 -0
  321. package/dist/component/strava/private.d.ts.map +1 -0
  322. package/dist/component/strava/private.js +71 -0
  323. package/dist/component/strava/private.js.map +1 -0
  324. package/dist/component/{strava.d.ts → strava/public.d.ts} +3 -31
  325. package/dist/component/strava/public.d.ts.map +1 -0
  326. package/dist/component/{strava.js → strava/public.js} +22 -101
  327. package/dist/component/strava/public.js.map +1 -0
  328. package/dist/component/validators/activity.d.ts +6 -0
  329. package/dist/component/validators/activity.d.ts.map +1 -1
  330. package/dist/component/validators/activity.js.map +1 -1
  331. package/dist/component/validators/body.d.ts +20 -14
  332. package/dist/component/validators/body.d.ts.map +1 -1
  333. package/dist/component/validators/body.js.map +1 -1
  334. package/dist/component/validators/daily.d.ts +6 -0
  335. package/dist/component/validators/daily.d.ts.map +1 -1
  336. package/dist/component/validators/daily.js.map +1 -1
  337. package/dist/component/validators/enums.d.ts +1 -1
  338. package/dist/component/validators/menstruation.d.ts +5 -0
  339. package/dist/component/validators/menstruation.d.ts.map +1 -1
  340. package/dist/component/validators/menstruation.js.map +1 -1
  341. package/dist/component/validators/plannedWorkout.d.ts +6 -0
  342. package/dist/component/validators/plannedWorkout.d.ts.map +1 -1
  343. package/dist/component/validators/plannedWorkout.js.map +1 -1
  344. package/dist/validators.d.ts +31 -28
  345. package/dist/validators.d.ts.map +1 -1
  346. package/dist/validators.js +2 -2
  347. package/dist/validators.js.map +1 -1
  348. package/package.json +4 -7
  349. package/src/client/index.ts +41 -172
  350. package/src/component/_generated/api.ts +98 -4
  351. package/src/component/_generated/component.ts +252 -284
  352. package/src/{garmin → component/garmin}/auth.ts +8 -1
  353. package/src/component/garmin/client.ts +39 -0
  354. package/src/component/garmin/private.ts +1798 -0
  355. package/src/component/garmin/public.ts +938 -0
  356. package/src/component/garmin/schemas/activity.ts +40 -0
  357. package/src/component/garmin/schemas/activityDetails.ts +45 -0
  358. package/src/component/garmin/schemas/bloodPressure.ts +38 -0
  359. package/src/component/garmin/schemas/bodyCompositions.ts +38 -0
  360. package/src/component/garmin/schemas/dailies.ts +38 -0
  361. package/src/component/garmin/schemas/epochs.ts +38 -0
  362. package/src/component/garmin/schemas/healthSnapshot.ts +38 -0
  363. package/src/component/garmin/schemas/hrvSummary.ts +38 -0
  364. package/src/component/garmin/schemas/manuallyUpdatedActivities.ts +49 -0
  365. package/src/component/garmin/schemas/menstrualCycleTracking.ts +39 -0
  366. package/src/component/garmin/schemas/moveIQ.ts +38 -0
  367. package/src/component/garmin/schemas/pulseOx.ts +39 -0
  368. package/src/component/garmin/schemas/respiration.ts +39 -0
  369. package/src/component/garmin/schemas/skinTemperature.ts +39 -0
  370. package/src/component/garmin/schemas/sleeps.ts +38 -0
  371. package/src/component/garmin/schemas/stress.ts +43 -0
  372. package/src/component/garmin/schemas/userMetrics.ts +39 -0
  373. package/src/component/garmin/transform/activity.ts +143 -0
  374. package/src/component/garmin/transform/activityDetails.ts +236 -0
  375. package/src/{garmin → component/garmin/transform}/bloodPressure.ts +39 -41
  376. package/src/component/garmin/transform/bodyCompositions.ts +51 -0
  377. package/src/component/garmin/transform/dailies.ts +179 -0
  378. package/src/component/garmin/transform/epochs.ts +94 -0
  379. package/src/component/garmin/transform/healthSnapshot.ts +152 -0
  380. package/src/component/garmin/transform/hrvSummary.ts +56 -0
  381. package/src/component/garmin/transform/manuallyUpdatedActivities.ts +27 -0
  382. package/src/{garmin/maps/activity-type.ts → component/garmin/transform/maps/activityType.ts} +116 -116
  383. package/src/{garmin/maps/sleep-level.ts → component/garmin/transform/maps/sleepLevel.ts} +22 -22
  384. package/src/component/garmin/transform/menstrualCycleTracking.ts +48 -0
  385. package/src/component/garmin/transform/moveIQ.ts +48 -0
  386. package/src/{garmin → component/garmin/transform}/plannedWorkout.ts +328 -333
  387. package/src/component/garmin/transform/pulseOx.ts +64 -0
  388. package/src/component/garmin/transform/respiration.ts +73 -0
  389. package/src/component/garmin/transform/skinTemperature.ts +44 -0
  390. package/src/component/garmin/transform/sleeps.ts +159 -0
  391. package/src/component/garmin/transform/stress.ts +78 -0
  392. package/src/component/garmin/transform/userMetrics.ts +56 -0
  393. package/src/component/garmin/types/specs/training-api-workouts.json +699 -0
  394. package/src/component/garmin/types/trainingApiWorkouts/client/client.gen.ts +290 -0
  395. package/src/component/garmin/types/trainingApiWorkouts/client/index.ts +25 -0
  396. package/src/component/garmin/types/trainingApiWorkouts/client/types.gen.ts +214 -0
  397. package/src/component/garmin/types/trainingApiWorkouts/client/utils.gen.ts +316 -0
  398. package/src/component/garmin/types/trainingApiWorkouts/client.gen.ts +16 -0
  399. package/src/component/garmin/types/trainingApiWorkouts/core/auth.gen.ts +41 -0
  400. package/src/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.ts +82 -0
  401. package/src/component/garmin/types/trainingApiWorkouts/core/params.gen.ts +169 -0
  402. package/src/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.ts +171 -0
  403. package/src/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.ts +117 -0
  404. package/src/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.ts +243 -0
  405. package/src/component/garmin/types/trainingApiWorkouts/core/types.gen.ts +104 -0
  406. package/src/component/garmin/types/trainingApiWorkouts/core/utils.gen.ts +140 -0
  407. package/src/component/garmin/types/trainingApiWorkouts/index.ts +4 -0
  408. package/src/component/garmin/types/trainingApiWorkouts/sdk.gen.ts +126 -0
  409. package/src/component/garmin/types/trainingApiWorkouts/types.gen.ts +387 -0
  410. package/src/component/garmin/types/trainingApiWorkouts/zod.gen.ts +423 -0
  411. package/src/component/garmin/types/wellnessApi/client/client.gen.ts +290 -0
  412. package/src/component/garmin/types/wellnessApi/client/index.ts +25 -0
  413. package/src/component/garmin/types/wellnessApi/client/types.gen.ts +214 -0
  414. package/src/component/garmin/types/wellnessApi/client/utils.gen.ts +316 -0
  415. package/src/component/garmin/types/wellnessApi/client.gen.ts +16 -0
  416. package/src/component/garmin/types/wellnessApi/core/auth.gen.ts +41 -0
  417. package/src/component/garmin/types/wellnessApi/core/bodySerializer.gen.ts +82 -0
  418. package/src/component/garmin/types/wellnessApi/core/params.gen.ts +169 -0
  419. package/src/component/garmin/types/wellnessApi/core/pathSerializer.gen.ts +171 -0
  420. package/src/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.ts +117 -0
  421. package/src/component/garmin/types/wellnessApi/core/serverSentEvents.gen.ts +243 -0
  422. package/src/component/garmin/types/wellnessApi/core/types.gen.ts +104 -0
  423. package/src/component/garmin/types/wellnessApi/core/utils.gen.ts +140 -0
  424. package/src/component/garmin/types/wellnessApi/index.ts +4 -0
  425. package/src/component/garmin/types/wellnessApi/sdk.gen.ts +207 -0
  426. package/src/component/garmin/types/wellnessApi/types.gen.ts +2942 -0
  427. package/src/component/garmin/types/wellnessApi/zod.gen.ts +878 -0
  428. package/src/component/garmin/utils.ts +25 -0
  429. package/src/component/garmin/webhooks.ts +852 -0
  430. package/src/component/strava/private.ts +89 -0
  431. package/src/component/{strava.ts → strava/public.ts} +341 -404
  432. package/src/component/validators/activity.ts +5 -0
  433. package/src/component/validators/body.ts +5 -0
  434. package/src/component/validators/daily.ts +5 -0
  435. package/src/component/validators/menstruation.ts +5 -1
  436. package/src/component/validators/plannedWorkout.ts +5 -0
  437. package/src/validators.ts +12 -2
  438. package/dist/component/garmin.d.ts +0 -366
  439. package/dist/component/garmin.d.ts.map +0 -1
  440. package/dist/component/garmin.js +0 -1481
  441. package/dist/component/garmin.js.map +0 -1
  442. package/dist/component/strava.d.ts.map +0 -1
  443. package/dist/component/strava.js.map +0 -1
  444. package/dist/garmin/activity.d.ts +0 -92
  445. package/dist/garmin/activity.d.ts.map +0 -1
  446. package/dist/garmin/activity.js +0 -201
  447. package/dist/garmin/activity.js.map +0 -1
  448. package/dist/garmin/auth.d.ts.map +0 -1
  449. package/dist/garmin/auth.js.map +0 -1
  450. package/dist/garmin/bloodPressure.d.ts +0 -28
  451. package/dist/garmin/bloodPressure.d.ts.map +0 -1
  452. package/dist/garmin/bloodPressure.js.map +0 -1
  453. package/dist/garmin/body.d.ts +0 -26
  454. package/dist/garmin/body.d.ts.map +0 -1
  455. package/dist/garmin/body.js +0 -44
  456. package/dist/garmin/body.js.map +0 -1
  457. package/dist/garmin/client.d.ts +0 -246
  458. package/dist/garmin/client.d.ts.map +0 -1
  459. package/dist/garmin/client.js +0 -566
  460. package/dist/garmin/client.js.map +0 -1
  461. package/dist/garmin/daily.d.ts +0 -74
  462. package/dist/garmin/daily.d.ts.map +0 -1
  463. package/dist/garmin/daily.js.map +0 -1
  464. package/dist/garmin/hrv.d.ts +0 -30
  465. package/dist/garmin/hrv.d.ts.map +0 -1
  466. package/dist/garmin/hrv.js.map +0 -1
  467. package/dist/garmin/index.d.ts +0 -34
  468. package/dist/garmin/index.d.ts.map +0 -1
  469. package/dist/garmin/index.js +0 -28
  470. package/dist/garmin/index.js.map +0 -1
  471. package/dist/garmin/maps/activity-type.d.ts.map +0 -1
  472. package/dist/garmin/maps/activity-type.js.map +0 -1
  473. package/dist/garmin/maps/sleep-level.d.ts.map +0 -1
  474. package/dist/garmin/maps/sleep-level.js.map +0 -1
  475. package/dist/garmin/menstruation.d.ts +0 -25
  476. package/dist/garmin/menstruation.d.ts.map +0 -1
  477. package/dist/garmin/menstruation.js.map +0 -1
  478. package/dist/garmin/plannedWorkout.d.ts.map +0 -1
  479. package/dist/garmin/plannedWorkout.js.map +0 -1
  480. package/dist/garmin/pulseOx.d.ts +0 -24
  481. package/dist/garmin/pulseOx.d.ts.map +0 -1
  482. package/dist/garmin/pulseOx.js +0 -33
  483. package/dist/garmin/pulseOx.js.map +0 -1
  484. package/dist/garmin/respiration.d.ts +0 -29
  485. package/dist/garmin/respiration.d.ts.map +0 -1
  486. package/dist/garmin/respiration.js +0 -42
  487. package/dist/garmin/respiration.js.map +0 -1
  488. package/dist/garmin/skinTemp.d.ts +0 -27
  489. package/dist/garmin/skinTemp.d.ts.map +0 -1
  490. package/dist/garmin/skinTemp.js.map +0 -1
  491. package/dist/garmin/sleep.d.ts.map +0 -1
  492. package/dist/garmin/sleep.js.map +0 -1
  493. package/dist/garmin/stressDetails.d.ts +0 -30
  494. package/dist/garmin/stressDetails.d.ts.map +0 -1
  495. package/dist/garmin/stressDetails.js +0 -49
  496. package/dist/garmin/stressDetails.js.map +0 -1
  497. package/dist/garmin/sync.d.ts +0 -53
  498. package/dist/garmin/sync.d.ts.map +0 -1
  499. package/dist/garmin/sync.js +0 -457
  500. package/dist/garmin/sync.js.map +0 -1
  501. package/dist/garmin/types.d.ts +0 -175
  502. package/dist/garmin/types.d.ts.map +0 -1
  503. package/dist/garmin/types.js +0 -10
  504. package/dist/garmin/types.js.map +0 -1
  505. package/dist/garmin/userMetrics.d.ts +0 -23
  506. package/dist/garmin/userMetrics.d.ts.map +0 -1
  507. package/dist/garmin/userMetrics.js.map +0 -1
  508. package/src/component/garmin.ts +0 -1722
  509. package/src/garmin/activity.test.ts +0 -170
  510. package/src/garmin/activity.ts +0 -265
  511. package/src/garmin/auth.test.ts +0 -103
  512. package/src/garmin/body.ts +0 -59
  513. package/src/garmin/client.ts +0 -886
  514. package/src/garmin/daily.ts +0 -215
  515. package/src/garmin/hrv.ts +0 -57
  516. package/src/garmin/index.ts +0 -145
  517. package/src/garmin/maps/activity-type.test.ts +0 -78
  518. package/src/garmin/menstruation.ts +0 -44
  519. package/src/garmin/pulseOx.ts +0 -45
  520. package/src/garmin/respiration.ts +0 -55
  521. package/src/garmin/skinTemp.ts +0 -42
  522. package/src/garmin/sleep.test.ts +0 -109
  523. package/src/garmin/sleep.ts +0 -176
  524. package/src/garmin/stressDetails.ts +0 -71
  525. package/src/garmin/sync.ts +0 -566
  526. package/src/garmin/types.ts +0 -268
  527. package/src/garmin/userMetrics.ts +0 -50
  528. package/src/garmin/wellness-api.d.ts +0 -5637
  529. /package/dist/{garmin → component/garmin}/auth.js +0 -0
  530. /package/src/{garmin/spec → component/garmin/types/specs}/wellness-api.json +0 -0
@@ -1,116 +1,116 @@
1
- // ─── Garmin ActivityType → Terra ActivityType ─────────────────────────────────
2
- // Maps Garmin activity type strings to Terra's ActivityType numeric enum
3
- // used by the Soma schema.
4
- //
5
- // Garmin values: Garmin Health API activity type strings
6
- // Terra values: https://docs.tryterra.co/reference/health-and-fitness-api/data-models#activitytype
7
-
8
- // Garmin activityType is a free-form string in the spec
9
-
10
- const activityTypeMap: Record<string, number> = {
11
- // ── Running ─────────────────────────────────────────────────────────────
12
- // Terra Running = 8
13
- RUNNING: 8,
14
- INDOOR_RUNNING: 8,
15
- TRAIL_RUNNING: 8,
16
- TREADMILL_RUNNING: 8,
17
-
18
- // ── Cycling ─────────────────────────────────────────────────────────────
19
- // Terra Biking = 1
20
- CYCLING: 1,
21
- INDOOR_CYCLING: 1,
22
- MOUNTAIN_BIKING: 1,
23
- GRAVEL_CYCLING: 1,
24
- VIRTUAL_RIDE: 1,
25
-
26
- // ── Walking ─────────────────────────────────────────────────────────────
27
- // Terra Walking = 7
28
- WALKING: 7,
29
-
30
- // ── Hiking ──────────────────────────────────────────────────────────────
31
- // Terra Hiking = 35
32
- HIKING: 35,
33
-
34
- // ── Swimming ────────────────────────────────────────────────────────────
35
- // Terra Swimming = 82
36
- SWIMMING: 82,
37
- OPEN_WATER_SWIMMING: 82,
38
- LAP_SWIMMING: 82,
39
- POOL_SWIMMING: 82,
40
-
41
- // ── Gym / Fitness ───────────────────────────────────────────────────────
42
- STRENGTH_TRAINING: 80, // Terra Strength Training
43
- YOGA: 100, // Terra Yoga
44
- PILATES: 49, // Terra Pilates
45
- CARDIO: 108, // Terra Other
46
- ELLIPTICAL: 25, // Terra Elliptical
47
- STAIR_CLIMBING: 78, // Terra Stair Climbing Machine
48
- CROSSFIT: 113, // Terra Crossfit
49
- HIIT: 114, // Terra HIIT
50
- FITNESS_EQUIPMENT: 108, // Terra Other
51
- BREATHWORK: 108, // Terra Other
52
-
53
- // ── Snow Sports ─────────────────────────────────────────────────────────
54
- CROSS_COUNTRY_SKIING: 67, // Terra Cross Country Skiing
55
- ALPINE_SKIING: 66, // Terra Alpine Skiing
56
- SNOWBOARDING: 73, // Terra Snowboarding
57
- SNOWSHOEING: 74, // Terra Snowshoeing
58
-
59
- // ── Water Sports ────────────────────────────────────────────────────────
60
- ROWING: 53, // Terra Rowing
61
- INDOOR_ROWING: 53, // Terra Rowing
62
- KAYAKING: 40, // Terra Kayaking
63
- CANOEING: 22, // Terra Canoeing
64
- SAILING: 59, // Terra Sailing
65
- SURFING: 81, // Terra Surfing
66
- KITESURFING: 41, // Terra Kitesurfing
67
- WINDSURFING: 99, // Terra Windsurfing
68
- PADDLEBOARDING: 129, // Terra Paddling
69
-
70
- // ── Skating ─────────────────────────────────────────────────────────────
71
- SKATING: 62, // Terra Skating
72
- INLINE_SKATING: 62, // Terra Skating
73
-
74
- // ── Racket Sports ───────────────────────────────────────────────────────
75
- TENNIS: 87, // Terra Tennis
76
- TABLE_TENNIS: 85, // Terra Table Tennis
77
- BADMINTON: 10, // Terra Badminton
78
- RACQUETBALL: 51, // Terra Racquetball
79
- SQUASH: 76, // Terra Squash
80
-
81
- // ── Climbing ────────────────────────────────────────────────────────────
82
- ROCK_CLIMBING: 52, // Terra Rock Climbing
83
- BOULDERING: 52, // Terra Rock Climbing
84
-
85
- // ── Team Sports ─────────────────────────────────────────────────────────
86
- SOCCER: 29, // Terra English Football
87
- BASKETBALL: 11, // Terra Basketball
88
- VOLLEYBALL: 94, // Terra Volleyball
89
- CRICKET: 23, // Terra Cricket
90
- RUGBY: 57, // Terra Rugby
91
-
92
- // ── Combat Sports ───────────────────────────────────────────────────────
93
- BOXING: 16, // Terra Boxing
94
- MARTIAL_ARTS: 44, // Terra Martial Arts
95
-
96
- // ── Golf ────────────────────────────────────────────────────────────────
97
- GOLF: 32, // Terra Golf
98
-
99
- // ── Accessibility ───────────────────────────────────────────────────────
100
- HANDCYCLING: 14, // Terra Handbiking
101
- WHEELCHAIR_PUSH_WALKING: 98, // Terra Wheelchair
102
- WHEELCHAIR_PUSH_RUNNING: 98, // Terra Wheelchair
103
-
104
- // ── Other ───────────────────────────────────────────────────────────────
105
- OTHER: 108, // Terra Other
106
- MULTI_SPORT: 108, // Terra Other
107
- FLOOR_CLIMBING: 78, // Terra Stair Climbing Machine
108
- };
109
-
110
- /**
111
- * Map a Garmin activity type string to the Terra ActivityType enum.
112
- * Returns Terra "Other" (108) for unknown types.
113
- */
114
- export function mapActivityType(activityType: string): number {
115
- return activityTypeMap[activityType] ?? 108;
116
- }
1
+ // ─── Garmin ActivityType → Terra ActivityType ─────────────────────────────────
2
+ // Maps Garmin activity type strings to Terra's ActivityType numeric enum
3
+ // used by the Soma schema.
4
+ //
5
+ // Garmin values: Garmin Health API activity type strings
6
+ // Terra values: https://docs.tryterra.co/reference/health-and-fitness-api/data-models#activitytype
7
+
8
+ // Garmin activityType is a free-form string in the spec
9
+
10
+ const activityTypeMap: Record<string, number> = {
11
+ // ── Running ─────────────────────────────────────────────────────────────
12
+ // Terra Running = 8
13
+ RUNNING: 8,
14
+ INDOOR_RUNNING: 8,
15
+ TRAIL_RUNNING: 8,
16
+ TREADMILL_RUNNING: 8,
17
+
18
+ // ── Cycling ─────────────────────────────────────────────────────────────
19
+ // Terra Biking = 1
20
+ CYCLING: 1,
21
+ INDOOR_CYCLING: 1,
22
+ MOUNTAIN_BIKING: 1,
23
+ GRAVEL_CYCLING: 1,
24
+ VIRTUAL_RIDE: 1,
25
+
26
+ // ── Walking ─────────────────────────────────────────────────────────────
27
+ // Terra Walking = 7
28
+ WALKING: 7,
29
+
30
+ // ── Hiking ──────────────────────────────────────────────────────────────
31
+ // Terra Hiking = 35
32
+ HIKING: 35,
33
+
34
+ // ── Swimming ────────────────────────────────────────────────────────────
35
+ // Terra Swimming = 82
36
+ SWIMMING: 82,
37
+ OPEN_WATER_SWIMMING: 82,
38
+ LAP_SWIMMING: 82,
39
+ POOL_SWIMMING: 82,
40
+
41
+ // ── Gym / Fitness ───────────────────────────────────────────────────────
42
+ STRENGTH_TRAINING: 80, // Terra Strength Training
43
+ YOGA: 100, // Terra Yoga
44
+ PILATES: 49, // Terra Pilates
45
+ CARDIO: 108, // Terra Other
46
+ ELLIPTICAL: 25, // Terra Elliptical
47
+ STAIR_CLIMBING: 78, // Terra Stair Climbing Machine
48
+ CROSSFIT: 113, // Terra Crossfit
49
+ HIIT: 114, // Terra HIIT
50
+ FITNESS_EQUIPMENT: 108, // Terra Other
51
+ BREATHWORK: 108, // Terra Other
52
+
53
+ // ── Snow Sports ─────────────────────────────────────────────────────────
54
+ CROSS_COUNTRY_SKIING: 67, // Terra Cross Country Skiing
55
+ ALPINE_SKIING: 66, // Terra Alpine Skiing
56
+ SNOWBOARDING: 73, // Terra Snowboarding
57
+ SNOWSHOEING: 74, // Terra Snowshoeing
58
+
59
+ // ── Water Sports ────────────────────────────────────────────────────────
60
+ ROWING: 53, // Terra Rowing
61
+ INDOOR_ROWING: 53, // Terra Rowing
62
+ KAYAKING: 40, // Terra Kayaking
63
+ CANOEING: 22, // Terra Canoeing
64
+ SAILING: 59, // Terra Sailing
65
+ SURFING: 81, // Terra Surfing
66
+ KITESURFING: 41, // Terra Kitesurfing
67
+ WINDSURFING: 99, // Terra Windsurfing
68
+ PADDLEBOARDING: 129, // Terra Paddling
69
+
70
+ // ── Skating ─────────────────────────────────────────────────────────────
71
+ SKATING: 62, // Terra Skating
72
+ INLINE_SKATING: 62, // Terra Skating
73
+
74
+ // ── Racket Sports ───────────────────────────────────────────────────────
75
+ TENNIS: 87, // Terra Tennis
76
+ TABLE_TENNIS: 85, // Terra Table Tennis
77
+ BADMINTON: 10, // Terra Badminton
78
+ RACQUETBALL: 51, // Terra Racquetball
79
+ SQUASH: 76, // Terra Squash
80
+
81
+ // ── Climbing ────────────────────────────────────────────────────────────
82
+ ROCK_CLIMBING: 52, // Terra Rock Climbing
83
+ BOULDERING: 52, // Terra Rock Climbing
84
+
85
+ // ── Team Sports ─────────────────────────────────────────────────────────
86
+ SOCCER: 29, // Terra English Football
87
+ BASKETBALL: 11, // Terra Basketball
88
+ VOLLEYBALL: 94, // Terra Volleyball
89
+ CRICKET: 23, // Terra Cricket
90
+ RUGBY: 57, // Terra Rugby
91
+
92
+ // ── Combat Sports ───────────────────────────────────────────────────────
93
+ BOXING: 16, // Terra Boxing
94
+ MARTIAL_ARTS: 44, // Terra Martial Arts
95
+
96
+ // ── Golf ────────────────────────────────────────────────────────────────
97
+ GOLF: 32, // Terra Golf
98
+
99
+ // ── Accessibility ───────────────────────────────────────────────────────
100
+ HANDCYCLING: 14, // Terra Handbiking
101
+ WHEELCHAIR_PUSH_WALKING: 98, // Terra Wheelchair
102
+ WHEELCHAIR_PUSH_RUNNING: 98, // Terra Wheelchair
103
+
104
+ // ── Other ───────────────────────────────────────────────────────────────
105
+ OTHER: 108, // Terra Other
106
+ MULTI_SPORT: 108, // Terra Other
107
+ FLOOR_CLIMBING: 78, // Terra Stair Climbing Machine
108
+ };
109
+
110
+ /**
111
+ * Map a Garmin activity type string to the Terra ActivityType enum.
112
+ * Returns Terra "Other" (108) for unknown types.
113
+ */
114
+ export function mapActivityType(activityType: string): number {
115
+ return activityTypeMap[activityType] ?? 108;
116
+ }
@@ -1,22 +1,22 @@
1
- // ─── Garmin Sleep Stage → Terra SleepLevel ────────────────────────────────────
2
- // Maps Garmin sleep stage names to Terra's SleepLevel numeric enum.
3
- //
4
- // Garmin provides sleep levels as named map keys in sleepLevelsMap:
5
- // { deep: [...], light: [...], rem: [...], awake: [...] }
6
- //
7
- // Terra SleepLevel: 0=Unknown, 1=Awake, 2=Sleeping, 3=OutOfBed, 4=Light, 5=Deep, 6=REM
8
-
9
- const sleepLevelMap: Record<string, number> = {
10
- deep: 5, // Deep → Terra Deep
11
- light: 4, // Light → Terra Light
12
- rem: 6, // REM → Terra REM
13
- awake: 1, // Awake → Terra Awake
14
- };
15
-
16
- /**
17
- * Map a Garmin sleep stage name to the Terra SleepLevel enum.
18
- * Returns 0 (Unknown) for unrecognized stages.
19
- */
20
- export function mapSleepLevel(stage: string): number {
21
- return sleepLevelMap[stage] ?? 0;
22
- }
1
+ // ─── Garmin Sleep Stage → Terra SleepLevel ────────────────────────────────────
2
+ // Maps Garmin sleep stage names to Terra's SleepLevel numeric enum.
3
+ //
4
+ // Garmin provides sleep levels as named map keys in sleepLevelsMap:
5
+ // { deep: [...], light: [...], rem: [...], awake: [...] }
6
+ //
7
+ // Terra SleepLevel: 0=Unknown, 1=Awake, 2=Sleeping, 3=OutOfBed, 4=Light, 5=Deep, 6=REM
8
+
9
+ const sleepLevelMap: Record<string, number> = {
10
+ deep: 5, // Deep → Terra Deep
11
+ light: 4, // Light → Terra Light
12
+ rem: 6, // REM → Terra REM
13
+ awake: 1, // Awake → Terra Awake
14
+ };
15
+
16
+ /**
17
+ * Map a Garmin sleep stage name to the Terra SleepLevel enum.
18
+ * Returns 0 (Unknown) for unrecognized stages.
19
+ */
20
+ export function mapSleepLevel(stage: string): number {
21
+ return sleepLevelMap[stage] ?? 0;
22
+ }
@@ -0,0 +1,48 @@
1
+ // ─── Menstrual Cycle Tracking Transformer ────────────────────────────────────
2
+ // Transforms a Garmin MCT (Women's Health API) push item into the Soma
3
+ // Menstruation schema shape.
4
+ //
5
+ // MCT summaries contain cycle schedule data (phase, length, fertile window,
6
+ // pregnancy snapshot). We map these into the Menstruation model's
7
+ // menstruation_data fields.
8
+
9
+ import type { SomaMenstruation } from "../../validators/menstruation.js";
10
+ import type { ClientSummarizedMenstrualCycle } from "../types/wellnessApi/types.gen.js";
11
+
12
+ /**
13
+ * Transform a Garmin MCT push item into a Soma Menstruation document shape.
14
+ *
15
+ * MCT records are ingested into the `menstruation` table via
16
+ * `ingestMenstruation`, keyed by `metadata.start_time + metadata.end_time`.
17
+ */
18
+ export function transformMenstrualCycleTracking(data: ClientSummarizedMenstrualCycle): SomaMenstruation {
19
+ const dateStr = data.periodStartDate;
20
+ const startTime = dateStr
21
+ ? `${dateStr}T00:00:00.000Z`
22
+ : new Date(0).toISOString();
23
+ const endTime = dateStr
24
+ ? `${dateStr}T23:59:59.999Z`
25
+ : new Date(0).toISOString();
26
+
27
+ return {
28
+ metadata: {
29
+ start_time: startTime,
30
+ end_time: endTime,
31
+ },
32
+
33
+ menstruation_data: {
34
+ day_in_cycle: data.dayInCycle,
35
+ current_phase: data.currentPhaseType?.toLowerCase(),
36
+ length_of_current_phase_days: data.lengthOfCurrentPhase,
37
+ days_until_next_phase: data.daysUntilNextPhase,
38
+ period_length_days: data.periodLength,
39
+ predicted_cycle_length_days: data.predictedCycleLength,
40
+ cycle_length_days: data.cycleLength != null
41
+ ? String(data.cycleLength)
42
+ : undefined,
43
+ is_predicted_cycle: data.isPredictedCycle != null
44
+ ? String(data.isPredictedCycle)
45
+ : undefined,
46
+ },
47
+ };
48
+ }
@@ -0,0 +1,48 @@
1
+ // ─── Move IQ Transformer ─────────────────────────────────────────────────────
2
+ // Transforms a Garmin Move IQ event into the Soma Activity schema shape.
3
+ //
4
+ // Move IQ events are auto-detected activities (e.g. walking, running, cycling)
5
+ // recognised by the Garmin device without user interaction. They are lightweight
6
+ // — no GPS, heart rate, or calorie data — just type, duration, and device.
7
+
8
+ import type { ClientAutoActivityMoveIq } from "../types/wellnessApi/types.gen.js";
9
+ import { mapActivityType } from "./maps/activityType.js";
10
+ import type { SomaActivity } from "../../validators/activity.js";
11
+
12
+ /**
13
+ * Transform a Garmin Move IQ event into a Soma Activity document shape.
14
+ *
15
+ * Move IQ activityType values are lowercase (e.g. "running", "cycling"),
16
+ * unlike regular activities which use uppercase. We normalise to uppercase
17
+ * before mapping.
18
+ *
19
+ * The returned object is ready to be spread into an `ingestActivity` call
20
+ * alongside `connectionId` and `userId`.
21
+ */
22
+ export function transformMoveIQ(event: ClientAutoActivityMoveIq): SomaActivity {
23
+ const startMs = (event.startTimeInSeconds ?? 0) * 1000;
24
+ const endMs = startMs + (event.durationInSeconds ?? 0) * 1000;
25
+ const startDate = new Date(startMs).toISOString();
26
+ const endDate = new Date(endMs).toISOString();
27
+
28
+ // Move IQ activityType is lowercase; mapActivityType expects uppercase
29
+ const activityType = (event.activityType ?? "OTHER").toUpperCase();
30
+
31
+ return {
32
+ metadata: {
33
+ summary_id: event.summaryId ?? `moveiq-${event.startTimeInSeconds}`,
34
+ start_time: startDate,
35
+ end_time: endDate,
36
+ type: mapActivityType(activityType),
37
+ upload_type: 1, // device-detected
38
+ },
39
+
40
+ active_durations_data: {
41
+ activity_seconds: event.durationInSeconds,
42
+ },
43
+
44
+ device_data: event.deviceName
45
+ ? { name: event.deviceName }
46
+ : undefined,
47
+ };
48
+ }