@nativesquare/soma 0.9.1 → 0.9.2

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.
@@ -1,6 +1,6 @@
1
1
  import type { ComponentApi } from "../component/_generated/component.js";
2
2
  import type { ActionCtx, MutationCtx, QueryCtx } from "./types.js";
3
- import { type HttpRouter } from "convex/server";
3
+ import { type GenericActionCtx, type GenericDataModel, type HttpRouter } from "convex/server";
4
4
  export type SomaComponent = ComponentApi;
5
5
  export declare const STRAVA_CALLBACK_PATH = "/api/strava/callback";
6
6
  export declare const GARMIN_OAUTH_CALLBACK_PATH = "/api/garmin/callback";
@@ -878,11 +878,29 @@ export interface StravaRouteOptions {
878
878
  /** URL to redirect the user to after a successful connection. */
879
879
  onSuccess?: string;
880
880
  }
881
- export interface GarminWebhookRouteOptions {
882
- /** Base path prefix for all webhook routes. @default "/api/garmin/webhook" */
883
- basePath?: string;
881
+ /** Data passed to `oauth.onComplete` after Garmin OAuth + initial sync. */
882
+ export interface GarminConnectEvent {
883
+ provider: "GARMIN";
884
+ userId: string;
885
+ connectionId: string;
886
+ synced: Record<string, number>;
887
+ errors: Array<{
888
+ type: string;
889
+ id: string;
890
+ error: string;
891
+ }>;
892
+ }
893
+ /** Data passed to webhook `events` handlers and `onEvent` after data ingestion. */
894
+ export interface GarminWebhookEvent {
895
+ dataType: string;
896
+ processed: number;
897
+ errors: Array<{
898
+ type: string;
899
+ id: string;
900
+ error: string;
901
+ }>;
884
902
  }
885
- export interface GarminRouteOptions {
903
+ export interface GarminOAuthOptions {
886
904
  /** HTTP path for the OAuth callback. @default "/api/garmin/callback" */
887
905
  path?: string;
888
906
  /** Override GARMIN_CLIENT_ID env var. */
@@ -890,13 +908,30 @@ export interface GarminRouteOptions {
890
908
  /** Override GARMIN_CLIENT_SECRET env var. */
891
909
  clientSecret?: string;
892
910
  /** URL to redirect the user to after a successful connection. */
893
- onSuccess?: string;
894
- /** Webhook route configuration. Set to `false` to skip webhook registration. */
895
- webhook?: GarminWebhookRouteOptions | false;
911
+ redirectTo?: string;
912
+ /** Called after Garmin OAuth completes and initial data sync finishes. */
913
+ onComplete?: (ctx: GenericActionCtx<GenericDataModel>, event: GarminConnectEvent) => Promise<void>;
914
+ }
915
+ /** Webhook endpoint names matching the Garmin API data types. */
916
+ export type GarminWebhookEventName = "activities" | "activity-details" | "manually-updated-activities" | "move-iq" | "blood-pressures" | "body-compositions" | "dailies" | "epochs" | "health-snapshot" | "sleeps" | "hrv" | "stress" | "pulse-ox" | "respiration" | "skin-temp" | "user-metrics" | "menstrual-cycle-tracking";
917
+ /** Handler for a specific webhook event or the catch-all `onEvent`. */
918
+ export type GarminWebhookHandler = (ctx: GenericActionCtx<GenericDataModel>, event: GarminWebhookEvent) => Promise<void>;
919
+ export interface GarminWebhookOptions {
920
+ /** Base path prefix for all webhook routes. @default "/api/garmin/webhook" */
921
+ basePath?: string;
922
+ /** Called after every webhook payload is processed, regardless of data type. */
923
+ onEvent?: GarminWebhookHandler;
924
+ /** Per-data-type handlers. Only subscribe to the types you care about. */
925
+ events?: Partial<Record<GarminWebhookEventName, GarminWebhookHandler>>;
896
926
  }
897
927
  export interface RegisterRoutesOptions {
898
928
  strava?: StravaRouteOptions;
899
- garmin?: GarminRouteOptions;
929
+ garmin?: {
930
+ /** OAuth callback configuration. */
931
+ oauth?: GarminOAuthOptions;
932
+ /** Webhook route configuration. Set to `false` to skip webhook registration. */
933
+ webhook?: GarminWebhookOptions | false;
934
+ };
900
935
  }
901
936
  /**
902
937
  * Register OAuth callback HTTP routes for Soma providers.
@@ -928,15 +963,34 @@ export interface RegisterRoutesOptions {
928
963
  *
929
964
  * @example
930
965
  * ```ts
931
- * // With custom paths and redirect
966
+ * // With Garmin OAuth callbacks and per-type webhook handlers
932
967
  * registerRoutes(http, components.soma, {
933
968
  * strava: {
934
969
  * path: "/oauth/strava/callback",
935
970
  * onSuccess: "https://myapp.com/settings",
936
971
  * },
937
972
  * garmin: {
938
- * path: "/oauth/garmin/callback",
939
- * onSuccess: "https://myapp.com/settings",
973
+ * oauth: {
974
+ * redirectTo: "https://myapp.com/settings",
975
+ * onComplete: async (ctx, event) => {
976
+ * // Runs after OAuth + initial sync completes
977
+ * await ctx.runMutation(internal.users.markConnected, {
978
+ * userId: event.userId,
979
+ * provider: event.provider,
980
+ * });
981
+ * },
982
+ * },
983
+ * webhook: {
984
+ * onEvent: async (ctx, event) => {
985
+ * // Catch-all: runs for every webhook
986
+ * console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
987
+ * },
988
+ * events: {
989
+ * "activities": async (ctx, event) => {
990
+ * // Runs only for activity webhooks
991
+ * },
992
+ * },
993
+ * },
940
994
  * },
941
995
  * });
942
996
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { httpActionGeneric } from "convex/server";
1
+ import { httpActionGeneric, } from "convex/server";
2
2
  import { buildAuthUrl } from "../strava/auth.js";
3
3
  // ─── Default OAuth Callback Paths ────────────────────────────────────────────
4
4
  // Used by `registerRoutes` as defaults. Override per-provider in the opts.
@@ -914,15 +914,34 @@ export class Soma {
914
914
  *
915
915
  * @example
916
916
  * ```ts
917
- * // With custom paths and redirect
917
+ * // With Garmin OAuth callbacks and per-type webhook handlers
918
918
  * registerRoutes(http, components.soma, {
919
919
  * strava: {
920
920
  * path: "/oauth/strava/callback",
921
921
  * onSuccess: "https://myapp.com/settings",
922
922
  * },
923
923
  * garmin: {
924
- * path: "/oauth/garmin/callback",
925
- * onSuccess: "https://myapp.com/settings",
924
+ * oauth: {
925
+ * redirectTo: "https://myapp.com/settings",
926
+ * onComplete: async (ctx, event) => {
927
+ * // Runs after OAuth + initial sync completes
928
+ * await ctx.runMutation(internal.users.markConnected, {
929
+ * userId: event.userId,
930
+ * provider: event.provider,
931
+ * });
932
+ * },
933
+ * },
934
+ * webhook: {
935
+ * onEvent: async (ctx, event) => {
936
+ * // Catch-all: runs for every webhook
937
+ * console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
938
+ * },
939
+ * events: {
940
+ * "activities": async (ctx, event) => {
941
+ * // Runs only for activity webhooks
942
+ * },
943
+ * },
944
+ * },
926
945
  * },
927
946
  * });
928
947
  * ```
@@ -980,8 +999,9 @@ export function registerRoutes(http, component, opts) {
980
999
  });
981
1000
  }
982
1001
  if (registerAll || opts?.garmin) {
983
- const garmin = opts?.garmin ?? {};
984
- const path = garmin.path ?? GARMIN_OAUTH_CALLBACK_PATH;
1002
+ const garminOpts = opts?.garmin ?? {};
1003
+ const oauth = garminOpts.oauth ?? {};
1004
+ const path = oauth.path ?? GARMIN_OAUTH_CALLBACK_PATH;
985
1005
  http.route({
986
1006
  path,
987
1007
  method: "GET",
@@ -998,14 +1018,15 @@ export function registerRoutes(http, component, opts) {
998
1018
  return new Response("Missing state parameter. Ensure the state was included " +
999
1019
  "when building the Garmin auth URL.", { status: 400 });
1000
1020
  }
1001
- const clientId = garmin.clientId ?? process.env.GARMIN_CLIENT_ID;
1002
- const clientSecret = garmin.clientSecret ?? process.env.GARMIN_CLIENT_SECRET;
1021
+ const clientId = oauth.clientId ?? process.env.GARMIN_CLIENT_ID;
1022
+ const clientSecret = oauth.clientSecret ?? process.env.GARMIN_CLIENT_SECRET;
1003
1023
  if (!clientId || !clientSecret) {
1004
1024
  return new Response("Garmin credentials not configured. Set GARMIN_CLIENT_ID and " +
1005
1025
  "GARMIN_CLIENT_SECRET environment variables, or pass them to registerRoutes.", { status: 500 });
1006
1026
  }
1027
+ let result;
1007
1028
  try {
1008
- await ctx.runAction(component.garmin.public.completeGarminOAuth, {
1029
+ result = await ctx.runAction(component.garmin.public.completeGarminOAuth, {
1009
1030
  code,
1010
1031
  state,
1011
1032
  clientId,
@@ -1018,10 +1039,24 @@ export function registerRoutes(http, component, opts) {
1018
1039
  status: 500,
1019
1040
  });
1020
1041
  }
1021
- if (garmin.onSuccess) {
1042
+ if (oauth.onComplete) {
1043
+ try {
1044
+ await oauth.onComplete(ctx, {
1045
+ provider: "GARMIN",
1046
+ userId: result.userId,
1047
+ connectionId: result.connectionId,
1048
+ synced: result.synced,
1049
+ errors: result.errors,
1050
+ });
1051
+ }
1052
+ catch (callbackError) {
1053
+ console.error("[soma] garmin oauth.onComplete callback error:", callbackError instanceof Error ? callbackError.message : callbackError);
1054
+ }
1055
+ }
1056
+ if (oauth.redirectTo) {
1022
1057
  return new Response(null, {
1023
1058
  status: 302,
1024
- headers: { Location: garmin.onSuccess },
1059
+ headers: { Location: oauth.redirectTo },
1025
1060
  });
1026
1061
  }
1027
1062
  return new Response("Successfully connected to Garmin!", {
@@ -1030,8 +1065,9 @@ export function registerRoutes(http, component, opts) {
1030
1065
  }),
1031
1066
  });
1032
1067
  // ── Garmin Webhook Routes ──────────────────────────────────
1033
- if (garmin.webhook !== false) {
1034
- const webhookBase = (garmin.webhook && garmin.webhook.basePath) ?? GARMIN_WEBHOOK_BASE_PATH;
1068
+ if (garminOpts.webhook !== false) {
1069
+ const webhookCfg = typeof garminOpts.webhook === "object" ? garminOpts.webhook : {};
1070
+ const webhookBase = webhookCfg.basePath ?? GARMIN_WEBHOOK_BASE_PATH;
1035
1071
  const webhookRoutes = [
1036
1072
  // ACTIVITY category
1037
1073
  { suffix: "/activities", action: component.garmin.webhooks.handleGarminWebhookActivities },
@@ -1066,13 +1102,39 @@ export function registerRoutes(http, component, opts) {
1066
1102
  catch {
1067
1103
  return new Response("Invalid JSON body", { status: 400 });
1068
1104
  }
1105
+ let result;
1069
1106
  try {
1070
- await ctx.runAction(route.action, { payload });
1107
+ result = await ctx.runAction(route.action, { payload });
1071
1108
  }
1072
1109
  catch (error) {
1073
1110
  // Log but return 200 to prevent Garmin from retrying
1074
1111
  console.error(`Garmin webhook error (${route.suffix}):`, error instanceof Error ? error.message : error);
1075
1112
  }
1113
+ if (result) {
1114
+ const dataType = route.suffix.slice(1);
1115
+ const event = {
1116
+ dataType,
1117
+ processed: result.processed,
1118
+ errors: result.errors,
1119
+ };
1120
+ const specificHandler = webhookCfg.events?.[dataType];
1121
+ if (specificHandler) {
1122
+ try {
1123
+ await specificHandler(ctx, event);
1124
+ }
1125
+ catch (callbackError) {
1126
+ console.error(`[soma] garmin webhook events["${dataType}"] callback error:`, callbackError instanceof Error ? callbackError.message : callbackError);
1127
+ }
1128
+ }
1129
+ if (webhookCfg.onEvent) {
1130
+ try {
1131
+ await webhookCfg.onEvent(ctx, event);
1132
+ }
1133
+ catch (callbackError) {
1134
+ console.error(`[soma] garmin webhook onEvent callback error:`, callbackError instanceof Error ? callbackError.message : callbackError);
1135
+ }
1136
+ }
1137
+ }
1076
1138
  return new Response("OK", { status: 200 });
1077
1139
  }),
1078
1140
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export declare const storePendingOAuth: import("convex/server").RegisteredMutation<"internal", {
2
- state: string;
3
2
  userId: string;
4
3
  provider: string;
4
+ state: string;
5
5
  codeVerifier: string;
6
6
  }, Promise<null>>;
7
7
  export declare const getPendingOAuth: import("convex/server").RegisteredQuery<"internal", {
@@ -9,9 +9,9 @@ export declare const getPendingOAuth: import("convex/server").RegisteredQuery<"i
9
9
  }, Promise<{
10
10
  _id: import("convex/values").GenericId<"pendingOAuth">;
11
11
  _creationTime: number;
12
- state: string;
13
12
  userId: string;
14
13
  provider: string;
14
+ state: string;
15
15
  codeVerifier: string;
16
16
  createdAt: number;
17
17
  } | null>>;
@@ -28,12 +28,13 @@ export declare const getGarminAuthUrl: import("convex/server").RegisteredAction<
28
28
  export declare const connectGarmin: import("convex/server").RegisteredAction<"public", {
29
29
  redirectUri?: string | undefined;
30
30
  userId: string;
31
+ codeVerifier: string;
31
32
  clientId: string;
32
33
  clientSecret: string;
33
34
  code: string;
34
- codeVerifier: string;
35
35
  }, Promise<{
36
36
  connectionId: Id<"connections">;
37
+ userId: string;
37
38
  synced: Record<string, number>;
38
39
  errors: Array<{
39
40
  type: string;
@@ -58,6 +59,7 @@ export declare const completeGarminOAuth: import("convex/server").RegisteredActi
58
59
  code: string;
59
60
  }, Promise<{
60
61
  connectionId: Id<"connections">;
62
+ userId: string;
61
63
  synced: Record<string, number>;
62
64
  errors: Array<{
63
65
  type: string;
@@ -72,8 +74,8 @@ export declare const completeGarminOAuth: import("convex/server").RegisteredActi
72
74
  * types for the specified time range (defaults to last 30 days).
73
75
  */
74
76
  export declare const syncGarmin: import("convex/server").RegisteredAction<"public", {
75
- endTimeInSeconds?: number | undefined;
76
77
  startTimeInSeconds?: number | undefined;
78
+ endTimeInSeconds?: number | undefined;
77
79
  userId: string;
78
80
  clientId: string;
79
81
  clientSecret: string;
@@ -120,11 +122,11 @@ export declare const pushPlannedWorkout: import("convex/server").RegisteredActio
120
122
  * after obtaining a valid access token.
121
123
  */
122
124
  export declare const syncAllTypes: import("convex/server").RegisteredAction<"public", {
123
- connectionId: import("convex/values").GenericId<"connections">;
124
125
  userId: string;
126
+ connectionId: import("convex/values").GenericId<"connections">;
125
127
  accessToken: string;
126
- uploadEndTimeInSeconds: number;
127
128
  uploadStartTimeInSeconds: number;
129
+ uploadEndTimeInSeconds: number;
128
130
  }, Promise<{
129
131
  synced: {
130
132
  activities: number;
@@ -1 +1 @@
1
- {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/component/garmin/public.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAO,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAyDvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;GA6B3B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;kBAUR,EAAE,CAAC,aAAa,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA4D5D,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;kBASd,EAAE,CAAC,aAAa,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA0E5D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;YASX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA0F5D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;iBAuC3B,CAAC;AAIH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;qBAQ0B,MAAM;sBAAoB,MAAM,GAAG,IAAI;GA6H9F,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;cAsBO,MAAM;YAAM,MAAM;eAAS,MAAM;;GAmU/D,CAAC"}
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../../src/component/garmin/public.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAO,EAAE,EAAE,MAAM,yBAAyB,CAAC;AAyDvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;GA6B3B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;kBAUR,EAAE,CAAC,aAAa,CAAC;YACvB,MAAM;YACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA6D5D,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB;;;;;;;kBASd,EAAE,CAAC,aAAa,CAAC;YACvB,MAAM;YACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA2E5D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;YASX,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;GA0F5D,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;iBAuC3B,CAAC;AAIH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;qBAQ0B,MAAM;sBAAoB,MAAM,GAAG,IAAI;GA6H9F,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;cAsBO,MAAM;YAAM,MAAM;eAAS,MAAM;;GAmU/D,CAAC"}
@@ -129,6 +129,7 @@ export const connectGarmin = action({
129
129
  });
130
130
  return {
131
131
  connectionId,
132
+ userId: args.userId,
132
133
  synced: result.synced,
133
134
  errors: result.errors,
134
135
  };
@@ -209,6 +210,7 @@ export const completeGarminOAuth = action({
209
210
  });
210
211
  return {
211
212
  connectionId,
213
+ userId: pending.userId,
212
214
  synced: result.synced,
213
215
  errors: result.errors,
214
216
  };
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/component/garmin/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/component/garmin/public.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "bugs": {
7
7
  "url": "https://github.com/NativeSquare/soma/issues"
8
8
  },
9
- "version": "0.9.1",
9
+ "version": "0.9.2",
10
10
  "license": "Apache-2.0",
11
11
  "keywords": [
12
12
  "convex",
@@ -1,6 +1,12 @@
1
1
  import type { ComponentApi } from "../component/_generated/component.js";
2
2
  import type { ActionCtx, MutationCtx, QueryCtx } from "./types.js";
3
- import { httpActionGeneric, type FunctionReference, type HttpRouter } from "convex/server";
3
+ import {
4
+ httpActionGeneric,
5
+ type FunctionReference,
6
+ type GenericActionCtx,
7
+ type GenericDataModel,
8
+ type HttpRouter,
9
+ } from "convex/server";
4
10
  import { buildAuthUrl } from "../strava/auth.js";
5
11
 
6
12
  export type SomaComponent = ComponentApi;
@@ -1260,12 +1266,27 @@ export interface StravaRouteOptions {
1260
1266
  onSuccess?: string;
1261
1267
  }
1262
1268
 
1263
- export interface GarminWebhookRouteOptions {
1264
- /** Base path prefix for all webhook routes. @default "/api/garmin/webhook" */
1265
- basePath?: string;
1269
+ // ─── Garmin Callback Event Types ─────────────────────────────────────────────
1270
+
1271
+ /** Data passed to `oauth.onComplete` after Garmin OAuth + initial sync. */
1272
+ export interface GarminConnectEvent {
1273
+ provider: "GARMIN";
1274
+ userId: string;
1275
+ connectionId: string;
1276
+ synced: Record<string, number>;
1277
+ errors: Array<{ type: string; id: string; error: string }>;
1266
1278
  }
1267
1279
 
1268
- export interface GarminRouteOptions {
1280
+ /** Data passed to webhook `events` handlers and `onEvent` after data ingestion. */
1281
+ export interface GarminWebhookEvent {
1282
+ dataType: string;
1283
+ processed: number;
1284
+ errors: Array<{ type: string; id: string; error: string }>;
1285
+ }
1286
+
1287
+ // ─── Garmin Route Options ───────────────────────────────────────────────────
1288
+
1289
+ export interface GarminOAuthOptions {
1269
1290
  /** HTTP path for the OAuth callback. @default "/api/garmin/callback" */
1270
1291
  path?: string;
1271
1292
  /** Override GARMIN_CLIENT_ID env var. */
@@ -1273,14 +1294,44 @@ export interface GarminRouteOptions {
1273
1294
  /** Override GARMIN_CLIENT_SECRET env var. */
1274
1295
  clientSecret?: string;
1275
1296
  /** URL to redirect the user to after a successful connection. */
1276
- onSuccess?: string;
1277
- /** Webhook route configuration. Set to `false` to skip webhook registration. */
1278
- webhook?: GarminWebhookRouteOptions | false;
1297
+ redirectTo?: string;
1298
+ /** Called after Garmin OAuth completes and initial data sync finishes. */
1299
+ onComplete?: (
1300
+ ctx: GenericActionCtx<GenericDataModel>,
1301
+ event: GarminConnectEvent,
1302
+ ) => Promise<void>;
1303
+ }
1304
+
1305
+ /** Webhook endpoint names matching the Garmin API data types. */
1306
+ export type GarminWebhookEventName =
1307
+ | "activities" | "activity-details" | "manually-updated-activities" | "move-iq"
1308
+ | "blood-pressures" | "body-compositions" | "dailies" | "epochs"
1309
+ | "health-snapshot" | "sleeps" | "hrv" | "stress" | "pulse-ox"
1310
+ | "respiration" | "skin-temp" | "user-metrics" | "menstrual-cycle-tracking";
1311
+
1312
+ /** Handler for a specific webhook event or the catch-all `onEvent`. */
1313
+ export type GarminWebhookHandler = (
1314
+ ctx: GenericActionCtx<GenericDataModel>,
1315
+ event: GarminWebhookEvent,
1316
+ ) => Promise<void>;
1317
+
1318
+ export interface GarminWebhookOptions {
1319
+ /** Base path prefix for all webhook routes. @default "/api/garmin/webhook" */
1320
+ basePath?: string;
1321
+ /** Called after every webhook payload is processed, regardless of data type. */
1322
+ onEvent?: GarminWebhookHandler;
1323
+ /** Per-data-type handlers. Only subscribe to the types you care about. */
1324
+ events?: Partial<Record<GarminWebhookEventName, GarminWebhookHandler>>;
1279
1325
  }
1280
1326
 
1281
1327
  export interface RegisterRoutesOptions {
1282
1328
  strava?: StravaRouteOptions;
1283
- garmin?: GarminRouteOptions;
1329
+ garmin?: {
1330
+ /** OAuth callback configuration. */
1331
+ oauth?: GarminOAuthOptions;
1332
+ /** Webhook route configuration. Set to `false` to skip webhook registration. */
1333
+ webhook?: GarminWebhookOptions | false;
1334
+ };
1284
1335
  }
1285
1336
 
1286
1337
  /**
@@ -1313,15 +1364,34 @@ export interface RegisterRoutesOptions {
1313
1364
  *
1314
1365
  * @example
1315
1366
  * ```ts
1316
- * // With custom paths and redirect
1367
+ * // With Garmin OAuth callbacks and per-type webhook handlers
1317
1368
  * registerRoutes(http, components.soma, {
1318
1369
  * strava: {
1319
1370
  * path: "/oauth/strava/callback",
1320
1371
  * onSuccess: "https://myapp.com/settings",
1321
1372
  * },
1322
1373
  * garmin: {
1323
- * path: "/oauth/garmin/callback",
1324
- * onSuccess: "https://myapp.com/settings",
1374
+ * oauth: {
1375
+ * redirectTo: "https://myapp.com/settings",
1376
+ * onComplete: async (ctx, event) => {
1377
+ * // Runs after OAuth + initial sync completes
1378
+ * await ctx.runMutation(internal.users.markConnected, {
1379
+ * userId: event.userId,
1380
+ * provider: event.provider,
1381
+ * });
1382
+ * },
1383
+ * },
1384
+ * webhook: {
1385
+ * onEvent: async (ctx, event) => {
1386
+ * // Catch-all: runs for every webhook
1387
+ * console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
1388
+ * },
1389
+ * events: {
1390
+ * "activities": async (ctx, event) => {
1391
+ * // Runs only for activity webhooks
1392
+ * },
1393
+ * },
1394
+ * },
1325
1395
  * },
1326
1396
  * });
1327
1397
  * ```
@@ -1400,8 +1470,9 @@ export function registerRoutes(
1400
1470
  }
1401
1471
 
1402
1472
  if (registerAll || opts?.garmin) {
1403
- const garmin = opts?.garmin ?? {};
1404
- const path = garmin.path ?? GARMIN_OAUTH_CALLBACK_PATH;
1473
+ const garminOpts = opts?.garmin ?? {};
1474
+ const oauth = garminOpts.oauth ?? {};
1475
+ const path = oauth.path ?? GARMIN_OAUTH_CALLBACK_PATH;
1405
1476
 
1406
1477
  http.route({
1407
1478
  path,
@@ -1425,9 +1496,9 @@ export function registerRoutes(
1425
1496
  }
1426
1497
 
1427
1498
  const clientId =
1428
- garmin.clientId ?? process.env.GARMIN_CLIENT_ID;
1499
+ oauth.clientId ?? process.env.GARMIN_CLIENT_ID;
1429
1500
  const clientSecret =
1430
- garmin.clientSecret ?? process.env.GARMIN_CLIENT_SECRET;
1501
+ oauth.clientSecret ?? process.env.GARMIN_CLIENT_SECRET;
1431
1502
 
1432
1503
  if (!clientId || !clientSecret) {
1433
1504
  return new Response(
@@ -1437,13 +1508,19 @@ export function registerRoutes(
1437
1508
  );
1438
1509
  }
1439
1510
 
1511
+ let result: {
1512
+ connectionId: string;
1513
+ userId: string;
1514
+ synced: Record<string, number>;
1515
+ errors: Array<{ type: string; id: string; error: string }>;
1516
+ };
1440
1517
  try {
1441
- await ctx.runAction(component.garmin.public.completeGarminOAuth, {
1518
+ result = await ctx.runAction(component.garmin.public.completeGarminOAuth, {
1442
1519
  code,
1443
1520
  state,
1444
1521
  clientId,
1445
1522
  clientSecret,
1446
- });
1523
+ }) as typeof result;
1447
1524
  } catch (error) {
1448
1525
  const message =
1449
1526
  error instanceof Error ? error.message : "Unknown error";
@@ -1452,10 +1529,27 @@ export function registerRoutes(
1452
1529
  });
1453
1530
  }
1454
1531
 
1455
- if (garmin.onSuccess) {
1532
+ if (oauth.onComplete) {
1533
+ try {
1534
+ await oauth.onComplete(ctx, {
1535
+ provider: "GARMIN",
1536
+ userId: result.userId,
1537
+ connectionId: result.connectionId,
1538
+ synced: result.synced,
1539
+ errors: result.errors,
1540
+ });
1541
+ } catch (callbackError) {
1542
+ console.error(
1543
+ "[soma] garmin oauth.onComplete callback error:",
1544
+ callbackError instanceof Error ? callbackError.message : callbackError,
1545
+ );
1546
+ }
1547
+ }
1548
+
1549
+ if (oauth.redirectTo) {
1456
1550
  return new Response(null, {
1457
1551
  status: 302,
1458
- headers: { Location: garmin.onSuccess },
1552
+ headers: { Location: oauth.redirectTo },
1459
1553
  });
1460
1554
  }
1461
1555
 
@@ -1466,9 +1560,9 @@ export function registerRoutes(
1466
1560
  });
1467
1561
 
1468
1562
  // ── Garmin Webhook Routes ──────────────────────────────────
1469
- if (garmin.webhook !== false) {
1470
- const webhookBase =
1471
- (garmin.webhook && garmin.webhook.basePath) ?? GARMIN_WEBHOOK_BASE_PATH;
1563
+ if (garminOpts.webhook !== false) {
1564
+ const webhookCfg = typeof garminOpts.webhook === "object" ? garminOpts.webhook : {};
1565
+ const webhookBase = webhookCfg.basePath ?? GARMIN_WEBHOOK_BASE_PATH;
1472
1566
 
1473
1567
  const webhookRoutes: Array<{
1474
1568
  suffix: string;
@@ -1509,8 +1603,9 @@ export function registerRoutes(
1509
1603
  return new Response("Invalid JSON body", { status: 400 });
1510
1604
  }
1511
1605
 
1606
+ let result: { processed: number; errors: Array<{ type: string; id: string; error: string }> } | undefined;
1512
1607
  try {
1513
- await ctx.runAction(route.action, { payload });
1608
+ result = await ctx.runAction(route.action, { payload }) as typeof result;
1514
1609
  } catch (error) {
1515
1610
  // Log but return 200 to prevent Garmin from retrying
1516
1611
  console.error(
@@ -1519,6 +1614,38 @@ export function registerRoutes(
1519
1614
  );
1520
1615
  }
1521
1616
 
1617
+ if (result) {
1618
+ const dataType = route.suffix.slice(1) as GarminWebhookEventName;
1619
+ const event: GarminWebhookEvent = {
1620
+ dataType,
1621
+ processed: result.processed,
1622
+ errors: result.errors,
1623
+ };
1624
+
1625
+ const specificHandler = webhookCfg.events?.[dataType];
1626
+ if (specificHandler) {
1627
+ try {
1628
+ await specificHandler(ctx, event);
1629
+ } catch (callbackError) {
1630
+ console.error(
1631
+ `[soma] garmin webhook events["${dataType}"] callback error:`,
1632
+ callbackError instanceof Error ? callbackError.message : callbackError,
1633
+ );
1634
+ }
1635
+ }
1636
+
1637
+ if (webhookCfg.onEvent) {
1638
+ try {
1639
+ await webhookCfg.onEvent(ctx, event);
1640
+ } catch (callbackError) {
1641
+ console.error(
1642
+ `[soma] garmin webhook onEvent callback error:`,
1643
+ callbackError instanceof Error ? callbackError.message : callbackError,
1644
+ );
1645
+ }
1646
+ }
1647
+ }
1648
+
1522
1649
  return new Response("OK", { status: 200 });
1523
1650
  }),
1524
1651
  });
@@ -121,6 +121,7 @@ export const connectGarmin = action({
121
121
  },
122
122
  handler: async (ctx, args): Promise<{
123
123
  connectionId: Id<"connections">;
124
+ userId: string;
124
125
  synced: Record<string, number>;
125
126
  errors: Array<{ type: string; id: string; error: string }>;
126
127
  }> => {
@@ -178,6 +179,7 @@ export const connectGarmin = action({
178
179
 
179
180
  return {
180
181
  connectionId,
182
+ userId: args.userId,
181
183
  synced: result.synced,
182
184
  errors: result.errors,
183
185
  };
@@ -203,6 +205,7 @@ export const completeGarminOAuth = action({
203
205
  },
204
206
  handler: async (ctx, args): Promise<{
205
207
  connectionId: Id<"connections">;
208
+ userId: string;
206
209
  synced: Record<string, number>;
207
210
  errors: Array<{ type: string; id: string; error: string }>;
208
211
  }> => {
@@ -274,6 +277,7 @@ export const completeGarminOAuth = action({
274
277
 
275
278
  return {
276
279
  connectionId,
280
+ userId: pending.userId,
277
281
  synced: result.synced,
278
282
  errors: result.errors,
279
283
  };