@nativesquare/soma 0.9.3 → 0.10.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 (202) hide show
  1. package/dist/client/index.d.ts +96 -33
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +80 -35
  4. package/dist/client/index.js.map +1 -1
  5. package/dist/component/_generated/api.d.ts +18 -0
  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 +43 -9
  9. package/dist/component/_generated/component.d.ts.map +1 -1
  10. package/dist/component/garmin/auth.d.ts +0 -4
  11. package/dist/component/garmin/auth.d.ts.map +1 -1
  12. package/dist/component/garmin/auth.js +0 -8
  13. package/dist/component/garmin/auth.js.map +1 -1
  14. package/dist/component/garmin/private.d.ts +20 -3
  15. package/dist/component/garmin/private.d.ts.map +1 -1
  16. package/dist/component/garmin/private.js +17 -26
  17. package/dist/component/garmin/private.js.map +1 -1
  18. package/dist/component/garmin/public.d.ts +4 -4
  19. package/dist/component/garmin/public.d.ts.map +1 -1
  20. package/dist/component/garmin/public.js +6 -1
  21. package/dist/component/garmin/public.js.map +1 -1
  22. package/dist/component/garmin/webhooks.d.ts +4 -0
  23. package/dist/component/garmin/webhooks.d.ts.map +1 -1
  24. package/dist/component/garmin/webhooks.js +23 -18
  25. package/dist/component/garmin/webhooks.js.map +1 -1
  26. package/dist/component/schema.d.ts +2 -2
  27. package/dist/component/schema.d.ts.map +1 -1
  28. package/dist/component/schema.js +5 -3
  29. package/dist/component/schema.js.map +1 -1
  30. package/dist/{strava → component/strava}/auth.d.ts +15 -48
  31. package/dist/component/strava/auth.d.ts.map +1 -0
  32. package/dist/{strava → component/strava}/auth.js +4 -39
  33. package/dist/component/strava/auth.js.map +1 -0
  34. package/dist/component/strava/client.d.ts +8 -0
  35. package/dist/component/strava/client.d.ts.map +1 -0
  36. package/dist/component/strava/client.js +18 -0
  37. package/dist/component/strava/client.js.map +1 -0
  38. package/dist/component/strava/private.d.ts +19 -0
  39. package/dist/component/strava/private.d.ts.map +1 -1
  40. package/dist/component/strava/private.js +52 -2
  41. package/dist/component/strava/private.js.map +1 -1
  42. package/dist/component/strava/public.d.ts +87 -12
  43. package/dist/component/strava/public.d.ts.map +1 -1
  44. package/dist/component/strava/public.js +218 -92
  45. package/dist/component/strava/public.js.map +1 -1
  46. package/dist/component/strava/transform/activity.d.ts +19 -0
  47. package/dist/component/strava/transform/activity.d.ts.map +1 -0
  48. package/dist/{strava → component/strava/transform}/activity.js +21 -41
  49. package/dist/component/strava/transform/activity.js.map +1 -0
  50. package/dist/{strava → component/strava/transform}/athlete.d.ts +4 -10
  51. package/dist/component/strava/transform/athlete.d.ts.map +1 -0
  52. package/dist/{strava → component/strava/transform}/athlete.js +2 -8
  53. package/dist/component/strava/transform/athlete.js.map +1 -0
  54. package/dist/component/strava/transform/maps/sportType.d.ts +7 -0
  55. package/dist/component/strava/transform/maps/sportType.d.ts.map +1 -0
  56. package/dist/{strava/maps/sport-type.js → component/strava/transform/maps/sportType.js} +4 -2
  57. package/dist/component/strava/transform/maps/sportType.js.map +1 -0
  58. package/dist/component/strava/types/stravaApi/client/client.gen.d.ts +3 -0
  59. package/dist/component/strava/types/stravaApi/client/client.gen.d.ts.map +1 -0
  60. package/dist/component/strava/types/stravaApi/client/client.gen.js +236 -0
  61. package/dist/component/strava/types/stravaApi/client/client.gen.js.map +1 -0
  62. package/dist/component/strava/types/stravaApi/client/index.d.ts +9 -0
  63. package/dist/component/strava/types/stravaApi/client/index.d.ts.map +1 -0
  64. package/dist/component/strava/types/stravaApi/client/index.js +7 -0
  65. package/dist/component/strava/types/stravaApi/client/index.js.map +1 -0
  66. package/dist/component/strava/types/stravaApi/client/types.gen.d.ts +118 -0
  67. package/dist/component/strava/types/stravaApi/client/types.gen.d.ts.map +1 -0
  68. package/dist/component/strava/types/stravaApi/client/types.gen.js +3 -0
  69. package/dist/component/strava/types/stravaApi/client/types.gen.js.map +1 -0
  70. package/dist/component/strava/types/stravaApi/client/utils.gen.d.ts +34 -0
  71. package/dist/component/strava/types/stravaApi/client/utils.gen.d.ts.map +1 -0
  72. package/dist/component/strava/types/stravaApi/client/utils.gen.js +229 -0
  73. package/dist/component/strava/types/stravaApi/client/utils.gen.js.map +1 -0
  74. package/dist/component/strava/types/stravaApi/client.gen.d.ts +13 -0
  75. package/dist/component/strava/types/stravaApi/client.gen.d.ts.map +1 -0
  76. package/dist/component/strava/types/stravaApi/client.gen.js +4 -0
  77. package/dist/component/strava/types/stravaApi/client.gen.js.map +1 -0
  78. package/dist/component/strava/types/stravaApi/core/auth.gen.d.ts +19 -0
  79. package/dist/component/strava/types/stravaApi/core/auth.gen.d.ts.map +1 -0
  80. package/dist/component/strava/types/stravaApi/core/auth.gen.js +15 -0
  81. package/dist/component/strava/types/stravaApi/core/auth.gen.js.map +1 -0
  82. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.d.ts +26 -0
  83. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.d.ts.map +1 -0
  84. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.js +58 -0
  85. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.js.map +1 -0
  86. package/dist/component/strava/types/stravaApi/core/params.gen.d.ts +44 -0
  87. package/dist/component/strava/types/stravaApi/core/params.gen.d.ts.map +1 -0
  88. package/dist/component/strava/types/stravaApi/core/params.gen.js +101 -0
  89. package/dist/component/strava/types/stravaApi/core/params.gen.js.map +1 -0
  90. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.d.ts +34 -0
  91. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.d.ts.map +1 -0
  92. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.js +107 -0
  93. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.js.map +1 -0
  94. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.d.ts +19 -0
  95. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.d.ts.map +1 -0
  96. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.js +93 -0
  97. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.js.map +1 -0
  98. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.d.ts +72 -0
  99. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.d.ts.map +1 -0
  100. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.js +134 -0
  101. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.js.map +1 -0
  102. package/dist/component/strava/types/stravaApi/core/types.gen.d.ts +79 -0
  103. package/dist/component/strava/types/stravaApi/core/types.gen.d.ts.map +1 -0
  104. package/dist/component/strava/types/stravaApi/core/types.gen.js +3 -0
  105. package/dist/component/strava/types/stravaApi/core/types.gen.js.map +1 -0
  106. package/dist/component/strava/types/stravaApi/core/utils.gen.d.ts +20 -0
  107. package/dist/component/strava/types/stravaApi/core/utils.gen.d.ts.map +1 -0
  108. package/dist/component/strava/types/stravaApi/core/utils.gen.js +88 -0
  109. package/dist/component/strava/types/stravaApi/core/utils.gen.js.map +1 -0
  110. package/dist/component/strava/types/stravaApi/index.d.ts +3 -0
  111. package/dist/component/strava/types/stravaApi/index.d.ts.map +1 -0
  112. package/dist/component/strava/types/stravaApi/index.js +3 -0
  113. package/dist/component/strava/types/stravaApi/index.js.map +1 -0
  114. package/dist/component/strava/types/stravaApi/sdk.gen.d.ts +224 -0
  115. package/dist/component/strava/types/stravaApi/sdk.gen.d.ts.map +1 -0
  116. package/dist/component/strava/types/stravaApi/sdk.gen.js +361 -0
  117. package/dist/component/strava/types/stravaApi/sdk.gen.js.map +1 -0
  118. package/dist/component/strava/types/stravaApi/types.gen.d.ts +2209 -0
  119. package/dist/component/strava/types/stravaApi/types.gen.d.ts.map +1 -0
  120. package/dist/component/strava/types/stravaApi/types.gen.js +3 -0
  121. package/dist/component/strava/types/stravaApi/types.gen.js.map +1 -0
  122. package/dist/component/strava/types/stravaApi/zod.gen.d.ts +5332 -0
  123. package/dist/component/strava/types/stravaApi/zod.gen.d.ts.map +1 -0
  124. package/dist/component/strava/types/stravaApi/zod.gen.js +1009 -0
  125. package/dist/component/strava/types/stravaApi/zod.gen.js.map +1 -0
  126. package/dist/component/strava/utils.d.ts +15 -0
  127. package/dist/component/strava/utils.d.ts.map +1 -0
  128. package/dist/component/strava/utils.js +36 -0
  129. package/dist/component/strava/utils.js.map +1 -0
  130. package/dist/component/utils.d.ts +5 -0
  131. package/dist/component/utils.d.ts.map +1 -0
  132. package/dist/component/utils.js +11 -0
  133. package/dist/component/utils.js.map +1 -0
  134. package/package.json +131 -130
  135. package/src/client/index.ts +121 -52
  136. package/src/component/_generated/api.ts +18 -0
  137. package/src/component/_generated/component.ts +44 -11
  138. package/src/component/garmin/auth.ts +0 -9
  139. package/src/component/garmin/private.ts +0 -12
  140. package/src/component/garmin/public.ts +8 -1
  141. package/src/component/schema.ts +5 -3
  142. package/src/{strava → component/strava}/auth.ts +143 -185
  143. package/src/component/strava/client.ts +20 -0
  144. package/src/component/strava/private.ts +147 -89
  145. package/src/component/strava/public.ts +268 -110
  146. package/src/{strava → component/strava/transform}/activity.ts +256 -276
  147. package/src/{strava → component/strava/transform}/athlete.ts +41 -47
  148. package/src/{strava/maps/sport-type.ts → component/strava/transform/maps/sportType.ts} +100 -99
  149. package/src/component/strava/types/specs/strava-api.json +4796 -0
  150. package/src/component/strava/types/stravaApi/client/client.gen.ts +290 -0
  151. package/src/component/strava/types/stravaApi/client/index.ts +25 -0
  152. package/src/component/strava/types/stravaApi/client/types.gen.ts +214 -0
  153. package/src/component/strava/types/stravaApi/client/utils.gen.ts +316 -0
  154. package/src/component/strava/types/stravaApi/client.gen.ts +16 -0
  155. package/src/component/strava/types/stravaApi/core/auth.gen.ts +41 -0
  156. package/src/component/strava/types/stravaApi/core/bodySerializer.gen.ts +82 -0
  157. package/src/component/strava/types/stravaApi/core/params.gen.ts +169 -0
  158. package/src/component/strava/types/stravaApi/core/pathSerializer.gen.ts +171 -0
  159. package/src/component/strava/types/stravaApi/core/queryKeySerializer.gen.ts +117 -0
  160. package/src/component/strava/types/stravaApi/core/serverSentEvents.gen.ts +243 -0
  161. package/src/component/strava/types/stravaApi/core/types.gen.ts +104 -0
  162. package/src/component/strava/types/stravaApi/core/utils.gen.ts +140 -0
  163. package/src/component/strava/types/stravaApi/index.ts +4 -0
  164. package/src/component/strava/types/stravaApi/sdk.gen.ts +410 -0
  165. package/src/component/strava/types/stravaApi/types.gen.ts +2435 -0
  166. package/src/component/strava/types/stravaApi/zod.gen.ts +1132 -0
  167. package/src/component/strava/utils.ts +52 -0
  168. package/src/component/utils.ts +11 -0
  169. package/dist/strava/activity.d.ts +0 -121
  170. package/dist/strava/activity.d.ts.map +0 -1
  171. package/dist/strava/activity.js.map +0 -1
  172. package/dist/strava/athlete.d.ts.map +0 -1
  173. package/dist/strava/athlete.js.map +0 -1
  174. package/dist/strava/auth.d.ts.map +0 -1
  175. package/dist/strava/auth.js.map +0 -1
  176. package/dist/strava/client.d.ts +0 -93
  177. package/dist/strava/client.d.ts.map +0 -1
  178. package/dist/strava/client.js +0 -158
  179. package/dist/strava/client.js.map +0 -1
  180. package/dist/strava/index.d.ts +0 -13
  181. package/dist/strava/index.d.ts.map +0 -1
  182. package/dist/strava/index.js +0 -17
  183. package/dist/strava/index.js.map +0 -1
  184. package/dist/strava/maps/sport-type.d.ts +0 -7
  185. package/dist/strava/maps/sport-type.d.ts.map +0 -1
  186. package/dist/strava/maps/sport-type.js.map +0 -1
  187. package/dist/strava/sync.d.ts +0 -104
  188. package/dist/strava/sync.d.ts.map +0 -1
  189. package/dist/strava/sync.js +0 -87
  190. package/dist/strava/sync.js.map +0 -1
  191. package/dist/strava/types.d.ts +0 -266
  192. package/dist/strava/types.d.ts.map +0 -1
  193. package/dist/strava/types.js +0 -8
  194. package/dist/strava/types.js.map +0 -1
  195. package/src/strava/activity.test.ts +0 -415
  196. package/src/strava/athlete.test.ts +0 -139
  197. package/src/strava/auth.test.ts +0 -78
  198. package/src/strava/client.ts +0 -212
  199. package/src/strava/index.ts +0 -54
  200. package/src/strava/maps/sport-type.test.ts +0 -69
  201. package/src/strava/sync.ts +0 -168
  202. package/src/strava/types.ts +0 -361
@@ -1,99 +1,100 @@
1
- // ─── Strava SportType → Terra ActivityType ───────────────────────────────────
2
- // Maps Strava sport_type strings to Terra's ActivityType numeric enum
3
- // used by the Soma schema.
4
- //
5
- // Strava values: https://developers.strava.com/docs/reference/#api-models-SportType
6
- // Terra values: https://docs.tryterra.co/reference/health-and-fitness-api/data-models#activitytype
7
-
8
- import type { StravaSportType } from "../types.js";
9
-
10
- const sportTypeMap: Record<string, number> = {
11
- // ── Cycling ────────────────────────────────────────────────────────────────
12
- // Terra Biking = 1
13
- Ride: 1,
14
- MountainBikeRide: 1,
15
- GravelRide: 1,
16
- EBikeRide: 1,
17
- EMountainBikeRide: 1,
18
- VirtualRide: 1,
19
- Velomobile: 1,
20
-
21
- // ── Running ────────────────────────────────────────────────────────────────
22
- // Terra Running = 8
23
- Run: 8,
24
- TrailRun: 8,
25
- VirtualRun: 8,
26
-
27
- // ── Walking ────────────────────────────────────────────────────────────────
28
- // Terra Walking = 7
29
- Walk: 7,
30
-
31
- // ── Swimming ───────────────────────────────────────────────────────────────
32
- // Terra Swimming = 82
33
- Swim: 82,
34
-
35
- // ── Hiking ─────────────────────────────────────────────────────────────────
36
- // Terra Hiking = 35
37
- Hike: 35,
38
-
39
- // ── Snow Sports ────────────────────────────────────────────────────────────
40
- AlpineSki: 66, // Terra Alpine Skiing
41
- BackcountrySki: 66, // Terra Alpine Skiing
42
- NordicSki: 67, // Terra Cross Country Skiing
43
- Snowboard: 73, // Terra Snowboarding
44
- Snowshoe: 74, // Terra Snowshoeing
45
-
46
- // ── Water Sports ───────────────────────────────────────────────────────────
47
- Rowing: 53, // Terra Rowing
48
- VirtualRow: 53, // Terra Rowing
49
- Kayaking: 40, // Terra Kayaking
50
- Canoeing: 22, // Terra Canoeing
51
- Sail: 59, // Terra Sailing
52
- Surfing: 81, // Terra Surfing
53
- Kitesurf: 41, // Terra Kitesurfing
54
- Windsurf: 99, // Terra Windsurfing
55
- StandUpPaddling: 129, // Terra Paddling
56
-
57
- // ── Skating ────────────────────────────────────────────────────────────────
58
- IceSkate: 62, // Terra Skating
59
- InlineSkate: 62, // Terra Skating
60
- Skateboard: 62, // Terra Skating
61
- RollerSki: 62, // Terra Skating
62
-
63
- // ── Racket Sports ──────────────────────────────────────────────────────────
64
- Tennis: 87, // Terra Tennis
65
- TableTennis: 85, // Terra Table Tennis
66
- Badminton: 10, // Terra Badminton
67
- Racquetball: 51, // Terra Racquetball
68
- Squash: 76, // Terra Squash
69
- Pickleball: 108, // Terra Other (no direct mapping)
70
-
71
- // ── Gym / Fitness ──────────────────────────────────────────────────────────
72
- WeightTraining: 80, // Terra Strength Training
73
- Crossfit: 113, // Terra Crossfit
74
- Elliptical: 25, // Terra Elliptical
75
- StairStepper: 78, // Terra Stair Climbing Machine
76
- Yoga: 100, // Terra Yoga
77
- Pilates: 49, // Terra Pilates
78
- HighIntensityIntervalTraining: 114, // Terra HIIT
79
-
80
- // ── Climbing ───────────────────────────────────────────────────────────────
81
- RockClimbing: 52, // Terra Rock Climbing
82
-
83
- // ── Team Sports ────────────────────────────────────────────────────────────
84
- Soccer: 29, // Terra English Football
85
-
86
- // ── Other ──────────────────────────────────────────────────────────────────
87
- Golf: 32, // Terra Golf
88
- Handcycle: 14, // Terra Handbiking
89
- Wheelchair: 98, // Terra Wheelchair
90
- Workout: 108, // Terra Other
91
- };
92
-
93
- /**
94
- * Map a Strava sport_type string to the Terra ActivityType enum.
95
- * Returns Terra "Other" (108) for unknown types.
96
- */
97
- export function mapSportType(sportType: StravaSportType): number {
98
- return sportTypeMap[sportType] ?? 108;
99
- }
1
+ // ─── Strava SportType → Terra ActivityType ───────────────────────────────────
2
+ // Maps Strava sport_type strings to Terra's ActivityType numeric enum
3
+ // used by the Soma schema.
4
+ //
5
+ // Strava values: https://developers.strava.com/docs/reference/#api-models-SportType
6
+ // Terra values: https://docs.tryterra.co/reference/health-and-fitness-api/data-models#activitytype
7
+
8
+ import type { SportType } from "../../types/stravaApi/types.gen.js";
9
+
10
+ const sportTypeMap: Record<string, number> = {
11
+ // ── Cycling ────────────────────────────────────────────────────────────────
12
+ // Terra Biking = 1
13
+ Ride: 1,
14
+ MountainBikeRide: 1,
15
+ GravelRide: 1,
16
+ EBikeRide: 1,
17
+ EMountainBikeRide: 1,
18
+ VirtualRide: 1,
19
+ Velomobile: 1,
20
+
21
+ // ── Running ────────────────────────────────────────────────────────────────
22
+ // Terra Running = 8
23
+ Run: 8,
24
+ TrailRun: 8,
25
+ VirtualRun: 8,
26
+
27
+ // ── Walking ────────────────────────────────────────────────────────────────
28
+ // Terra Walking = 7
29
+ Walk: 7,
30
+
31
+ // ── Swimming ───────────────────────────────────────────────────────────────
32
+ // Terra Swimming = 82
33
+ Swim: 82,
34
+
35
+ // ── Hiking ─────────────────────────────────────────────────────────────────
36
+ // Terra Hiking = 35
37
+ Hike: 35,
38
+
39
+ // ── Snow Sports ────────────────────────────────────────────────────────────
40
+ AlpineSki: 66, // Terra Alpine Skiing
41
+ BackcountrySki: 66, // Terra Alpine Skiing
42
+ NordicSki: 67, // Terra Cross Country Skiing
43
+ Snowboard: 73, // Terra Snowboarding
44
+ Snowshoe: 74, // Terra Snowshoeing
45
+
46
+ // ── Water Sports ───────────────────────────────────────────────────────────
47
+ Rowing: 53, // Terra Rowing
48
+ VirtualRow: 53, // Terra Rowing
49
+ Kayaking: 40, // Terra Kayaking
50
+ Canoeing: 22, // Terra Canoeing
51
+ Sail: 59, // Terra Sailing
52
+ Surfing: 81, // Terra Surfing
53
+ Kitesurf: 41, // Terra Kitesurfing
54
+ Windsurf: 99, // Terra Windsurfing
55
+ StandUpPaddling: 129, // Terra Paddling
56
+
57
+ // ── Skating ────────────────────────────────────────────────────────────────
58
+ IceSkate: 62, // Terra Skating
59
+ InlineSkate: 62, // Terra Skating
60
+ Skateboard: 62, // Terra Skating
61
+ RollerSki: 62, // Terra Skating
62
+
63
+ // ── Racket Sports ──────────────────────────────────────────────────────────
64
+ Tennis: 87, // Terra Tennis
65
+ TableTennis: 85, // Terra Table Tennis
66
+ Badminton: 10, // Terra Badminton
67
+ Racquetball: 51, // Terra Racquetball
68
+ Squash: 76, // Terra Squash
69
+ Pickleball: 108, // Terra Other (no direct mapping)
70
+
71
+ // ── Gym / Fitness ──────────────────────────────────────────────────────────
72
+ WeightTraining: 80, // Terra Strength Training
73
+ Crossfit: 113, // Terra Crossfit
74
+ Elliptical: 25, // Terra Elliptical
75
+ StairStepper: 78, // Terra Stair Climbing Machine
76
+ Yoga: 100, // Terra Yoga
77
+ Pilates: 49, // Terra Pilates
78
+ HighIntensityIntervalTraining: 114, // Terra HIIT
79
+
80
+ // ── Climbing ───────────────────────────────────────────────────────────────
81
+ RockClimbing: 52, // Terra Rock Climbing
82
+
83
+ // ── Team Sports ────────────────────────────────────────────────────────────
84
+ Soccer: 29, // Terra English Football
85
+
86
+ // ── Other ──────────────────────────────────────────────────────────────────
87
+ Golf: 32, // Terra Golf
88
+ Handcycle: 14, // Terra Handbiking
89
+ Wheelchair: 98, // Terra Wheelchair
90
+ Workout: 108, // Terra Other
91
+ };
92
+
93
+ /**
94
+ * Map a Strava sport_type string to the Terra ActivityType enum.
95
+ * Returns Terra "Other" (108) for unknown or undefined types.
96
+ */
97
+ export function mapSportType(sportType: SportType | undefined): number {
98
+ if (!sportType) return 108;
99
+ return sportTypeMap[sportType] ?? 108;
100
+ }