@nativesquare/soma 0.9.4 → 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 (197) hide show
  1. package/dist/client/index.d.ts +91 -33
  2. package/dist/client/index.d.ts.map +1 -1
  3. package/dist/client/index.js +79 -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 +1 -1
  15. package/dist/component/garmin/private.d.ts.map +1 -1
  16. package/dist/component/garmin/private.js +0 -9
  17. package/dist/component/garmin/private.js.map +1 -1
  18. package/dist/component/garmin/public.d.ts.map +1 -1
  19. package/dist/component/garmin/public.js +6 -1
  20. package/dist/component/garmin/public.js.map +1 -1
  21. package/dist/component/schema.d.ts +2 -2
  22. package/dist/component/schema.d.ts.map +1 -1
  23. package/dist/component/schema.js +5 -3
  24. package/dist/component/schema.js.map +1 -1
  25. package/dist/{strava → component/strava}/auth.d.ts +15 -48
  26. package/dist/component/strava/auth.d.ts.map +1 -0
  27. package/dist/{strava → component/strava}/auth.js +4 -39
  28. package/dist/component/strava/auth.js.map +1 -0
  29. package/dist/component/strava/client.d.ts +8 -0
  30. package/dist/component/strava/client.d.ts.map +1 -0
  31. package/dist/component/strava/client.js +18 -0
  32. package/dist/component/strava/client.js.map +1 -0
  33. package/dist/component/strava/private.d.ts +19 -0
  34. package/dist/component/strava/private.d.ts.map +1 -1
  35. package/dist/component/strava/private.js +52 -2
  36. package/dist/component/strava/private.js.map +1 -1
  37. package/dist/component/strava/public.d.ts +87 -12
  38. package/dist/component/strava/public.d.ts.map +1 -1
  39. package/dist/component/strava/public.js +218 -92
  40. package/dist/component/strava/public.js.map +1 -1
  41. package/dist/component/strava/transform/activity.d.ts +19 -0
  42. package/dist/component/strava/transform/activity.d.ts.map +1 -0
  43. package/dist/{strava → component/strava/transform}/activity.js +21 -41
  44. package/dist/component/strava/transform/activity.js.map +1 -0
  45. package/dist/{strava → component/strava/transform}/athlete.d.ts +4 -10
  46. package/dist/component/strava/transform/athlete.d.ts.map +1 -0
  47. package/dist/{strava → component/strava/transform}/athlete.js +2 -8
  48. package/dist/component/strava/transform/athlete.js.map +1 -0
  49. package/dist/component/strava/transform/maps/sportType.d.ts +7 -0
  50. package/dist/component/strava/transform/maps/sportType.d.ts.map +1 -0
  51. package/dist/{strava/maps/sport-type.js → component/strava/transform/maps/sportType.js} +4 -2
  52. package/dist/component/strava/transform/maps/sportType.js.map +1 -0
  53. package/dist/component/strava/types/stravaApi/client/client.gen.d.ts +3 -0
  54. package/dist/component/strava/types/stravaApi/client/client.gen.d.ts.map +1 -0
  55. package/dist/component/strava/types/stravaApi/client/client.gen.js +236 -0
  56. package/dist/component/strava/types/stravaApi/client/client.gen.js.map +1 -0
  57. package/dist/component/strava/types/stravaApi/client/index.d.ts +9 -0
  58. package/dist/component/strava/types/stravaApi/client/index.d.ts.map +1 -0
  59. package/dist/component/strava/types/stravaApi/client/index.js +7 -0
  60. package/dist/component/strava/types/stravaApi/client/index.js.map +1 -0
  61. package/dist/component/strava/types/stravaApi/client/types.gen.d.ts +118 -0
  62. package/dist/component/strava/types/stravaApi/client/types.gen.d.ts.map +1 -0
  63. package/dist/component/strava/types/stravaApi/client/types.gen.js +3 -0
  64. package/dist/component/strava/types/stravaApi/client/types.gen.js.map +1 -0
  65. package/dist/component/strava/types/stravaApi/client/utils.gen.d.ts +34 -0
  66. package/dist/component/strava/types/stravaApi/client/utils.gen.d.ts.map +1 -0
  67. package/dist/component/strava/types/stravaApi/client/utils.gen.js +229 -0
  68. package/dist/component/strava/types/stravaApi/client/utils.gen.js.map +1 -0
  69. package/dist/component/strava/types/stravaApi/client.gen.d.ts +13 -0
  70. package/dist/component/strava/types/stravaApi/client.gen.d.ts.map +1 -0
  71. package/dist/component/strava/types/stravaApi/client.gen.js +4 -0
  72. package/dist/component/strava/types/stravaApi/client.gen.js.map +1 -0
  73. package/dist/component/strava/types/stravaApi/core/auth.gen.d.ts +19 -0
  74. package/dist/component/strava/types/stravaApi/core/auth.gen.d.ts.map +1 -0
  75. package/dist/component/strava/types/stravaApi/core/auth.gen.js +15 -0
  76. package/dist/component/strava/types/stravaApi/core/auth.gen.js.map +1 -0
  77. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.d.ts +26 -0
  78. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.d.ts.map +1 -0
  79. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.js +58 -0
  80. package/dist/component/strava/types/stravaApi/core/bodySerializer.gen.js.map +1 -0
  81. package/dist/component/strava/types/stravaApi/core/params.gen.d.ts +44 -0
  82. package/dist/component/strava/types/stravaApi/core/params.gen.d.ts.map +1 -0
  83. package/dist/component/strava/types/stravaApi/core/params.gen.js +101 -0
  84. package/dist/component/strava/types/stravaApi/core/params.gen.js.map +1 -0
  85. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.d.ts +34 -0
  86. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.d.ts.map +1 -0
  87. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.js +107 -0
  88. package/dist/component/strava/types/stravaApi/core/pathSerializer.gen.js.map +1 -0
  89. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.d.ts +19 -0
  90. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.d.ts.map +1 -0
  91. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.js +93 -0
  92. package/dist/component/strava/types/stravaApi/core/queryKeySerializer.gen.js.map +1 -0
  93. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.d.ts +72 -0
  94. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.d.ts.map +1 -0
  95. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.js +134 -0
  96. package/dist/component/strava/types/stravaApi/core/serverSentEvents.gen.js.map +1 -0
  97. package/dist/component/strava/types/stravaApi/core/types.gen.d.ts +79 -0
  98. package/dist/component/strava/types/stravaApi/core/types.gen.d.ts.map +1 -0
  99. package/dist/component/strava/types/stravaApi/core/types.gen.js +3 -0
  100. package/dist/component/strava/types/stravaApi/core/types.gen.js.map +1 -0
  101. package/dist/component/strava/types/stravaApi/core/utils.gen.d.ts +20 -0
  102. package/dist/component/strava/types/stravaApi/core/utils.gen.d.ts.map +1 -0
  103. package/dist/component/strava/types/stravaApi/core/utils.gen.js +88 -0
  104. package/dist/component/strava/types/stravaApi/core/utils.gen.js.map +1 -0
  105. package/dist/component/strava/types/stravaApi/index.d.ts +3 -0
  106. package/dist/component/strava/types/stravaApi/index.d.ts.map +1 -0
  107. package/dist/component/strava/types/stravaApi/index.js +3 -0
  108. package/dist/component/strava/types/stravaApi/index.js.map +1 -0
  109. package/dist/component/strava/types/stravaApi/sdk.gen.d.ts +224 -0
  110. package/dist/component/strava/types/stravaApi/sdk.gen.d.ts.map +1 -0
  111. package/dist/component/strava/types/stravaApi/sdk.gen.js +361 -0
  112. package/dist/component/strava/types/stravaApi/sdk.gen.js.map +1 -0
  113. package/dist/component/strava/types/stravaApi/types.gen.d.ts +2209 -0
  114. package/dist/component/strava/types/stravaApi/types.gen.d.ts.map +1 -0
  115. package/dist/component/strava/types/stravaApi/types.gen.js +3 -0
  116. package/dist/component/strava/types/stravaApi/types.gen.js.map +1 -0
  117. package/dist/component/strava/types/stravaApi/zod.gen.d.ts +5332 -0
  118. package/dist/component/strava/types/stravaApi/zod.gen.d.ts.map +1 -0
  119. package/dist/component/strava/types/stravaApi/zod.gen.js +1009 -0
  120. package/dist/component/strava/types/stravaApi/zod.gen.js.map +1 -0
  121. package/dist/component/strava/utils.d.ts +15 -0
  122. package/dist/component/strava/utils.d.ts.map +1 -0
  123. package/dist/component/strava/utils.js +36 -0
  124. package/dist/component/strava/utils.js.map +1 -0
  125. package/dist/component/utils.d.ts +5 -0
  126. package/dist/component/utils.d.ts.map +1 -0
  127. package/dist/component/utils.js +11 -0
  128. package/dist/component/utils.js.map +1 -0
  129. package/package.json +131 -130
  130. package/src/client/index.ts +121 -52
  131. package/src/component/_generated/api.ts +18 -0
  132. package/src/component/_generated/component.ts +44 -11
  133. package/src/component/garmin/auth.ts +0 -9
  134. package/src/component/garmin/private.ts +0 -12
  135. package/src/component/garmin/public.ts +8 -1
  136. package/src/component/schema.ts +5 -3
  137. package/src/{strava → component/strava}/auth.ts +143 -185
  138. package/src/component/strava/client.ts +20 -0
  139. package/src/component/strava/private.ts +147 -89
  140. package/src/component/strava/public.ts +268 -110
  141. package/src/{strava → component/strava/transform}/activity.ts +256 -276
  142. package/src/{strava → component/strava/transform}/athlete.ts +41 -47
  143. package/src/{strava/maps/sport-type.ts → component/strava/transform/maps/sportType.ts} +100 -99
  144. package/src/component/strava/types/specs/strava-api.json +4796 -0
  145. package/src/component/strava/types/stravaApi/client/client.gen.ts +290 -0
  146. package/src/component/strava/types/stravaApi/client/index.ts +25 -0
  147. package/src/component/strava/types/stravaApi/client/types.gen.ts +214 -0
  148. package/src/component/strava/types/stravaApi/client/utils.gen.ts +316 -0
  149. package/src/component/strava/types/stravaApi/client.gen.ts +16 -0
  150. package/src/component/strava/types/stravaApi/core/auth.gen.ts +41 -0
  151. package/src/component/strava/types/stravaApi/core/bodySerializer.gen.ts +82 -0
  152. package/src/component/strava/types/stravaApi/core/params.gen.ts +169 -0
  153. package/src/component/strava/types/stravaApi/core/pathSerializer.gen.ts +171 -0
  154. package/src/component/strava/types/stravaApi/core/queryKeySerializer.gen.ts +117 -0
  155. package/src/component/strava/types/stravaApi/core/serverSentEvents.gen.ts +243 -0
  156. package/src/component/strava/types/stravaApi/core/types.gen.ts +104 -0
  157. package/src/component/strava/types/stravaApi/core/utils.gen.ts +140 -0
  158. package/src/component/strava/types/stravaApi/index.ts +4 -0
  159. package/src/component/strava/types/stravaApi/sdk.gen.ts +410 -0
  160. package/src/component/strava/types/stravaApi/types.gen.ts +2435 -0
  161. package/src/component/strava/types/stravaApi/zod.gen.ts +1132 -0
  162. package/src/component/strava/utils.ts +52 -0
  163. package/src/component/utils.ts +11 -0
  164. package/dist/strava/activity.d.ts +0 -121
  165. package/dist/strava/activity.d.ts.map +0 -1
  166. package/dist/strava/activity.js.map +0 -1
  167. package/dist/strava/athlete.d.ts.map +0 -1
  168. package/dist/strava/athlete.js.map +0 -1
  169. package/dist/strava/auth.d.ts.map +0 -1
  170. package/dist/strava/auth.js.map +0 -1
  171. package/dist/strava/client.d.ts +0 -93
  172. package/dist/strava/client.d.ts.map +0 -1
  173. package/dist/strava/client.js +0 -158
  174. package/dist/strava/client.js.map +0 -1
  175. package/dist/strava/index.d.ts +0 -13
  176. package/dist/strava/index.d.ts.map +0 -1
  177. package/dist/strava/index.js +0 -17
  178. package/dist/strava/index.js.map +0 -1
  179. package/dist/strava/maps/sport-type.d.ts +0 -7
  180. package/dist/strava/maps/sport-type.d.ts.map +0 -1
  181. package/dist/strava/maps/sport-type.js.map +0 -1
  182. package/dist/strava/sync.d.ts +0 -104
  183. package/dist/strava/sync.d.ts.map +0 -1
  184. package/dist/strava/sync.js +0 -87
  185. package/dist/strava/sync.js.map +0 -1
  186. package/dist/strava/types.d.ts +0 -266
  187. package/dist/strava/types.d.ts.map +0 -1
  188. package/dist/strava/types.js +0 -8
  189. package/dist/strava/types.js.map +0 -1
  190. package/src/strava/activity.test.ts +0 -415
  191. package/src/strava/athlete.test.ts +0 -139
  192. package/src/strava/auth.test.ts +0 -78
  193. package/src/strava/client.ts +0 -212
  194. package/src/strava/index.ts +0 -54
  195. package/src/strava/maps/sport-type.test.ts +0 -69
  196. package/src/strava/sync.ts +0 -168
  197. package/src/strava/types.ts +0 -361
@@ -1,25 +1,14 @@
1
- // ─── Strava OAuth Helpers ────────────────────────────────────────────────────
1
+ // ─── Strava OAuth 2.0 Helpers ────────────────────────────────────────────────
2
2
  // Pure helper functions for the Strava OAuth 2.0 Authorization Code flow.
3
3
  // No external dependencies — uses the global `fetch`.
4
- const DEFAULT_BASE_URL = "https://www.strava.com";
5
4
  /**
6
5
  * Build the Strava OAuth authorization URL.
7
6
  *
8
7
  * Redirect the user to this URL to begin the OAuth flow. After the user
9
8
  * grants access, Strava will redirect back to `redirectUri` with a `code`
10
9
  * query parameter.
11
- *
12
- * @example
13
- * ```ts
14
- * const url = buildAuthUrl({
15
- * clientId: process.env.STRAVA_CLIENT_ID!,
16
- * redirectUri: "https://your-app.com/api/strava/callback",
17
- * });
18
- * // Redirect user to `url`
19
- * ```
20
10
  */
21
11
  export function buildAuthUrl(opts) {
22
- const base = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
23
12
  const params = new URLSearchParams({
24
13
  client_id: opts.clientId,
25
14
  redirect_uri: opts.redirectUri,
@@ -30,7 +19,7 @@ export function buildAuthUrl(opts) {
30
19
  if (opts.state) {
31
20
  params.set("state", opts.state);
32
21
  }
33
- return `${base}/oauth/authorize?${params.toString()}`;
22
+ return `https://www.strava.com/oauth/authorize?${params.toString()}`;
34
23
  }
35
24
  /**
36
25
  * Exchange an authorization code for access and refresh tokens.
@@ -40,21 +29,9 @@ export function buildAuthUrl(opts) {
40
29
  *
41
30
  * @returns The token response including `access_token`, `refresh_token`,
42
31
  * `expires_at`, and the authenticated `athlete` profile.
43
- *
44
- * @example
45
- * ```ts
46
- * const tokens = await exchangeCode({
47
- * clientId: process.env.STRAVA_CLIENT_ID!,
48
- * clientSecret: process.env.STRAVA_CLIENT_SECRET!,
49
- * code: request.query.code,
50
- * });
51
- * // Store tokens.access_token, tokens.refresh_token, tokens.expires_at
52
- * ```
53
32
  */
54
33
  export async function exchangeCode(opts) {
55
- const base = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
56
- const url = `${base}/oauth/token`;
57
- const response = await fetch(url, {
34
+ const response = await fetch("https://www.strava.com/oauth/token", {
58
35
  method: "POST",
59
36
  headers: { "Content-Type": "application/json" },
60
37
  body: JSON.stringify({
@@ -78,21 +55,9 @@ export async function exchangeCode(opts) {
78
55
  *
79
56
  * @returns A new token response with a fresh `access_token` and
80
57
  * possibly a new `refresh_token`.
81
- *
82
- * @example
83
- * ```ts
84
- * const tokens = await refreshToken({
85
- * clientId: process.env.STRAVA_CLIENT_ID!,
86
- * clientSecret: process.env.STRAVA_CLIENT_SECRET!,
87
- * refreshToken: storedRefreshToken,
88
- * });
89
- * // Update stored tokens
90
- * ```
91
58
  */
92
59
  export async function refreshToken(opts) {
93
- const base = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, "");
94
- const url = `${base}/oauth/token`;
95
- const response = await fetch(url, {
60
+ const response = await fetch("https://www.strava.com/oauth/token", {
96
61
  method: "POST",
97
62
  headers: { "Content-Type": "application/json" },
98
63
  body: JSON.stringify({
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/component/strava/auth.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,sDAAsD;AA+BtD;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAyB;IACpD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,YAAY,EAAE,IAAI,CAAC,WAAW;QAC9B,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,MAAM;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,yCAAyC;KAC/D,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,0CAA0C,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACvE,CAAC;AAaD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oCAAoC,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,oBAAoB;SACjC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,IAAI,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAC;AAC7D,CAAC;AAaD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oCAAoC,EAAE;QACjE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,aAAa,EAAE,IAAI,CAAC,YAAY;YAChC,UAAU,EAAE,eAAe;SAC5B,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,sCAAsC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,IAAI,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAC;AAC7D,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Create a configured Strava API client with Bearer auth.
3
+ *
4
+ * Each call creates a lightweight client instance — no connection pooling or
5
+ * shared state. Safe to create per-request.
6
+ */
7
+ export declare function createStravaClient(accessToken: string): import("./types/stravaApi/client/types.gen.js").Client;
8
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/component/strava/client.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,0DAKrD"}
@@ -0,0 +1,18 @@
1
+ // ─── Strava API Helper ──────────────────────────────────────────────────────
2
+ // Shared utility for calling the Strava API v3.
3
+ // Uses the auto-generated @hey-api/openapi-ts SDK.
4
+ import { createClient, createConfig } from "./types/stravaApi/client/index.js";
5
+ // ─── Strava API Client ─────────────────────────────────────────────────────
6
+ /**
7
+ * Create a configured Strava API client with Bearer auth.
8
+ *
9
+ * Each call creates a lightweight client instance — no connection pooling or
10
+ * shared state. Safe to create per-request.
11
+ */
12
+ export function createStravaClient(accessToken) {
13
+ return createClient(createConfig({
14
+ baseUrl: "https://www.strava.com/api/v3",
15
+ headers: { Authorization: `Bearer ${accessToken}` },
16
+ }));
17
+ }
18
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/component/strava/client.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gDAAgD;AAChD,mDAAmD;AAEnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE/E,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,OAAO,YAAY,CAAC,YAAY,CAAC;QAC/B,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,EAAE,EAAE;KACpD,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1,3 +1,22 @@
1
+ export declare const storePendingOAuth: import("convex/server").RegisteredMutation<"internal", {
2
+ state: string;
3
+ userId: string;
4
+ provider: string;
5
+ }, Promise<null>>;
6
+ export declare const getPendingOAuth: import("convex/server").RegisteredQuery<"internal", {
7
+ state: string;
8
+ }, Promise<{
9
+ _id: import("convex/values").GenericId<"pendingOAuth">;
10
+ _creationTime: number;
11
+ codeVerifier?: string | undefined;
12
+ state: string;
13
+ userId: string;
14
+ provider: string;
15
+ createdAt: number;
16
+ } | null>>;
17
+ export declare const deletePendingOAuth: import("convex/server").RegisteredMutation<"internal", {
18
+ state: string;
19
+ }, Promise<null>>;
1
20
  /**
2
21
  * Store or update OAuth tokens for a connection.
3
22
  * Upserts by connectionId — one token record per connection.
@@ -1 +1 @@
1
- {"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../../src/component/strava/private.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;iBA4BtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;UAqBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;iBAgBvB,CAAC"}
1
+ {"version":3,"file":"private.d.ts","sourceRoot":"","sources":["../../../src/component/strava/private.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,iBAAiB;;;;iBAc5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;UAmB1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;iBAa7B,CAAC;AAIH;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;iBA4BtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;UAqBpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;iBAgBvB,CAAC"}
@@ -1,7 +1,57 @@
1
- // ─── Internal Token CRUD ─────────────────────────────────────────────────────
2
- // These are only callable from within the component (actions in this file).
1
+ // ─── Internal Token & Pending OAuth CRUD ─────────────────────────────────────
2
+ // Called only from strava/public.ts. Not exposed to the host app.
3
3
  import { v } from "convex/values";
4
4
  import { internalMutation, internalQuery, } from "../_generated/server";
5
+ // ─── Internal Pending OAuth CRUD ─────────────────────────────────────────────
6
+ // Temporary storage for in-progress Strava OAuth flows.
7
+ // Bridges getStravaAuthUrl and completeStravaOAuth.
8
+ export const storePendingOAuth = internalMutation({
9
+ args: {
10
+ provider: v.string(),
11
+ state: v.string(),
12
+ userId: v.string(),
13
+ },
14
+ returns: v.null(),
15
+ handler: async (ctx, args) => {
16
+ await ctx.db.insert("pendingOAuth", {
17
+ ...args,
18
+ createdAt: Date.now(),
19
+ });
20
+ return null;
21
+ },
22
+ });
23
+ export const getPendingOAuth = internalQuery({
24
+ args: { state: v.string() },
25
+ returns: v.union(v.object({
26
+ _id: v.id("pendingOAuth"),
27
+ _creationTime: v.number(),
28
+ provider: v.string(),
29
+ state: v.string(),
30
+ userId: v.string(),
31
+ createdAt: v.number(),
32
+ }), v.null()),
33
+ handler: async (ctx, args) => {
34
+ return await ctx.db
35
+ .query("pendingOAuth")
36
+ .withIndex("by_state", (q) => q.eq("state", args.state))
37
+ .first();
38
+ },
39
+ });
40
+ export const deletePendingOAuth = internalMutation({
41
+ args: { state: v.string() },
42
+ returns: v.null(),
43
+ handler: async (ctx, args) => {
44
+ const pending = await ctx.db
45
+ .query("pendingOAuth")
46
+ .withIndex("by_state", (q) => q.eq("state", args.state))
47
+ .first();
48
+ if (pending) {
49
+ await ctx.db.delete(pending._id);
50
+ }
51
+ return null;
52
+ },
53
+ });
54
+ // ─── Internal Token CRUD ─────────────────────────────────────────────────────
5
55
  /**
6
56
  * Store or update OAuth tokens for a connection.
7
57
  * Upserts by connectionId — one token record per connection.
@@ -1 +1 @@
1
- {"version":3,"file":"private.js","sourceRoot":"","sources":["../../../src/component/strava/private.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private.js","sourceRoot":"","sources":["../../../src/component/strava/private.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kEAAkE;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EACL,gBAAgB,EAChB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAE9B,gFAAgF;AAChF,wDAAwD;AACxD,oDAAoD;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;IAChD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;YAClC,GAAG,IAAI;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC;IAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC;QACzB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB,CAAC,EACF,CAAC,CAAC,IAAI,EAAE,CACT;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,OAAO,MAAM,GAAG,CAAC,EAAE;aAChB,KAAK,CAAC,cAAc,CAAC;aACrB,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aACvD,KAAK,EAAE,CAAC;IACb,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;IACjD,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,cAAc,CAAC;aACrB,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aACvD,KAAK,EAAE,CAAC;QACX,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAC;IAC1C,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;KACtB;IACD,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC1B,KAAK,CAAC,gBAAgB,CAAC;aACvB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CACxC;aACA,KAAK,EAAE,CAAC;QAEX,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC;IACrC,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;IAC3C,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC;QAC3B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;QACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAClC,CAAC,EACF,CAAC,CAAC,IAAI,EAAE,CACT;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,OAAO,MAAM,GAAG,CAAC,EAAE;aAChB,KAAK,CAAC,gBAAgB,CAAC;aACvB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CACxC;aACA,KAAK,EAAE,CAAC;IACb,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC;IAC3C,IAAI,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE;IAC3C,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,EAAE;aAC1B,KAAK,CAAC,gBAAgB,CAAC;aACvB,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CACxC;aACA,KAAK,EAAE,CAAC;QAEX,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC,CAAC"}
@@ -1,27 +1,78 @@
1
1
  import type { Id } from "../_generated/dataModel";
2
2
  /**
3
- * Full Strava OAuth callback handler.
3
+ * Generate a Strava OAuth authorization URL.
4
+ *
5
+ * If `userId` is provided, the state parameter is stored in the component's
6
+ * `pendingOAuth` table so that `completeStravaOAuth` can look it up
7
+ * automatically when the callback fires. This is the recommended flow
8
+ * when using `registerRoutes`.
9
+ *
10
+ * If `userId` is omitted, the host app must store the returned `state`
11
+ * itself and pass the userId to `connectStrava` manually.
12
+ */
13
+ export declare const getStravaAuthUrl: import("convex/server").RegisteredAction<"public", {
14
+ userId?: string | undefined;
15
+ scope?: string | undefined;
16
+ clientId: string;
17
+ redirectUri: string;
18
+ }, Promise<{
19
+ authUrl: string;
20
+ state: string;
21
+ }>>;
22
+ /**
23
+ * Full Strava OAuth callback handler (manual flow).
4
24
  *
5
25
  * Exchanges the authorization code for tokens, creates/reactivates the
6
26
  * Soma connection, stores tokens securely, syncs the athlete profile,
7
27
  * and syncs all activities.
8
28
  *
29
+ * Used when the host app handles the callback itself and passes the
30
+ * userId directly (analogous to `connectGarmin`).
31
+ *
9
32
  * Returns `{ connectionId, synced, errors }`.
10
33
  */
11
34
  export declare const connectStrava: import("convex/server").RegisteredAction<"public", {
12
- baseUrl?: string | undefined;
13
- includeStreams?: boolean | undefined;
14
35
  userId: string;
15
36
  clientId: string;
16
37
  clientSecret: string;
17
38
  code: string;
18
39
  }, Promise<{
19
40
  connectionId: Id<"connections">;
20
- synced: number;
21
- errors: {
22
- activityId: number;
41
+ synced: {
42
+ athletes: number;
43
+ activities: number;
44
+ };
45
+ errors: Array<{
46
+ type: string;
47
+ id: string;
23
48
  error: string;
24
- }[];
49
+ }>;
50
+ }>>;
51
+ /**
52
+ * Complete a Strava OAuth flow using stored pending state.
53
+ *
54
+ * Used by `registerRoutes` — the callback handler calls this with the
55
+ * `code` and `state` from the redirect. The action looks up the pending
56
+ * state (userId) stored during `getStravaAuthUrl`, exchanges for tokens,
57
+ * creates the connection, syncs data, and cleans up the pending entry.
58
+ */
59
+ export declare const completeStravaOAuth: import("convex/server").RegisteredAction<"public", {
60
+ state: string;
61
+ clientId: string;
62
+ clientSecret: string;
63
+ code: string;
64
+ }, Promise<{
65
+ connectionId: Id<"connections">;
66
+ userId: string;
67
+ synced: {
68
+ athletes: number;
69
+ activities: number;
70
+ };
71
+ errors: Array<{
72
+ type: string;
73
+ id: string;
74
+ error: string;
75
+ }>;
25
76
  }>>;
26
77
  /**
27
78
  * Incremental Strava sync for an already-connected user.
@@ -32,16 +83,41 @@ export declare const connectStrava: import("convex/server").RegisteredAction<"pu
32
83
  * Returns `{ synced, errors }`.
33
84
  */
34
85
  export declare const syncStrava: import("convex/server").RegisteredAction<"public", {
35
- baseUrl?: string | undefined;
36
- includeStreams?: boolean | undefined;
37
86
  after?: number | undefined;
38
87
  userId: string;
39
88
  clientId: string;
40
89
  clientSecret: string;
41
90
  }, Promise<{
42
- synced: number;
91
+ synced: {
92
+ athletes: number;
93
+ activities: number;
94
+ };
95
+ errors: Array<{
96
+ type: string;
97
+ id: string;
98
+ error: string;
99
+ }>;
100
+ }>>;
101
+ /**
102
+ * Fetch and ingest all Strava data types for a connected user.
103
+ *
104
+ * Called by the public actions (connectStrava, completeStravaOAuth, syncStrava)
105
+ * after obtaining a valid access token.
106
+ */
107
+ export declare const syncAllTypes: import("convex/server").RegisteredAction<"public", {
108
+ after?: number | undefined;
109
+ before?: number | undefined;
110
+ connectionId: import("convex/values").GenericId<"connections">;
111
+ userId: string;
112
+ accessToken: string;
113
+ }, Promise<{
114
+ synced: {
115
+ athletes: number;
116
+ activities: number;
117
+ };
43
118
  errors: {
44
- activityId: number;
119
+ type: string;
120
+ id: string;
45
121
  error: string;
46
122
  }[];
47
123
  }>>;
@@ -52,7 +128,6 @@ export declare const syncStrava: import("convex/server").RegisteredAction<"publi
52
128
  * and sets the connection to inactive.
53
129
  */
54
130
  export declare const disconnectStrava: import("convex/server").RegisteredAction<"public", {
55
- baseUrl?: string | undefined;
56
131
  userId: string;
57
132
  clientId: string;
58
133
  clientSecret: string;
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/component/strava/public.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAO,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAWvD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;oBAiEY,MAAM;eAAS,MAAM;;GAqCzD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;oBAkGe,MAAM;eAAS,MAAM;;GAqCzD,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;iBAyD3B,CAAC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/component/strava/public.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAO,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAmBvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;GA2B3B,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa;;;;;;kBAeR,EAAE,CAAC,aAAa,CAAC;YACvB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;YACxC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA+C5D,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;;;kBAgBd,EAAE,CAAC,aAAa,CAAC;YACvB,MAAM;YACN;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;YACxC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GAsE5D,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU;;;;;;YAcX;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;YACxC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA+E5D,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;cAaO,MAAM;YAAM,MAAM;eAAS,MAAM;;GAmE/D,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;iBAoD3B,CAAC"}