@nativesquare/soma 0.7.3 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/client/index.d.ts +17 -55
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +63 -13
  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 +153 -120
  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.d.ts → garmin/public.d.ts} +25 -52
  15. package/dist/component/garmin/public.d.ts.map +1 -0
  16. package/dist/component/{garmin.js → garmin/public.js} +301 -215
  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 +20 -2
  167. package/dist/component/private.d.ts.map +1 -1
  168. package/dist/component/private.js +18 -0
  169. package/dist/component/private.js.map +1 -1
  170. package/dist/component/public.d.ts +433 -387
  171. package/dist/component/public.d.ts.map +1 -1
  172. package/dist/component/public.js +12 -2
  173. package/dist/component/public.js.map +1 -1
  174. package/dist/component/schema.d.ts +217 -162
  175. package/dist/component/schema.d.ts.map +1 -1
  176. package/dist/component/schema.js +2 -1
  177. package/dist/component/schema.js.map +1 -1
  178. package/dist/component/strava/private.d.ts +30 -0
  179. package/dist/component/strava/private.d.ts.map +1 -0
  180. package/dist/component/strava/private.js +71 -0
  181. package/dist/component/strava/private.js.map +1 -0
  182. package/dist/component/{strava.d.ts → strava/public.d.ts} +3 -31
  183. package/dist/component/strava/public.d.ts.map +1 -0
  184. package/dist/component/{strava.js → strava/public.js} +22 -101
  185. package/dist/component/strava/public.js.map +1 -0
  186. package/dist/component/validators/activity.d.ts +6 -0
  187. package/dist/component/validators/activity.d.ts.map +1 -1
  188. package/dist/component/validators/activity.js.map +1 -1
  189. package/dist/component/validators/body.d.ts +20 -14
  190. package/dist/component/validators/body.d.ts.map +1 -1
  191. package/dist/component/validators/body.js.map +1 -1
  192. package/dist/component/validators/connection.d.ts +1 -0
  193. package/dist/component/validators/connection.d.ts.map +1 -1
  194. package/dist/component/validators/connection.js +2 -0
  195. package/dist/component/validators/connection.js.map +1 -1
  196. package/dist/component/validators/daily.d.ts +46 -5
  197. package/dist/component/validators/daily.d.ts.map +1 -1
  198. package/dist/component/validators/daily.js +10 -1
  199. package/dist/component/validators/daily.js.map +1 -1
  200. package/dist/component/validators/enums.d.ts +2 -2
  201. package/dist/component/validators/menstruation.d.ts +5 -0
  202. package/dist/component/validators/menstruation.d.ts.map +1 -1
  203. package/dist/component/validators/menstruation.js.map +1 -1
  204. package/dist/component/validators/plannedWorkout.d.ts +5 -1
  205. package/dist/component/validators/plannedWorkout.d.ts.map +1 -1
  206. package/dist/component/validators/plannedWorkout.js +4 -0
  207. package/dist/component/validators/plannedWorkout.js.map +1 -1
  208. package/dist/component/validators/sleep.d.ts +8 -8
  209. package/dist/garmin/bloodPressure.d.ts +28 -0
  210. package/dist/garmin/bloodPressure.d.ts.map +1 -0
  211. package/dist/garmin/bloodPressure.js +34 -0
  212. package/dist/garmin/bloodPressure.js.map +1 -0
  213. package/dist/garmin/body.js +1 -1
  214. package/dist/garmin/body.js.map +1 -1
  215. package/dist/garmin/client.d.ts +117 -17
  216. package/dist/garmin/client.d.ts.map +1 -1
  217. package/dist/garmin/client.js +337 -43
  218. package/dist/garmin/client.js.map +1 -1
  219. package/dist/garmin/daily.d.ts.map +1 -1
  220. package/dist/garmin/daily.js +3 -3
  221. package/dist/garmin/daily.js.map +1 -1
  222. package/dist/garmin/hrv.d.ts +30 -0
  223. package/dist/garmin/hrv.d.ts.map +1 -0
  224. package/dist/garmin/hrv.js +45 -0
  225. package/dist/garmin/hrv.js.map +1 -0
  226. package/dist/garmin/index.d.ts +16 -4
  227. package/dist/garmin/index.d.ts.map +1 -1
  228. package/dist/garmin/index.js +8 -2
  229. package/dist/garmin/index.js.map +1 -1
  230. package/dist/garmin/maps/activity-type.d.ts +1 -2
  231. package/dist/garmin/maps/activity-type.d.ts.map +1 -1
  232. package/dist/garmin/maps/activity-type.js +1 -0
  233. package/dist/garmin/maps/activity-type.js.map +1 -1
  234. package/dist/garmin/menstruation.d.ts +6 -4
  235. package/dist/garmin/menstruation.d.ts.map +1 -1
  236. package/dist/garmin/menstruation.js +12 -8
  237. package/dist/garmin/menstruation.js.map +1 -1
  238. package/dist/garmin/pulseOx.d.ts +24 -0
  239. package/dist/garmin/pulseOx.d.ts.map +1 -0
  240. package/dist/garmin/pulseOx.js +33 -0
  241. package/dist/garmin/pulseOx.js.map +1 -0
  242. package/dist/garmin/respiration.d.ts +29 -0
  243. package/dist/garmin/respiration.d.ts.map +1 -0
  244. package/dist/garmin/respiration.js +42 -0
  245. package/dist/garmin/respiration.js.map +1 -0
  246. package/dist/garmin/skinTemp.d.ts +27 -0
  247. package/dist/garmin/skinTemp.d.ts.map +1 -0
  248. package/dist/garmin/skinTemp.js +35 -0
  249. package/dist/garmin/skinTemp.js.map +1 -0
  250. package/dist/garmin/sleep.d.ts +4 -4
  251. package/dist/garmin/sleep.d.ts.map +1 -1
  252. package/dist/garmin/sleep.js +15 -9
  253. package/dist/garmin/sleep.js.map +1 -1
  254. package/dist/garmin/stressDetails.d.ts +30 -0
  255. package/dist/garmin/stressDetails.d.ts.map +1 -0
  256. package/dist/garmin/stressDetails.js +49 -0
  257. package/dist/garmin/stressDetails.js.map +1 -0
  258. package/dist/garmin/sync.d.ts +14 -0
  259. package/dist/garmin/sync.d.ts.map +1 -1
  260. package/dist/garmin/sync.js +290 -7
  261. package/dist/garmin/sync.js.map +1 -1
  262. package/dist/garmin/types.d.ts +77 -186
  263. package/dist/garmin/types.d.ts.map +1 -1
  264. package/dist/garmin/types.js +4 -2
  265. package/dist/garmin/types.js.map +1 -1
  266. package/dist/garmin/userMetrics.d.ts +23 -0
  267. package/dist/garmin/userMetrics.d.ts.map +1 -0
  268. package/dist/garmin/userMetrics.js +41 -0
  269. package/dist/garmin/userMetrics.js.map +1 -0
  270. package/dist/validators.d.ts +138 -56
  271. package/dist/validators.d.ts.map +1 -1
  272. package/dist/validators.js +2 -2
  273. package/dist/validators.js.map +1 -1
  274. package/package.json +130 -124
  275. package/src/client/index.ts +86 -18
  276. package/src/component/_generated/api.ts +96 -4
  277. package/src/component/_generated/component.ts +271 -144
  278. package/src/{garmin → component/garmin}/auth.ts +8 -1
  279. package/src/component/garmin/client.ts +39 -0
  280. package/src/component/garmin/private.ts +1798 -0
  281. package/src/component/garmin/public.ts +938 -0
  282. package/src/component/garmin/schemas/activity.ts +40 -0
  283. package/src/component/garmin/schemas/activityDetails.ts +45 -0
  284. package/src/component/garmin/schemas/bloodPressure.ts +38 -0
  285. package/src/component/garmin/schemas/bodyCompositions.ts +38 -0
  286. package/src/component/garmin/schemas/dailies.ts +38 -0
  287. package/src/component/garmin/schemas/epochs.ts +38 -0
  288. package/src/component/garmin/schemas/healthSnapshot.ts +38 -0
  289. package/src/component/garmin/schemas/hrvSummary.ts +38 -0
  290. package/src/component/garmin/schemas/manuallyUpdatedActivities.ts +49 -0
  291. package/src/component/garmin/schemas/menstrualCycleTracking.ts +39 -0
  292. package/src/component/garmin/schemas/moveIQ.ts +38 -0
  293. package/src/component/garmin/schemas/pulseOx.ts +39 -0
  294. package/src/component/garmin/schemas/respiration.ts +39 -0
  295. package/src/component/garmin/schemas/skinTemperature.ts +39 -0
  296. package/src/component/garmin/schemas/sleeps.ts +38 -0
  297. package/src/component/garmin/schemas/stress.ts +43 -0
  298. package/src/component/garmin/schemas/userMetrics.ts +39 -0
  299. package/src/component/garmin/transform/activity.ts +143 -0
  300. package/src/component/garmin/transform/activityDetails.ts +236 -0
  301. package/src/component/garmin/transform/bloodPressure.ts +39 -0
  302. package/src/component/garmin/transform/bodyCompositions.ts +51 -0
  303. package/src/component/garmin/transform/dailies.ts +179 -0
  304. package/src/component/garmin/transform/epochs.ts +94 -0
  305. package/src/component/garmin/transform/healthSnapshot.ts +152 -0
  306. package/src/component/garmin/transform/hrvSummary.ts +56 -0
  307. package/src/component/garmin/transform/manuallyUpdatedActivities.ts +27 -0
  308. package/src/{garmin/maps/activity-type.ts → component/garmin/transform/maps/activityType.ts} +116 -116
  309. package/src/{garmin/maps/sleep-level.ts → component/garmin/transform/maps/sleepLevel.ts} +22 -22
  310. package/src/component/garmin/transform/menstrualCycleTracking.ts +48 -0
  311. package/src/component/garmin/transform/moveIQ.ts +48 -0
  312. package/src/{garmin → component/garmin/transform}/plannedWorkout.ts +328 -333
  313. package/src/component/garmin/transform/pulseOx.ts +64 -0
  314. package/src/component/garmin/transform/respiration.ts +73 -0
  315. package/src/component/garmin/transform/skinTemperature.ts +44 -0
  316. package/src/component/garmin/transform/sleeps.ts +159 -0
  317. package/src/component/garmin/transform/stress.ts +78 -0
  318. package/src/component/garmin/transform/userMetrics.ts +56 -0
  319. package/src/component/garmin/types/specs/training-api-workouts.json +699 -0
  320. package/src/component/garmin/types/specs/wellness-api.json +1 -0
  321. package/src/component/garmin/types/trainingApiWorkouts/client/client.gen.ts +290 -0
  322. package/src/component/garmin/types/trainingApiWorkouts/client/index.ts +25 -0
  323. package/src/component/garmin/types/trainingApiWorkouts/client/types.gen.ts +214 -0
  324. package/src/component/garmin/types/trainingApiWorkouts/client/utils.gen.ts +316 -0
  325. package/src/component/garmin/types/trainingApiWorkouts/client.gen.ts +16 -0
  326. package/src/component/garmin/types/trainingApiWorkouts/core/auth.gen.ts +41 -0
  327. package/src/component/garmin/types/trainingApiWorkouts/core/bodySerializer.gen.ts +82 -0
  328. package/src/component/garmin/types/trainingApiWorkouts/core/params.gen.ts +169 -0
  329. package/src/component/garmin/types/trainingApiWorkouts/core/pathSerializer.gen.ts +171 -0
  330. package/src/component/garmin/types/trainingApiWorkouts/core/queryKeySerializer.gen.ts +117 -0
  331. package/src/component/garmin/types/trainingApiWorkouts/core/serverSentEvents.gen.ts +243 -0
  332. package/src/component/garmin/types/trainingApiWorkouts/core/types.gen.ts +104 -0
  333. package/src/component/garmin/types/trainingApiWorkouts/core/utils.gen.ts +140 -0
  334. package/src/component/garmin/types/trainingApiWorkouts/index.ts +4 -0
  335. package/src/component/garmin/types/trainingApiWorkouts/sdk.gen.ts +126 -0
  336. package/src/component/garmin/types/trainingApiWorkouts/types.gen.ts +387 -0
  337. package/src/component/garmin/types/trainingApiWorkouts/zod.gen.ts +423 -0
  338. package/src/component/garmin/types/wellnessApi/client/client.gen.ts +290 -0
  339. package/src/component/garmin/types/wellnessApi/client/index.ts +25 -0
  340. package/src/component/garmin/types/wellnessApi/client/types.gen.ts +214 -0
  341. package/src/component/garmin/types/wellnessApi/client/utils.gen.ts +316 -0
  342. package/src/component/garmin/types/wellnessApi/client.gen.ts +16 -0
  343. package/src/component/garmin/types/wellnessApi/core/auth.gen.ts +41 -0
  344. package/src/component/garmin/types/wellnessApi/core/bodySerializer.gen.ts +82 -0
  345. package/src/component/garmin/types/wellnessApi/core/params.gen.ts +169 -0
  346. package/src/component/garmin/types/wellnessApi/core/pathSerializer.gen.ts +171 -0
  347. package/src/component/garmin/types/wellnessApi/core/queryKeySerializer.gen.ts +117 -0
  348. package/src/component/garmin/types/wellnessApi/core/serverSentEvents.gen.ts +243 -0
  349. package/src/component/garmin/types/wellnessApi/core/types.gen.ts +104 -0
  350. package/src/component/garmin/types/wellnessApi/core/utils.gen.ts +140 -0
  351. package/src/component/garmin/types/wellnessApi/index.ts +4 -0
  352. package/src/component/garmin/types/wellnessApi/sdk.gen.ts +207 -0
  353. package/src/component/garmin/types/wellnessApi/types.gen.ts +2942 -0
  354. package/src/component/garmin/types/wellnessApi/zod.gen.ts +878 -0
  355. package/src/component/garmin/utils.ts +25 -0
  356. package/src/component/garmin/webhooks.ts +852 -0
  357. package/src/component/private.ts +21 -0
  358. package/src/component/public.ts +11 -2
  359. package/src/component/schema.ts +2 -1
  360. package/src/component/strava/private.ts +89 -0
  361. package/src/component/{strava.ts → strava/public.ts} +341 -404
  362. package/src/component/validators/activity.ts +5 -0
  363. package/src/component/validators/body.ts +5 -0
  364. package/src/component/validators/connection.ts +2 -0
  365. package/src/component/validators/daily.ts +20 -0
  366. package/src/component/validators/menstruation.ts +5 -1
  367. package/src/component/validators/plannedWorkout.ts +9 -0
  368. package/src/validators.ts +12 -2
  369. package/dist/component/garmin.d.ts.map +0 -1
  370. package/dist/component/garmin.js.map +0 -1
  371. package/dist/component/strava.d.ts.map +0 -1
  372. package/dist/component/strava.js.map +0 -1
  373. package/dist/garmin/activity.d.ts +0 -101
  374. package/dist/garmin/activity.d.ts.map +0 -1
  375. package/dist/garmin/activity.js +0 -207
  376. package/dist/garmin/activity.js.map +0 -1
  377. package/src/component/garmin.ts +0 -850
  378. package/src/garmin/activity.test.ts +0 -178
  379. package/src/garmin/activity.ts +0 -272
  380. package/src/garmin/auth.test.ts +0 -103
  381. package/src/garmin/body.ts +0 -59
  382. package/src/garmin/client.ts +0 -407
  383. package/src/garmin/daily.ts +0 -211
  384. package/src/garmin/index.ts +0 -75
  385. package/src/garmin/maps/activity-type.test.ts +0 -78
  386. package/src/garmin/menstruation.ts +0 -42
  387. package/src/garmin/sleep.test.ts +0 -110
  388. package/src/garmin/sleep.ts +0 -170
  389. package/src/garmin/sync.ts +0 -223
  390. package/src/garmin/types.ts +0 -480
@@ -24,108 +24,215 @@ import type { FunctionReference } from "convex/server";
24
24
  export type ComponentApi<Name extends string | undefined = string | undefined> =
25
25
  {
26
26
  garmin: {
27
- completeGarminOAuth: FunctionReference<
28
- "action",
29
- "internal",
30
- {
31
- clientId: string;
32
- clientSecret: string;
33
- code: string;
34
- redirectUri?: string;
35
- state: string;
36
- },
37
- {
38
- connectionId: string;
39
- errors: Array<{ error: string; id: string; type: string }>;
40
- synced: {
41
- activities: number;
42
- body: number;
43
- dailies: number;
44
- menstruation: number;
45
- sleep: number;
46
- };
47
- },
48
- Name
49
- >;
50
- connectGarmin: FunctionReference<
51
- "action",
52
- "internal",
53
- {
54
- clientId: string;
55
- clientSecret: string;
56
- code: string;
57
- codeVerifier: string;
58
- redirectUri?: string;
59
- userId: string;
60
- },
61
- {
62
- connectionId: string;
63
- errors: Array<{ error: string; id: string; type: string }>;
64
- synced: {
65
- activities: number;
66
- body: number;
67
- dailies: number;
68
- menstruation: number;
69
- sleep: number;
70
- };
71
- },
72
- Name
73
- >;
74
- disconnectGarmin: FunctionReference<
75
- "action",
76
- "internal",
77
- { userId: string },
78
- null,
79
- Name
80
- >;
81
- getGarminAuthUrl: FunctionReference<
82
- "action",
83
- "internal",
84
- { clientId: string; redirectUri?: string; userId?: string },
85
- { authUrl: string; codeVerifier: string; state: string },
86
- Name
87
- >;
88
- pushPlannedWorkout: FunctionReference<
89
- "action",
90
- "internal",
91
- {
92
- clientId: string;
93
- clientSecret: string;
94
- plannedWorkoutId: string;
95
- userId: string;
96
- workoutProvider?: string;
97
- },
98
- { garminScheduleId: number | null; garminWorkoutId: number },
99
- Name
100
- >;
101
- syncGarmin: FunctionReference<
102
- "action",
103
- "internal",
104
- {
105
- clientId: string;
106
- clientSecret: string;
107
- endTimeInSeconds?: number;
108
- startTimeInSeconds?: number;
109
- userId: string;
110
- },
111
- {
112
- errors: Array<{ error: string; id: string; type: string }>;
113
- synced: {
114
- activities: number;
115
- body: number;
116
- dailies: number;
117
- menstruation: number;
118
- sleep: number;
119
- };
120
- },
121
- Name
122
- >;
27
+ public: {
28
+ completeGarminOAuth: FunctionReference<
29
+ "action",
30
+ "internal",
31
+ {
32
+ clientId: string;
33
+ clientSecret: string;
34
+ code: string;
35
+ redirectUri?: string;
36
+ state: string;
37
+ },
38
+ any,
39
+ Name
40
+ >;
41
+ connectGarmin: FunctionReference<
42
+ "action",
43
+ "internal",
44
+ {
45
+ clientId: string;
46
+ clientSecret: string;
47
+ code: string;
48
+ codeVerifier: string;
49
+ redirectUri?: string;
50
+ userId: string;
51
+ },
52
+ any,
53
+ Name
54
+ >;
55
+ disconnectGarmin: FunctionReference<
56
+ "action",
57
+ "internal",
58
+ { userId: string },
59
+ any,
60
+ Name
61
+ >;
62
+ getGarminAuthUrl: FunctionReference<
63
+ "action",
64
+ "internal",
65
+ { clientId: string; redirectUri?: string; userId?: string },
66
+ any,
67
+ Name
68
+ >;
69
+ pushPlannedWorkout: FunctionReference<
70
+ "action",
71
+ "internal",
72
+ {
73
+ clientId: string;
74
+ clientSecret: string;
75
+ plannedWorkoutId: string;
76
+ userId: string;
77
+ workoutProvider?: string;
78
+ },
79
+ any,
80
+ Name
81
+ >;
82
+ syncAllTypes: FunctionReference<
83
+ "action",
84
+ "internal",
85
+ {
86
+ accessToken: string;
87
+ connectionId: string;
88
+ uploadEndTimeInSeconds: number;
89
+ uploadStartTimeInSeconds: number;
90
+ userId: string;
91
+ },
92
+ any,
93
+ Name
94
+ >;
95
+ syncGarmin: FunctionReference<
96
+ "action",
97
+ "internal",
98
+ {
99
+ clientId: string;
100
+ clientSecret: string;
101
+ endTimeInSeconds?: number;
102
+ startTimeInSeconds?: number;
103
+ userId: string;
104
+ },
105
+ any,
106
+ Name
107
+ >;
108
+ };
109
+ webhooks: {
110
+ handleGarminWebhookActivities: FunctionReference<
111
+ "action",
112
+ "internal",
113
+ { payload: any },
114
+ any,
115
+ Name
116
+ >;
117
+ handleGarminWebhookActivityDetails: FunctionReference<
118
+ "action",
119
+ "internal",
120
+ { payload: any },
121
+ any,
122
+ Name
123
+ >;
124
+ handleGarminWebhookBloodPressures: FunctionReference<
125
+ "action",
126
+ "internal",
127
+ { payload: any },
128
+ any,
129
+ Name
130
+ >;
131
+ handleGarminWebhookBodyCompositions: FunctionReference<
132
+ "action",
133
+ "internal",
134
+ { payload: any },
135
+ any,
136
+ Name
137
+ >;
138
+ handleGarminWebhookDailies: FunctionReference<
139
+ "action",
140
+ "internal",
141
+ { payload: any },
142
+ any,
143
+ Name
144
+ >;
145
+ handleGarminWebhookEpochs: FunctionReference<
146
+ "action",
147
+ "internal",
148
+ { payload: any },
149
+ any,
150
+ Name
151
+ >;
152
+ handleGarminWebhookHealthSnapshot: FunctionReference<
153
+ "action",
154
+ "internal",
155
+ { payload: any },
156
+ any,
157
+ Name
158
+ >;
159
+ handleGarminWebhookHRVSummary: FunctionReference<
160
+ "action",
161
+ "internal",
162
+ { payload: any },
163
+ any,
164
+ Name
165
+ >;
166
+ handleGarminWebhookManuallyUpdatedActivities: FunctionReference<
167
+ "action",
168
+ "internal",
169
+ { payload: any },
170
+ any,
171
+ Name
172
+ >;
173
+ handleGarminWebhookMenstrualCycleTracking: FunctionReference<
174
+ "action",
175
+ "internal",
176
+ { payload: any },
177
+ any,
178
+ Name
179
+ >;
180
+ handleGarminWebhookMoveIQ: FunctionReference<
181
+ "action",
182
+ "internal",
183
+ { payload: any },
184
+ any,
185
+ Name
186
+ >;
187
+ handleGarminWebhookPulseOx: FunctionReference<
188
+ "action",
189
+ "internal",
190
+ { payload: any },
191
+ any,
192
+ Name
193
+ >;
194
+ handleGarminWebhookRespiration: FunctionReference<
195
+ "action",
196
+ "internal",
197
+ { payload: any },
198
+ any,
199
+ Name
200
+ >;
201
+ handleGarminWebhookSkinTemp: FunctionReference<
202
+ "action",
203
+ "internal",
204
+ { payload: any },
205
+ any,
206
+ Name
207
+ >;
208
+ handleGarminWebhookSleeps: FunctionReference<
209
+ "action",
210
+ "internal",
211
+ { payload: any },
212
+ any,
213
+ Name
214
+ >;
215
+ handleGarminWebhookStress: FunctionReference<
216
+ "action",
217
+ "internal",
218
+ { payload: any },
219
+ any,
220
+ Name
221
+ >;
222
+ handleGarminWebhookUserMetrics: FunctionReference<
223
+ "action",
224
+ "internal",
225
+ { payload: any },
226
+ any,
227
+ Name
228
+ >;
229
+ };
123
230
  };
124
231
  public: {
125
232
  connect: FunctionReference<
126
233
  "mutation",
127
234
  "internal",
128
- { provider: string; userId: string },
235
+ { provider: string; providerUserId?: string; userId: string },
129
236
  string,
130
237
  Name
131
238
  >;
@@ -167,6 +274,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
167
274
  active?: boolean;
168
275
  lastDataUpdate?: string;
169
276
  provider: string;
277
+ providerUserId?: string;
170
278
  userId: string;
171
279
  },
172
280
  Name
@@ -181,6 +289,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
181
289
  active?: boolean;
182
290
  lastDataUpdate?: string;
183
291
  provider: string;
292
+ providerUserId?: string;
184
293
  userId: string;
185
294
  },
186
295
  Name
@@ -827,6 +936,14 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
827
936
  }>;
828
937
  vo2max_ml_per_min_per_kg?: number;
829
938
  };
939
+ respiration_data?: {
940
+ breaths_data?: {
941
+ avg_breaths_per_min?: number;
942
+ max_breaths_per_min?: number;
943
+ min_breaths_per_min?: number;
944
+ samples?: Array<{ breaths_per_min?: number; timestamp?: string }>;
945
+ };
946
+ };
830
947
  scores?: {
831
948
  activity?: number;
832
949
  biological_age?: number;
@@ -1069,6 +1186,8 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1069
1186
  planned_date?: string;
1070
1187
  pool_length_meters?: number;
1071
1188
  provider?: string;
1189
+ provider_schedule_id?: string;
1190
+ provider_workout_id?: string;
1072
1191
  type?: string;
1073
1192
  };
1074
1193
  steps?: Array<{
@@ -1310,6 +1429,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1310
1429
  active?: boolean;
1311
1430
  lastDataUpdate?: string;
1312
1431
  provider: string;
1432
+ providerUserId?: string;
1313
1433
  userId: string;
1314
1434
  }>,
1315
1435
  Name
@@ -1515,58 +1635,65 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
1515
1635
  updateConnection: FunctionReference<
1516
1636
  "mutation",
1517
1637
  "internal",
1518
- { active?: boolean; connectionId: string; lastDataUpdate?: string },
1519
- null,
1520
- Name
1521
- >;
1522
- };
1523
- strava: {
1524
- connectStrava: FunctionReference<
1525
- "action",
1526
- "internal",
1527
- {
1528
- baseUrl?: string;
1529
- clientId: string;
1530
- clientSecret: string;
1531
- code: string;
1532
- includeStreams?: boolean;
1533
- userId: string;
1534
- },
1535
1638
  {
1639
+ active?: boolean;
1536
1640
  connectionId: string;
1537
- errors: Array<{ activityId: number; error: string }>;
1538
- synced: number;
1539
- },
1540
- Name
1541
- >;
1542
- disconnectStrava: FunctionReference<
1543
- "action",
1544
- "internal",
1545
- {
1546
- baseUrl?: string;
1547
- clientId: string;
1548
- clientSecret: string;
1549
- userId: string;
1641
+ lastDataUpdate?: string;
1642
+ providerUserId?: string;
1550
1643
  },
1551
1644
  null,
1552
1645
  Name
1553
1646
  >;
1554
- syncStrava: FunctionReference<
1555
- "action",
1556
- "internal",
1557
- {
1558
- after?: number;
1559
- baseUrl?: string;
1560
- clientId: string;
1561
- clientSecret: string;
1562
- includeStreams?: boolean;
1563
- userId: string;
1564
- },
1565
- {
1566
- errors: Array<{ activityId: number; error: string }>;
1567
- synced: number;
1568
- },
1569
- Name
1570
- >;
1647
+ };
1648
+ strava: {
1649
+ public: {
1650
+ connectStrava: FunctionReference<
1651
+ "action",
1652
+ "internal",
1653
+ {
1654
+ baseUrl?: string;
1655
+ clientId: string;
1656
+ clientSecret: string;
1657
+ code: string;
1658
+ includeStreams?: boolean;
1659
+ userId: string;
1660
+ },
1661
+ {
1662
+ connectionId: string;
1663
+ errors: Array<{ activityId: number; error: string }>;
1664
+ synced: number;
1665
+ },
1666
+ Name
1667
+ >;
1668
+ disconnectStrava: FunctionReference<
1669
+ "action",
1670
+ "internal",
1671
+ {
1672
+ baseUrl?: string;
1673
+ clientId: string;
1674
+ clientSecret: string;
1675
+ userId: string;
1676
+ },
1677
+ null,
1678
+ Name
1679
+ >;
1680
+ syncStrava: FunctionReference<
1681
+ "action",
1682
+ "internal",
1683
+ {
1684
+ after?: number;
1685
+ baseUrl?: string;
1686
+ clientId: string;
1687
+ clientSecret: string;
1688
+ includeStreams?: boolean;
1689
+ userId: string;
1690
+ },
1691
+ {
1692
+ errors: Array<{ activityId: number; error: string }>;
1693
+ synced: number;
1694
+ },
1695
+ Name
1696
+ >;
1697
+ };
1571
1698
  };
1572
1699
  };
@@ -2,7 +2,14 @@
2
2
  // Pure helper functions for the Garmin OAuth 2.0 PKCE flow.
3
3
  // Uses the Web Crypto API for SHA-256 challenge generation and global `fetch`.
4
4
 
5
- import type { GarminOAuth2TokenResponse } from "./types.js";
5
+ export interface GarminOAuth2TokenResponse {
6
+ access_token: string;
7
+ refresh_token: string;
8
+ expires_in: number;
9
+ token_type: string;
10
+ scope: string;
11
+ refresh_token_expires_in: number;
12
+ }
6
13
 
7
14
  const AUTH_URL = "https://connect.garmin.com/oauth2Confirm";
8
15
  const TOKEN_URL =
@@ -0,0 +1,39 @@
1
+ // ─── Garmin API Helpers ──────────────────────────────────────────────────────
2
+ // Shared utilities for calling the Garmin Health & Training APIs.
3
+ // Both APIs use the auto-generated @hey-api/openapi-ts SDK.
4
+
5
+ import { createClient, createConfig } from "./types/wellnessApi/client/index.js";
6
+ import {
7
+ createClient as createTrainingApiClient,
8
+ createConfig as createTrainingApiConfig,
9
+ } from "./types/trainingApiWorkouts/client/index.js";
10
+
11
+ // ─── Wellness API Client ────────────────────────────────────────────────────
12
+
13
+ /**
14
+ * Create a configured wellness API client with Bearer auth.
15
+ *
16
+ * Each call creates a lightweight client instance — no connection pooling or
17
+ * shared state. Safe to create per-request.
18
+ */
19
+ export function createWellnessClient(accessToken: string) {
20
+ return createClient(createConfig({
21
+ baseUrl: "https://apis.garmin.com/wellness-api",
22
+ headers: { Authorization: `Bearer ${accessToken}` },
23
+ }));
24
+ }
25
+
26
+ // ─── Training API Client ────────────────────────────────────────────────────
27
+
28
+ /**
29
+ * Create a configured training API client with Bearer auth.
30
+ *
31
+ * Same lightweight pattern as the wellness client. Used for workout CRUD
32
+ * and schedule operations.
33
+ */
34
+ export function createTrainingClient(accessToken: string) {
35
+ return createTrainingApiClient(createTrainingApiConfig({
36
+ baseUrl: "https://apis.garmin.com",
37
+ headers: { Authorization: `Bearer ${accessToken}` },
38
+ }));
39
+ }