@nativesquare/soma 0.8.0 → 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.
Files changed (325) 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 +80 -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 +135 -261
  9. package/dist/component/_generated/component.d.ts.map +1 -1
  10. package/dist/component/garmin/private.d.ts +475 -0
  11. package/dist/component/garmin/private.d.ts.map +1 -0
  12. package/dist/component/garmin/private.js +1614 -0
  13. package/dist/component/garmin/private.js.map +1 -0
  14. package/dist/component/garmin/public.d.ts +155 -0
  15. package/dist/component/garmin/public.d.ts.map +1 -0
  16. package/dist/component/garmin/public.js +787 -0
  17. package/dist/component/garmin/public.js.map +1 -0
  18. package/dist/component/garmin/schemas/activity.d.ts +94 -0
  19. package/dist/component/garmin/schemas/activity.d.ts.map +1 -0
  20. package/dist/component/garmin/schemas/activity.js +27 -0
  21. package/dist/component/garmin/schemas/activity.js.map +1 -0
  22. package/dist/component/garmin/schemas/activityDetails.d.ts +146 -0
  23. package/dist/component/garmin/schemas/activityDetails.d.ts.map +1 -0
  24. package/dist/component/garmin/schemas/activityDetails.js +27 -0
  25. package/dist/component/garmin/schemas/activityDetails.js.map +1 -0
  26. package/dist/component/garmin/schemas/bloodPressure.d.ts +38 -0
  27. package/dist/component/garmin/schemas/bloodPressure.d.ts.map +1 -0
  28. package/dist/component/garmin/schemas/bloodPressure.js +27 -0
  29. package/dist/component/garmin/schemas/bloodPressure.js.map +1 -0
  30. package/dist/component/garmin/schemas/bodyCompositions.d.ts +42 -0
  31. package/dist/component/garmin/schemas/bodyCompositions.d.ts.map +1 -0
  32. package/dist/component/garmin/schemas/bodyCompositions.js +27 -0
  33. package/dist/component/garmin/schemas/bodyCompositions.js.map +1 -0
  34. package/dist/component/garmin/schemas/dailies.d.ts +98 -0
  35. package/dist/component/garmin/schemas/dailies.d.ts.map +1 -0
  36. package/dist/component/garmin/schemas/dailies.js +27 -0
  37. package/dist/component/garmin/schemas/dailies.js.map +1 -0
  38. package/dist/component/garmin/schemas/epochs.d.ts +54 -0
  39. package/dist/component/garmin/schemas/epochs.d.ts.map +1 -0
  40. package/dist/component/garmin/schemas/epochs.js +27 -0
  41. package/dist/component/garmin/schemas/epochs.js.map +1 -0
  42. package/dist/component/garmin/schemas/healthSnapshot.d.ts +48 -0
  43. package/dist/component/garmin/schemas/healthSnapshot.d.ts.map +1 -0
  44. package/dist/component/garmin/schemas/healthSnapshot.js +27 -0
  45. package/dist/component/garmin/schemas/healthSnapshot.js.map +1 -0
  46. package/dist/component/garmin/schemas/hrvSummary.d.ts +40 -0
  47. package/dist/component/garmin/schemas/hrvSummary.d.ts.map +1 -0
  48. package/dist/component/garmin/schemas/hrvSummary.js +27 -0
  49. package/dist/component/garmin/schemas/hrvSummary.js.map +1 -0
  50. package/dist/component/garmin/schemas/manuallyUpdatedActivities.d.ts +94 -0
  51. package/dist/component/garmin/schemas/manuallyUpdatedActivities.d.ts.map +1 -0
  52. package/dist/component/garmin/schemas/manuallyUpdatedActivities.js +27 -0
  53. package/dist/component/garmin/schemas/manuallyUpdatedActivities.js.map +1 -0
  54. package/dist/component/garmin/schemas/menstrualCycleTracking.d.ts +100 -0
  55. package/dist/component/garmin/schemas/menstrualCycleTracking.d.ts.map +1 -0
  56. package/dist/component/garmin/schemas/menstrualCycleTracking.js +28 -0
  57. package/dist/component/garmin/schemas/menstrualCycleTracking.js.map +1 -0
  58. package/dist/component/garmin/schemas/moveIQ.d.ts +40 -0
  59. package/dist/component/garmin/schemas/moveIQ.d.ts.map +1 -0
  60. package/dist/component/garmin/schemas/moveIQ.js +27 -0
  61. package/dist/component/garmin/schemas/moveIQ.js.map +1 -0
  62. package/dist/component/garmin/schemas/pulseOx.d.ts +38 -0
  63. package/dist/component/garmin/schemas/pulseOx.d.ts.map +1 -0
  64. package/dist/component/garmin/schemas/pulseOx.js +28 -0
  65. package/dist/component/garmin/schemas/pulseOx.js.map +1 -0
  66. package/dist/component/garmin/schemas/respiration.d.ts +34 -0
  67. package/dist/component/garmin/schemas/respiration.d.ts.map +1 -0
  68. package/dist/component/garmin/schemas/respiration.js +28 -0
  69. package/dist/component/garmin/schemas/respiration.js.map +1 -0
  70. package/dist/component/garmin/schemas/skinTemperature.d.ts +36 -0
  71. package/dist/component/garmin/schemas/skinTemperature.d.ts.map +1 -0
  72. package/dist/component/garmin/schemas/skinTemperature.js +28 -0
  73. package/dist/component/garmin/schemas/skinTemperature.js.map +1 -0
  74. package/dist/component/garmin/schemas/sleeps.d.ts +88 -0
  75. package/dist/component/garmin/schemas/sleeps.d.ts.map +1 -0
  76. package/dist/component/garmin/schemas/sleeps.js +27 -0
  77. package/dist/component/garmin/schemas/sleeps.js.map +1 -0
  78. package/dist/component/garmin/schemas/stress.d.ts +70 -0
  79. package/dist/component/garmin/schemas/stress.d.ts.map +1 -0
  80. package/dist/component/garmin/schemas/stress.js +28 -0
  81. package/dist/component/garmin/schemas/stress.js.map +1 -0
  82. package/dist/component/garmin/schemas/userMetrics.d.ts +36 -0
  83. package/dist/component/garmin/schemas/userMetrics.d.ts.map +1 -0
  84. package/dist/component/garmin/schemas/userMetrics.js +28 -0
  85. package/dist/component/garmin/schemas/userMetrics.js.map +1 -0
  86. package/dist/component/garmin/transform/activity.d.ts +13 -0
  87. package/dist/component/garmin/transform/activity.d.ts.map +1 -0
  88. package/dist/component/garmin/transform/activity.js +111 -0
  89. package/dist/component/garmin/transform/activity.js.map +1 -0
  90. package/dist/component/garmin/transform/activityDetails.d.ts +13 -0
  91. package/dist/component/garmin/transform/activityDetails.d.ts.map +1 -0
  92. package/dist/component/garmin/transform/activityDetails.js +173 -0
  93. package/dist/component/garmin/transform/activityDetails.js.map +1 -0
  94. package/dist/component/garmin/transform/bloodPressure.d.ts +12 -0
  95. package/dist/component/garmin/transform/bloodPressure.d.ts.map +1 -0
  96. package/dist/component/garmin/transform/bloodPressure.js +33 -0
  97. package/dist/component/garmin/transform/bloodPressure.js.map +1 -0
  98. package/dist/component/garmin/transform/bodyCompositions.d.ts +12 -0
  99. package/dist/component/garmin/transform/bodyCompositions.d.ts.map +1 -0
  100. package/dist/component/garmin/transform/bodyCompositions.js +42 -0
  101. package/dist/component/garmin/transform/bodyCompositions.js.map +1 -0
  102. package/dist/component/garmin/transform/dailies.d.ts +12 -0
  103. package/dist/component/garmin/transform/dailies.d.ts.map +1 -0
  104. package/dist/component/garmin/transform/dailies.js +132 -0
  105. package/dist/component/garmin/transform/dailies.js.map +1 -0
  106. package/dist/component/garmin/transform/epochs.d.ts +13 -0
  107. package/dist/component/garmin/transform/epochs.d.ts.map +1 -0
  108. package/dist/component/garmin/transform/epochs.js +76 -0
  109. package/dist/component/garmin/transform/epochs.js.map +1 -0
  110. package/dist/component/garmin/transform/healthSnapshot.d.ts +12 -0
  111. package/dist/component/garmin/transform/healthSnapshot.d.ts.map +1 -0
  112. package/dist/component/garmin/transform/healthSnapshot.js +111 -0
  113. package/dist/component/garmin/transform/healthSnapshot.js.map +1 -0
  114. package/dist/component/garmin/transform/hrvSummary.d.ts +12 -0
  115. package/dist/component/garmin/transform/hrvSummary.d.ts.map +1 -0
  116. package/dist/component/garmin/transform/hrvSummary.js +45 -0
  117. package/dist/component/garmin/transform/hrvSummary.js.map +1 -0
  118. package/dist/component/garmin/transform/manuallyUpdatedActivities.d.ts +11 -0
  119. package/dist/component/garmin/transform/manuallyUpdatedActivities.d.ts.map +1 -0
  120. package/dist/component/garmin/transform/manuallyUpdatedActivities.js +20 -0
  121. package/dist/component/garmin/transform/manuallyUpdatedActivities.js.map +1 -0
  122. package/dist/component/garmin/transform/menstrualCycleTracking.d.ts +10 -0
  123. package/dist/component/garmin/transform/menstrualCycleTracking.d.ts.map +1 -0
  124. package/dist/component/garmin/transform/menstrualCycleTracking.js +43 -0
  125. package/dist/component/garmin/transform/menstrualCycleTracking.js.map +1 -0
  126. package/dist/component/garmin/transform/moveIQ.d.ts +17 -0
  127. package/dist/component/garmin/transform/moveIQ.d.ts.map +1 -0
  128. package/dist/component/garmin/transform/moveIQ.js +41 -0
  129. package/dist/component/garmin/transform/moveIQ.js.map +1 -0
  130. package/dist/component/garmin/transform/pulseOx.d.ts +12 -0
  131. package/dist/component/garmin/transform/pulseOx.d.ts.map +1 -0
  132. package/dist/component/garmin/transform/pulseOx.js +46 -0
  133. package/dist/component/garmin/transform/pulseOx.js.map +1 -0
  134. package/dist/component/garmin/transform/respiration.d.ts +12 -0
  135. package/dist/component/garmin/transform/respiration.d.ts.map +1 -0
  136. package/dist/component/garmin/transform/respiration.js +54 -0
  137. package/dist/component/garmin/transform/respiration.js.map +1 -0
  138. package/dist/component/garmin/transform/skinTemperature.d.ts +12 -0
  139. package/dist/component/garmin/transform/skinTemperature.d.ts.map +1 -0
  140. package/dist/component/garmin/transform/skinTemperature.js +38 -0
  141. package/dist/component/garmin/transform/skinTemperature.js.map +1 -0
  142. package/dist/component/garmin/transform/sleeps.d.ts +55 -0
  143. package/dist/component/garmin/transform/sleeps.d.ts.map +1 -0
  144. package/dist/component/garmin/transform/sleeps.js +120 -0
  145. package/dist/component/garmin/transform/sleeps.js.map +1 -0
  146. package/dist/component/garmin/transform/stress.d.ts +12 -0
  147. package/dist/component/garmin/transform/stress.d.ts.map +1 -0
  148. package/dist/component/garmin/transform/stress.js +56 -0
  149. package/dist/component/garmin/transform/stress.js.map +1 -0
  150. package/dist/component/garmin/transform/userMetrics.d.ts +12 -0
  151. package/dist/component/garmin/transform/userMetrics.d.ts.map +1 -0
  152. package/dist/component/garmin/transform/userMetrics.js +48 -0
  153. package/dist/component/garmin/transform/userMetrics.js.map +1 -0
  154. package/dist/component/garmin/types/garmin.d.ts +21 -0
  155. package/dist/component/garmin/types/garmin.d.ts.map +1 -0
  156. package/dist/component/garmin/types/garmin.js +6 -0
  157. package/dist/component/garmin/types/garmin.js.map +1 -0
  158. package/dist/component/garmin/types/zod/zod.gen.d.ts +1319 -0
  159. package/dist/component/garmin/types/zod/zod.gen.d.ts.map +1 -0
  160. package/dist/component/garmin/types/zod/zod.gen.js +784 -0
  161. package/dist/component/garmin/types/zod/zod.gen.js.map +1 -0
  162. package/dist/component/garmin/webhooks.d.ts +141 -0
  163. package/dist/component/garmin/webhooks.d.ts.map +1 -0
  164. package/dist/component/garmin/webhooks.js +766 -0
  165. package/dist/component/garmin/webhooks.js.map +1 -0
  166. package/dist/component/private.d.ts +4 -4
  167. package/dist/component/public.d.ts +333 -333
  168. package/dist/component/schema.d.ts +133 -133
  169. package/dist/component/strava/private.d.ts +30 -0
  170. package/dist/component/strava/private.d.ts.map +1 -0
  171. package/dist/component/strava/private.js +71 -0
  172. package/dist/component/strava/private.js.map +1 -0
  173. package/dist/component/{strava.d.ts → strava/public.d.ts} +3 -31
  174. package/dist/component/strava/public.d.ts.map +1 -0
  175. package/dist/component/{strava.js → strava/public.js} +22 -101
  176. package/dist/component/strava/public.js.map +1 -0
  177. package/dist/component/validators/activity.d.ts +6 -0
  178. package/dist/component/validators/activity.d.ts.map +1 -1
  179. package/dist/component/validators/activity.js.map +1 -1
  180. package/dist/component/validators/body.d.ts +20 -14
  181. package/dist/component/validators/body.d.ts.map +1 -1
  182. package/dist/component/validators/body.js.map +1 -1
  183. package/dist/component/validators/daily.d.ts +6 -0
  184. package/dist/component/validators/daily.d.ts.map +1 -1
  185. package/dist/component/validators/daily.js.map +1 -1
  186. package/dist/component/validators/enums.d.ts +1 -1
  187. package/dist/component/validators/menstruation.d.ts +5 -0
  188. package/dist/component/validators/menstruation.d.ts.map +1 -1
  189. package/dist/component/validators/menstruation.js.map +1 -1
  190. package/dist/garmin/client.js.map +1 -1
  191. package/dist/garmin/index.d.ts +0 -2
  192. package/dist/garmin/index.d.ts.map +1 -1
  193. package/dist/garmin/index.js +0 -1
  194. package/dist/garmin/index.js.map +1 -1
  195. package/dist/garmin/sync.d.ts.map +1 -1
  196. package/dist/garmin/sync.js +3 -2
  197. package/dist/garmin/sync.js.map +1 -1
  198. package/dist/garmin/types.d.ts +1 -1
  199. package/dist/garmin/types.d.ts.map +1 -1
  200. package/dist/validators.d.ts +31 -28
  201. package/dist/validators.d.ts.map +1 -1
  202. package/dist/validators.js +2 -2
  203. package/dist/validators.js.map +1 -1
  204. package/package.json +4 -7
  205. package/src/client/index.ts +41 -172
  206. package/src/component/_generated/api.ts +96 -4
  207. package/src/component/_generated/component.ts +252 -284
  208. package/src/{garmin → component/garmin}/auth.ts +8 -1
  209. package/src/component/garmin/client.ts +39 -0
  210. package/src/component/garmin/private.ts +1798 -0
  211. package/src/component/garmin/public.ts +938 -0
  212. package/src/component/garmin/schemas/activity.ts +40 -0
  213. package/src/component/garmin/schemas/activityDetails.ts +45 -0
  214. package/src/component/garmin/schemas/bloodPressure.ts +38 -0
  215. package/src/component/garmin/schemas/bodyCompositions.ts +38 -0
  216. package/src/component/garmin/schemas/dailies.ts +38 -0
  217. package/src/component/garmin/schemas/epochs.ts +38 -0
  218. package/src/component/garmin/schemas/healthSnapshot.ts +38 -0
  219. package/src/component/garmin/schemas/hrvSummary.ts +38 -0
  220. package/src/component/garmin/schemas/manuallyUpdatedActivities.ts +49 -0
  221. package/src/component/garmin/schemas/menstrualCycleTracking.ts +39 -0
  222. package/src/component/garmin/schemas/moveIQ.ts +38 -0
  223. package/src/component/garmin/schemas/pulseOx.ts +39 -0
  224. package/src/component/garmin/schemas/respiration.ts +39 -0
  225. package/src/component/garmin/schemas/skinTemperature.ts +39 -0
  226. package/src/component/garmin/schemas/sleeps.ts +38 -0
  227. package/src/component/garmin/schemas/stress.ts +43 -0
  228. package/src/component/garmin/schemas/userMetrics.ts +39 -0
  229. package/src/component/garmin/transform/activity.ts +143 -0
  230. package/src/component/garmin/transform/activityDetails.ts +236 -0
  231. package/src/{garmin → component/garmin/transform}/bloodPressure.ts +39 -41
  232. package/src/component/garmin/transform/bodyCompositions.ts +51 -0
  233. package/src/component/garmin/transform/dailies.ts +179 -0
  234. package/src/component/garmin/transform/epochs.ts +94 -0
  235. package/src/component/garmin/transform/healthSnapshot.ts +152 -0
  236. package/src/component/garmin/transform/hrvSummary.ts +56 -0
  237. package/src/component/garmin/transform/manuallyUpdatedActivities.ts +27 -0
  238. package/src/{garmin/maps/activity-type.ts → component/garmin/transform/maps/activityType.ts} +116 -116
  239. package/src/{garmin/maps/sleep-level.ts → component/garmin/transform/maps/sleepLevel.ts} +22 -22
  240. package/src/component/garmin/transform/menstrualCycleTracking.ts +48 -0
  241. package/src/component/garmin/transform/moveIQ.ts +48 -0
  242. package/src/{garmin → component/garmin/transform}/plannedWorkout.ts +328 -333
  243. package/src/component/garmin/transform/pulseOx.ts +64 -0
  244. package/src/component/garmin/transform/respiration.ts +73 -0
  245. package/src/component/garmin/transform/skinTemperature.ts +44 -0
  246. package/src/component/garmin/transform/sleeps.ts +159 -0
  247. package/src/component/garmin/transform/stress.ts +78 -0
  248. package/src/component/garmin/transform/userMetrics.ts +56 -0
  249. package/src/component/garmin/types/specs/training-api-workouts.json +699 -0
  250. package/src/component/garmin/types/trainingApiWorkouts/client/client.gen.ts +290 -0
  251. package/src/component/garmin/types/trainingApiWorkouts/client/index.ts +25 -0
  252. package/src/component/garmin/types/trainingApiWorkouts/client/types.gen.ts +214 -0
  253. package/src/component/garmin/types/trainingApiWorkouts/client/utils.gen.ts +316 -0
  254. package/src/component/garmin/types/trainingApiWorkouts/client.gen.ts +16 -0
  255. package/src/component/garmin/types/trainingApiWorkouts/core/auth.gen.ts +41 -0
  256. package/src/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.ts +82 -0
  257. package/src/component/garmin/types/trainingApiWorkouts/core/params.gen.ts +169 -0
  258. package/src/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.ts +171 -0
  259. package/src/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.ts +117 -0
  260. package/src/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.ts +243 -0
  261. package/src/component/garmin/types/trainingApiWorkouts/core/types.gen.ts +104 -0
  262. package/src/component/garmin/types/trainingApiWorkouts/core/utils.gen.ts +140 -0
  263. package/src/component/garmin/types/trainingApiWorkouts/index.ts +4 -0
  264. package/src/component/garmin/types/trainingApiWorkouts/sdk.gen.ts +126 -0
  265. package/src/component/garmin/types/trainingApiWorkouts/types.gen.ts +387 -0
  266. package/src/component/garmin/types/trainingApiWorkouts/zod.gen.ts +423 -0
  267. package/src/component/garmin/types/wellnessApi/client/client.gen.ts +290 -0
  268. package/src/component/garmin/types/wellnessApi/client/index.ts +25 -0
  269. package/src/component/garmin/types/wellnessApi/client/types.gen.ts +214 -0
  270. package/src/component/garmin/types/wellnessApi/client/utils.gen.ts +316 -0
  271. package/src/component/garmin/types/wellnessApi/client.gen.ts +16 -0
  272. package/src/component/garmin/types/wellnessApi/core/auth.gen.ts +41 -0
  273. package/src/component/garmin/types/wellnessApi/core/bodySerializer.gen.ts +82 -0
  274. package/src/component/garmin/types/wellnessApi/core/params.gen.ts +169 -0
  275. package/src/component/garmin/types/wellnessApi/core/pathSerializer.gen.ts +171 -0
  276. package/src/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.ts +117 -0
  277. package/src/component/garmin/types/wellnessApi/core/serverSentEvents.gen.ts +243 -0
  278. package/src/component/garmin/types/wellnessApi/core/types.gen.ts +104 -0
  279. package/src/component/garmin/types/wellnessApi/core/utils.gen.ts +140 -0
  280. package/src/component/garmin/types/wellnessApi/index.ts +4 -0
  281. package/src/component/garmin/types/wellnessApi/sdk.gen.ts +207 -0
  282. package/src/component/garmin/types/wellnessApi/types.gen.ts +2942 -0
  283. package/src/component/garmin/types/wellnessApi/zod.gen.ts +878 -0
  284. package/src/component/garmin/utils.ts +25 -0
  285. package/src/component/garmin/webhooks.ts +852 -0
  286. package/src/component/strava/private.ts +89 -0
  287. package/src/component/{strava.ts → strava/public.ts} +341 -404
  288. package/src/component/validators/activity.ts +5 -0
  289. package/src/component/validators/body.ts +5 -0
  290. package/src/component/validators/daily.ts +5 -0
  291. package/src/component/validators/menstruation.ts +5 -1
  292. package/src/component/validators/plannedWorkout.ts +5 -0
  293. package/src/validators.ts +12 -2
  294. package/dist/component/garmin.d.ts +0 -366
  295. package/dist/component/garmin.d.ts.map +0 -1
  296. package/dist/component/garmin.js +0 -1481
  297. package/dist/component/garmin.js.map +0 -1
  298. package/dist/component/strava.d.ts.map +0 -1
  299. package/dist/component/strava.js.map +0 -1
  300. package/dist/garmin/activity.d.ts +0 -92
  301. package/dist/garmin/activity.d.ts.map +0 -1
  302. package/dist/garmin/activity.js +0 -201
  303. package/dist/garmin/activity.js.map +0 -1
  304. package/src/component/garmin.ts +0 -1722
  305. package/src/garmin/activity.test.ts +0 -170
  306. package/src/garmin/activity.ts +0 -265
  307. package/src/garmin/auth.test.ts +0 -103
  308. package/src/garmin/body.ts +0 -59
  309. package/src/garmin/client.ts +0 -886
  310. package/src/garmin/daily.ts +0 -215
  311. package/src/garmin/hrv.ts +0 -57
  312. package/src/garmin/index.ts +0 -145
  313. package/src/garmin/maps/activity-type.test.ts +0 -78
  314. package/src/garmin/menstruation.ts +0 -44
  315. package/src/garmin/pulseOx.ts +0 -45
  316. package/src/garmin/respiration.ts +0 -55
  317. package/src/garmin/skinTemp.ts +0 -42
  318. package/src/garmin/sleep.test.ts +0 -109
  319. package/src/garmin/sleep.ts +0 -176
  320. package/src/garmin/stressDetails.ts +0 -71
  321. package/src/garmin/sync.ts +0 -566
  322. package/src/garmin/types.ts +0 -268
  323. package/src/garmin/userMetrics.ts +0 -50
  324. package/src/garmin/wellness-api.d.ts +0 -5637
  325. /package/src/{garmin/spec → component/garmin/types/specs}/wellness-api.json +0 -0
@@ -1,6 +1,6 @@
1
1
  import type { ComponentApi } from "../component/_generated/component.js";
2
2
  import type { ActionCtx, MutationCtx, QueryCtx } from "./types.js";
3
- import { httpActionGeneric, type HttpRouter } from "convex/server";
3
+ import { httpActionGeneric, type FunctionReference, type HttpRouter } from "convex/server";
4
4
  import { buildAuthUrl } from "../strava/auth.js";
5
5
 
6
6
  export type SomaComponent = ComponentApi;
@@ -9,7 +9,7 @@ export type SomaComponent = ComponentApi;
9
9
  // Used by `registerRoutes` as defaults. Override per-provider in the opts.
10
10
 
11
11
  export const STRAVA_CALLBACK_PATH = "/api/strava/callback";
12
- export const GARMIN_CALLBACK_PATH = "/api/garmin/callback";
12
+ export const GARMIN_OAUTH_CALLBACK_PATH = "/api/garmin/callback";
13
13
  export const GARMIN_WEBHOOK_BASE_PATH = "/api/garmin/webhook";
14
14
 
15
15
  /**
@@ -866,7 +866,7 @@ export class Soma {
866
866
  },
867
867
  ) {
868
868
  const config = this.requireGarminConfig();
869
- return await ctx.runAction(this.component.garmin.pushPlannedWorkout, {
869
+ return await ctx.runAction(this.component.garmin.public.pushPlannedWorkout, {
870
870
  ...args,
871
871
  clientId: config.clientId,
872
872
  clientSecret: config.clientSecret,
@@ -942,7 +942,7 @@ export class Soma {
942
942
  args: { userId: string; code: string; includeStreams?: boolean },
943
943
  ) {
944
944
  const config = this.requireStravaConfig();
945
- return await ctx.runAction(this.component.strava.connectStrava, {
945
+ return await ctx.runAction(this.component.strava.public.connectStrava, {
946
946
  ...args,
947
947
  clientId: config.clientId,
948
948
  clientSecret: config.clientSecret,
@@ -977,7 +977,7 @@ export class Soma {
977
977
  args: { userId: string; includeStreams?: boolean; after?: number },
978
978
  ) {
979
979
  const config = this.requireStravaConfig();
980
- return await ctx.runAction(this.component.strava.syncStrava, {
980
+ return await ctx.runAction(this.component.strava.public.syncStrava, {
981
981
  ...args,
982
982
  clientId: config.clientId,
983
983
  clientSecret: config.clientSecret,
@@ -1009,7 +1009,7 @@ export class Soma {
1009
1009
  args: { userId: string },
1010
1010
  ) {
1011
1011
  const config = this.requireStravaConfig();
1012
- return await ctx.runAction(this.component.strava.disconnectStrava, {
1012
+ return await ctx.runAction(this.component.strava.public.disconnectStrava, {
1013
1013
  ...args,
1014
1014
  clientId: config.clientId,
1015
1015
  clientSecret: config.clientSecret,
@@ -1055,7 +1055,7 @@ export class Soma {
1055
1055
  opts: { redirectUri?: string; userId?: string },
1056
1056
  ) {
1057
1057
  const config = this.requireGarminConfig();
1058
- return await ctx.runAction(this.component.garmin.getGarminAuthUrl, {
1058
+ return await ctx.runAction(this.component.garmin.public.getGarminAuthUrl, {
1059
1059
  clientId: config.clientId,
1060
1060
  redirectUri: opts.redirectUri,
1061
1061
  userId: opts.userId,
@@ -1103,7 +1103,7 @@ export class Soma {
1103
1103
  },
1104
1104
  ) {
1105
1105
  const config = this.requireGarminConfig();
1106
- return await ctx.runAction(this.component.garmin.connectGarmin, {
1106
+ return await ctx.runAction(this.component.garmin.public.connectGarmin, {
1107
1107
  ...args,
1108
1108
  clientId: config.clientId,
1109
1109
  clientSecret: config.clientSecret,
@@ -1128,7 +1128,7 @@ export class Soma {
1128
1128
  args: { code: string; state: string; redirectUri?: string },
1129
1129
  ) {
1130
1130
  const config = this.requireGarminConfig();
1131
- return await ctx.runAction(this.component.garmin.completeGarminOAuth, {
1131
+ return await ctx.runAction(this.component.garmin.public.completeGarminOAuth, {
1132
1132
  ...args,
1133
1133
  clientId: config.clientId,
1134
1134
  clientSecret: config.clientSecret,
@@ -1167,7 +1167,7 @@ export class Soma {
1167
1167
  },
1168
1168
  ) {
1169
1169
  const config = this.requireGarminConfig();
1170
- return await ctx.runAction(this.component.garmin.syncGarmin, {
1170
+ return await ctx.runAction(this.component.garmin.public.syncGarmin, {
1171
1171
  ...args,
1172
1172
  clientId: config.clientId,
1173
1173
  clientSecret: config.clientSecret,
@@ -1197,137 +1197,7 @@ export class Soma {
1197
1197
  ctx: ActionCtx,
1198
1198
  args: { userId: string },
1199
1199
  ) {
1200
- return await ctx.runAction(this.component.garmin.disconnectGarmin, args);
1201
- }
1202
-
1203
- // ── Garmin Webhook Handlers ──────────────────────────────────────────────
1204
- // For host apps that handle webhook routes manually instead of using
1205
- // registerRoutes. Pass the raw JSON body from the Garmin POST request.
1206
-
1207
- /**
1208
- * Handle a Garmin activities webhook (push mode).
1209
- *
1210
- * @param ctx - Convex action context
1211
- * @param payload - The raw JSON body from Garmin's POST (array of GarminActivity)
1212
- */
1213
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1214
- private get garminApi(): any { return this.component.garmin; }
1215
-
1216
- async handleGarminWebhookActivities(ctx: ActionCtx, payload: unknown) {
1217
- return await ctx.runAction(
1218
- this.garminApi.handleGarminWebhookActivities,
1219
- { payload },
1220
- );
1221
- }
1222
-
1223
- /**
1224
- * Handle a Garmin dailies webhook (push mode).
1225
- */
1226
- async handleGarminWebhookDailies(ctx: ActionCtx, payload: unknown) {
1227
- return await ctx.runAction(
1228
- this.garminApi.handleGarminWebhookDailies,
1229
- { payload },
1230
- );
1231
- }
1232
-
1233
- /**
1234
- * Handle a Garmin sleeps webhook (push mode).
1235
- */
1236
- async handleGarminWebhookSleeps(ctx: ActionCtx, payload: unknown) {
1237
- return await ctx.runAction(
1238
- this.garminApi.handleGarminWebhookSleeps,
1239
- { payload },
1240
- );
1241
- }
1242
-
1243
- /**
1244
- * Handle a Garmin body composition webhook (push mode).
1245
- */
1246
- async handleGarminWebhookBody(ctx: ActionCtx, payload: unknown) {
1247
- return await ctx.runAction(
1248
- this.garminApi.handleGarminWebhookBody,
1249
- { payload },
1250
- );
1251
- }
1252
-
1253
- /**
1254
- * Handle a Garmin menstrual cycle tracking webhook (push mode).
1255
- */
1256
- async handleGarminWebhookMenstruation(ctx: ActionCtx, payload: unknown) {
1257
- return await ctx.runAction(
1258
- this.garminApi.handleGarminWebhookMenstruation,
1259
- { payload },
1260
- );
1261
- }
1262
-
1263
- /**
1264
- * Handle a Garmin blood pressure webhook (push mode).
1265
- */
1266
- async handleGarminWebhookBloodPressures(ctx: ActionCtx, payload: unknown) {
1267
- return await ctx.runAction(
1268
- this.garminApi.handleGarminWebhookBloodPressures,
1269
- { payload },
1270
- );
1271
- }
1272
-
1273
- /**
1274
- * Handle a Garmin skin temperature webhook (push mode).
1275
- */
1276
- async handleGarminWebhookSkinTemp(ctx: ActionCtx, payload: unknown) {
1277
- return await ctx.runAction(
1278
- this.garminApi.handleGarminWebhookSkinTemp,
1279
- { payload },
1280
- );
1281
- }
1282
-
1283
- /**
1284
- * Handle a Garmin user metrics webhook (push mode).
1285
- */
1286
- async handleGarminWebhookUserMetrics(ctx: ActionCtx, payload: unknown) {
1287
- return await ctx.runAction(
1288
- this.garminApi.handleGarminWebhookUserMetrics,
1289
- { payload },
1290
- );
1291
- }
1292
-
1293
- /**
1294
- * Handle a Garmin HRV webhook (push mode).
1295
- */
1296
- async handleGarminWebhookHRV(ctx: ActionCtx, payload: unknown) {
1297
- return await ctx.runAction(
1298
- this.garminApi.handleGarminWebhookHRV,
1299
- { payload },
1300
- );
1301
- }
1302
-
1303
- /**
1304
- * Handle a Garmin stress details webhook (push mode).
1305
- */
1306
- async handleGarminWebhookStressDetails(ctx: ActionCtx, payload: unknown) {
1307
- return await ctx.runAction(
1308
- this.garminApi.handleGarminWebhookStressDetails,
1309
- { payload },
1310
- );
1311
- }
1312
-
1313
- /**
1314
- * Handle a Garmin pulse oximetry webhook (push mode).
1315
- */
1316
- async handleGarminWebhookPulseOx(ctx: ActionCtx, payload: unknown) {
1317
- return await ctx.runAction(
1318
- this.garminApi.handleGarminWebhookPulseOx,
1319
- { payload },
1320
- );
1321
- }
1322
-
1323
- /**
1324
- * Handle a Garmin respiration webhook (push mode).
1325
- */
1326
- async handleGarminWebhookRespiration(ctx: ActionCtx, payload: unknown) {
1327
- return await ctx.runAction(
1328
- this.garminApi.handleGarminWebhookRespiration,
1329
- { payload },
1330
- );
1200
+ return await ctx.runAction(this.component.garmin.public.disconnectGarmin, args);
1331
1201
  }
1332
1202
  }
1333
1203
 
@@ -1481,7 +1351,7 @@ export function registerRoutes(
1481
1351
  if (!userId) {
1482
1352
  return new Response(
1483
1353
  "Missing state parameter (userId). Pass the userId as the state " +
1484
- "parameter when building the Strava auth URL.",
1354
+ "parameter when building the Strava auth URL.",
1485
1355
  { status: 400 },
1486
1356
  );
1487
1357
  }
@@ -1494,13 +1364,13 @@ export function registerRoutes(
1494
1364
  if (!clientId || !clientSecret) {
1495
1365
  return new Response(
1496
1366
  "Strava credentials not configured. Set STRAVA_CLIENT_ID and " +
1497
- "STRAVA_CLIENT_SECRET environment variables, or pass them to registerRoutes.",
1367
+ "STRAVA_CLIENT_SECRET environment variables, or pass them to registerRoutes.",
1498
1368
  { status: 500 },
1499
1369
  );
1500
1370
  }
1501
1371
 
1502
1372
  try {
1503
- await ctx.runAction(component.strava.connectStrava, {
1373
+ await ctx.runAction(component.strava.public.connectStrava, {
1504
1374
  userId,
1505
1375
  code,
1506
1376
  clientId,
@@ -1531,7 +1401,7 @@ export function registerRoutes(
1531
1401
 
1532
1402
  if (registerAll || opts?.garmin) {
1533
1403
  const garmin = opts?.garmin ?? {};
1534
- const path = garmin.path ?? GARMIN_CALLBACK_PATH;
1404
+ const path = garmin.path ?? GARMIN_OAUTH_CALLBACK_PATH;
1535
1405
 
1536
1406
  http.route({
1537
1407
  path,
@@ -1549,7 +1419,7 @@ export function registerRoutes(
1549
1419
  if (!state) {
1550
1420
  return new Response(
1551
1421
  "Missing state parameter. Ensure the state was included " +
1552
- "when building the Garmin auth URL.",
1422
+ "when building the Garmin auth URL.",
1553
1423
  { status: 400 },
1554
1424
  );
1555
1425
  }
@@ -1562,13 +1432,13 @@ export function registerRoutes(
1562
1432
  if (!clientId || !clientSecret) {
1563
1433
  return new Response(
1564
1434
  "Garmin credentials not configured. Set GARMIN_CLIENT_ID and " +
1565
- "GARMIN_CLIENT_SECRET environment variables, or pass them to registerRoutes.",
1435
+ "GARMIN_CLIENT_SECRET environment variables, or pass them to registerRoutes.",
1566
1436
  { status: 500 },
1567
1437
  );
1568
1438
  }
1569
1439
 
1570
1440
  try {
1571
- await ctx.runAction(component.garmin.completeGarminOAuth, {
1441
+ await ctx.runAction(component.garmin.public.completeGarminOAuth, {
1572
1442
  code,
1573
1443
  state,
1574
1444
  clientId,
@@ -1595,38 +1465,37 @@ export function registerRoutes(
1595
1465
  }),
1596
1466
  });
1597
1467
 
1598
- // ── Garmin Webhook Routes (Push Mode) ──────────────────────────────────
1468
+ // ── Garmin Webhook Routes ──────────────────────────────────
1599
1469
  if (garmin.webhook !== false) {
1600
1470
  const webhookBase =
1601
1471
  (garmin.webhook && garmin.webhook.basePath) ?? GARMIN_WEBHOOK_BASE_PATH;
1602
1472
 
1603
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1604
- const garminApi = component.garmin as any;
1605
1473
  const webhookRoutes: Array<{
1606
1474
  suffix: string;
1607
1475
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1608
- action: any;
1476
+ action: FunctionReference<"action", "internal", { payload: any }>;
1609
1477
  }> = [
1610
- // ACTIVITY category
1611
- { suffix: "/activities", action: garminApi.handleGarminWebhookActivities },
1612
- { suffix: "/activity-details", action: garminApi.handleGarminWebhookActivities },
1613
- { suffix: "/manually-updated-activities", action: garminApi.handleGarminWebhookActivities },
1614
- { suffix: "/move-iq", action: garminApi.handleGarminWebhookActivities },
1615
- // HEALTH category
1616
- { suffix: "/dailies", action: garminApi.handleGarminWebhookDailies },
1617
- { suffix: "/sleeps", action: garminApi.handleGarminWebhookSleeps },
1618
- { suffix: "/hrv", action: garminApi.handleGarminWebhookHRV },
1619
- { suffix: "/stress-details", action: garminApi.handleGarminWebhookStressDetails },
1620
- { suffix: "/pulse-ox", action: garminApi.handleGarminWebhookPulseOx },
1621
- { suffix: "/respiration", action: garminApi.handleGarminWebhookRespiration },
1622
- // BODY category
1623
- { suffix: "/body", action: garminApi.handleGarminWebhookBody },
1624
- { suffix: "/blood-pressures", action: garminApi.handleGarminWebhookBloodPressures },
1625
- { suffix: "/skin-temp", action: garminApi.handleGarminWebhookSkinTemp },
1626
- { suffix: "/user-metrics", action: garminApi.handleGarminWebhookUserMetrics },
1627
- // WOMEN_HEALTH category
1628
- { suffix: "/menstruation", action: garminApi.handleGarminWebhookMenstruation },
1629
- ];
1478
+ // ACTIVITY category
1479
+ { suffix: "/activities", action: component.garmin.webhooks.handleGarminWebhookActivities },
1480
+ { suffix: "/activity-details", action: component.garmin.webhooks.handleGarminWebhookActivityDetails },
1481
+ { suffix: "/manually-updated-activities", action: component.garmin.webhooks.handleGarminWebhookManuallyUpdatedActivities },
1482
+ { suffix: "/move-iq", action: component.garmin.webhooks.handleGarminWebhookMoveIQ },
1483
+ // HEALTH category
1484
+ { suffix: "/blood-pressures", action: component.garmin.webhooks.handleGarminWebhookBloodPressures },
1485
+ { suffix: "/body-compositions", action: component.garmin.webhooks.handleGarminWebhookBodyCompositions },
1486
+ { suffix: "/dailies", action: component.garmin.webhooks.handleGarminWebhookDailies },
1487
+ { suffix: "/epochs", action: component.garmin.webhooks.handleGarminWebhookEpochs },
1488
+ { suffix: "/health-snapshot", action: component.garmin.webhooks.handleGarminWebhookHealthSnapshot },
1489
+ { suffix: "/sleeps", action: component.garmin.webhooks.handleGarminWebhookSleeps },
1490
+ { suffix: "/hrv", action: component.garmin.webhooks.handleGarminWebhookHRVSummary },
1491
+ { suffix: "/stress", action: component.garmin.webhooks.handleGarminWebhookStress },
1492
+ { suffix: "/pulse-ox", action: component.garmin.webhooks.handleGarminWebhookPulseOx },
1493
+ { suffix: "/respiration", action: component.garmin.webhooks.handleGarminWebhookRespiration },
1494
+ { suffix: "/skin-temp", action: component.garmin.webhooks.handleGarminWebhookSkinTemp },
1495
+ { suffix: "/user-metrics", action: component.garmin.webhooks.handleGarminWebhookUserMetrics },
1496
+ // WOMEN_HEALTH category
1497
+ { suffix: "/menstrual-cycle-tracking", action: component.garmin.webhooks.handleGarminWebhookMenstrualCycleTracking },
1498
+ ];
1630
1499
 
1631
1500
  for (const route of webhookRoutes) {
1632
1501
  http.route({
@@ -8,10 +8,56 @@
8
8
  * @module
9
9
  */
10
10
 
11
- import type * as garmin from "../garmin.js";
11
+ import type * as garmin_auth from "../garmin/auth.js";
12
+ import type * as garmin_client from "../garmin/client.js";
13
+ import type * as garmin_private from "../garmin/private.js";
14
+ import type * as garmin_public from "../garmin/public.js";
15
+ import type * as garmin_schemas_activity from "../garmin/schemas/activity.js";
16
+ import type * as garmin_schemas_activityDetails from "../garmin/schemas/activityDetails.js";
17
+ import type * as garmin_schemas_bloodPressure from "../garmin/schemas/bloodPressure.js";
18
+ import type * as garmin_schemas_bodyCompositions from "../garmin/schemas/bodyCompositions.js";
19
+ import type * as garmin_schemas_dailies from "../garmin/schemas/dailies.js";
20
+ import type * as garmin_schemas_epochs from "../garmin/schemas/epochs.js";
21
+ import type * as garmin_schemas_healthSnapshot from "../garmin/schemas/healthSnapshot.js";
22
+ import type * as garmin_schemas_hrvSummary from "../garmin/schemas/hrvSummary.js";
23
+ import type * as garmin_schemas_manuallyUpdatedActivities from "../garmin/schemas/manuallyUpdatedActivities.js";
24
+ import type * as garmin_schemas_menstrualCycleTracking from "../garmin/schemas/menstrualCycleTracking.js";
25
+ import type * as garmin_schemas_moveIQ from "../garmin/schemas/moveIQ.js";
26
+ import type * as garmin_schemas_pulseOx from "../garmin/schemas/pulseOx.js";
27
+ import type * as garmin_schemas_respiration from "../garmin/schemas/respiration.js";
28
+ import type * as garmin_schemas_skinTemperature from "../garmin/schemas/skinTemperature.js";
29
+ import type * as garmin_schemas_sleeps from "../garmin/schemas/sleeps.js";
30
+ import type * as garmin_schemas_stress from "../garmin/schemas/stress.js";
31
+ import type * as garmin_schemas_userMetrics from "../garmin/schemas/userMetrics.js";
32
+ import type * as garmin_transform_activity from "../garmin/transform/activity.js";
33
+ import type * as garmin_transform_activityDetails from "../garmin/transform/activityDetails.js";
34
+ import type * as garmin_transform_bloodPressure from "../garmin/transform/bloodPressure.js";
35
+ import type * as garmin_transform_bodyCompositions from "../garmin/transform/bodyCompositions.js";
36
+ import type * as garmin_transform_dailies from "../garmin/transform/dailies.js";
37
+ import type * as garmin_transform_epochs from "../garmin/transform/epochs.js";
38
+ import type * as garmin_transform_healthSnapshot from "../garmin/transform/healthSnapshot.js";
39
+ import type * as garmin_transform_hrvSummary from "../garmin/transform/hrvSummary.js";
40
+ import type * as garmin_transform_manuallyUpdatedActivities from "../garmin/transform/manuallyUpdatedActivities.js";
41
+ import type * as garmin_transform_maps_activityType from "../garmin/transform/maps/activityType.js";
42
+ import type * as garmin_transform_maps_sleepLevel from "../garmin/transform/maps/sleepLevel.js";
43
+ import type * as garmin_transform_menstrualCycleTracking from "../garmin/transform/menstrualCycleTracking.js";
44
+ import type * as garmin_transform_moveIQ from "../garmin/transform/moveIQ.js";
45
+ import type * as garmin_transform_plannedWorkout from "../garmin/transform/plannedWorkout.js";
46
+ import type * as garmin_transform_pulseOx from "../garmin/transform/pulseOx.js";
47
+ import type * as garmin_transform_respiration from "../garmin/transform/respiration.js";
48
+ import type * as garmin_transform_skinTemperature from "../garmin/transform/skinTemperature.js";
49
+ import type * as garmin_transform_sleeps from "../garmin/transform/sleeps.js";
50
+ import type * as garmin_transform_stress from "../garmin/transform/stress.js";
51
+ import type * as garmin_transform_userMetrics from "../garmin/transform/userMetrics.js";
52
+ import type * as garmin_types_trainingApiWorkouts_client_index from "../garmin/types/trainingApiWorkouts/client/index.js";
53
+ import type * as garmin_types_trainingApiWorkouts_index from "../garmin/types/trainingApiWorkouts/index.js";
54
+ import type * as garmin_types_wellnessApi_client_index from "../garmin/types/wellnessApi/client/index.js";
55
+ import type * as garmin_types_wellnessApi_index from "../garmin/types/wellnessApi/index.js";
56
+ import type * as garmin_webhooks from "../garmin/webhooks.js";
12
57
  import type * as private_ from "../private.js";
13
58
  import type * as public_ from "../public.js";
14
- import type * as strava from "../strava.js";
59
+ import type * as strava_private from "../strava/private.js";
60
+ import type * as strava_public from "../strava/public.js";
15
61
  import type * as validators_activity from "../validators/activity.js";
16
62
  import type * as validators_athlete from "../validators/athlete.js";
17
63
  import type * as validators_body from "../validators/body.js";
@@ -34,10 +80,56 @@ import type {
34
80
  import { anyApi, componentsGeneric } from "convex/server";
35
81
 
36
82
  const fullApi: ApiFromModules<{
37
- garmin: typeof garmin;
83
+ "garmin/auth": typeof garmin_auth;
84
+ "garmin/client": typeof garmin_client;
85
+ "garmin/private": typeof garmin_private;
86
+ "garmin/public": typeof garmin_public;
87
+ "garmin/schemas/activity": typeof garmin_schemas_activity;
88
+ "garmin/schemas/activityDetails": typeof garmin_schemas_activityDetails;
89
+ "garmin/schemas/bloodPressure": typeof garmin_schemas_bloodPressure;
90
+ "garmin/schemas/bodyCompositions": typeof garmin_schemas_bodyCompositions;
91
+ "garmin/schemas/dailies": typeof garmin_schemas_dailies;
92
+ "garmin/schemas/epochs": typeof garmin_schemas_epochs;
93
+ "garmin/schemas/healthSnapshot": typeof garmin_schemas_healthSnapshot;
94
+ "garmin/schemas/hrvSummary": typeof garmin_schemas_hrvSummary;
95
+ "garmin/schemas/manuallyUpdatedActivities": typeof garmin_schemas_manuallyUpdatedActivities;
96
+ "garmin/schemas/menstrualCycleTracking": typeof garmin_schemas_menstrualCycleTracking;
97
+ "garmin/schemas/moveIQ": typeof garmin_schemas_moveIQ;
98
+ "garmin/schemas/pulseOx": typeof garmin_schemas_pulseOx;
99
+ "garmin/schemas/respiration": typeof garmin_schemas_respiration;
100
+ "garmin/schemas/skinTemperature": typeof garmin_schemas_skinTemperature;
101
+ "garmin/schemas/sleeps": typeof garmin_schemas_sleeps;
102
+ "garmin/schemas/stress": typeof garmin_schemas_stress;
103
+ "garmin/schemas/userMetrics": typeof garmin_schemas_userMetrics;
104
+ "garmin/transform/activity": typeof garmin_transform_activity;
105
+ "garmin/transform/activityDetails": typeof garmin_transform_activityDetails;
106
+ "garmin/transform/bloodPressure": typeof garmin_transform_bloodPressure;
107
+ "garmin/transform/bodyCompositions": typeof garmin_transform_bodyCompositions;
108
+ "garmin/transform/dailies": typeof garmin_transform_dailies;
109
+ "garmin/transform/epochs": typeof garmin_transform_epochs;
110
+ "garmin/transform/healthSnapshot": typeof garmin_transform_healthSnapshot;
111
+ "garmin/transform/hrvSummary": typeof garmin_transform_hrvSummary;
112
+ "garmin/transform/manuallyUpdatedActivities": typeof garmin_transform_manuallyUpdatedActivities;
113
+ "garmin/transform/maps/activityType": typeof garmin_transform_maps_activityType;
114
+ "garmin/transform/maps/sleepLevel": typeof garmin_transform_maps_sleepLevel;
115
+ "garmin/transform/menstrualCycleTracking": typeof garmin_transform_menstrualCycleTracking;
116
+ "garmin/transform/moveIQ": typeof garmin_transform_moveIQ;
117
+ "garmin/transform/plannedWorkout": typeof garmin_transform_plannedWorkout;
118
+ "garmin/transform/pulseOx": typeof garmin_transform_pulseOx;
119
+ "garmin/transform/respiration": typeof garmin_transform_respiration;
120
+ "garmin/transform/skinTemperature": typeof garmin_transform_skinTemperature;
121
+ "garmin/transform/sleeps": typeof garmin_transform_sleeps;
122
+ "garmin/transform/stress": typeof garmin_transform_stress;
123
+ "garmin/transform/userMetrics": typeof garmin_transform_userMetrics;
124
+ "garmin/types/trainingApiWorkouts/client/index": typeof garmin_types_trainingApiWorkouts_client_index;
125
+ "garmin/types/trainingApiWorkouts/index": typeof garmin_types_trainingApiWorkouts_index;
126
+ "garmin/types/wellnessApi/client/index": typeof garmin_types_wellnessApi_client_index;
127
+ "garmin/types/wellnessApi/index": typeof garmin_types_wellnessApi_index;
128
+ "garmin/webhooks": typeof garmin_webhooks;
38
129
  private: typeof private_;
39
130
  public: typeof public_;
40
- strava: typeof strava;
131
+ "strava/private": typeof strava_private;
132
+ "strava/public": typeof strava_public;
41
133
  "validators/activity": typeof validators_activity;
42
134
  "validators/athlete": typeof validators_athlete;
43
135
  "validators/body": typeof validators_body;