@nativesquare/soma 0.10.2 → 0.12.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.
- package/dist/client/garmin.d.ts +287 -0
- package/dist/client/garmin.d.ts.map +1 -0
- package/dist/client/garmin.js +345 -0
- package/dist/client/garmin.js.map +1 -0
- package/dist/client/index.d.ts +27 -467
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +33 -385
- package/dist/client/index.js.map +1 -1
- package/dist/client/strava.d.ts +92 -0
- package/dist/client/strava.d.ts.map +1 -0
- package/dist/client/strava.js +96 -0
- package/dist/client/strava.js.map +1 -0
- package/dist/client/types.d.ts +165 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +17 -12
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/garmin/public.d.ts +18 -84
- package/dist/component/garmin/public.d.ts.map +1 -1
- package/dist/component/garmin/public.js +147 -539
- package/dist/component/garmin/public.js.map +1 -1
- package/package.json +1 -1
- package/src/client/garmin.ts +487 -0
- package/src/client/index.ts +69 -711
- package/src/client/strava.ts +108 -0
- package/src/client/types.ts +215 -18
- package/src/component/_generated/component.ts +29 -18
- package/src/component/garmin/public.ts +1049 -1406
- package/src/component/garmin/webhooks.ts +857 -857
package/dist/client/index.d.ts
CHANGED
|
@@ -1,36 +1,15 @@
|
|
|
1
1
|
import type { ComponentApi } from "../component/_generated/component.js";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
2
|
+
import type { MutationCtx, QueryCtx, SomaStravaConfig, SomaGarminConfig, IngestArgs, ListTimeRangeArgs, PaginateTimeRangeArgs, RegisterRoutesOptions } from "./types.js";
|
|
3
|
+
export type { ActionCtx, SomaStravaConfig, SomaGarminConfig, IngestArgs, TimeRangeArgs, ListTimeRangeArgs, PaginateTimeRangeArgs, StravaOAuthOptions, StravaConnectEvent, GarminConnectEvent, GarminWebhookEvent, GarminOAuthOptions, GarminWebhookEventName, GarminWebhookHandler, GarminWebhookOptions, RegisterRoutesOptions, } from "./types.js";
|
|
4
|
+
import { type HttpRouter } from "convex/server";
|
|
5
|
+
import { SomaGarmin } from "./garmin.js";
|
|
6
|
+
import { SomaStrava } from "./strava.js";
|
|
7
|
+
export { SomaGarmin } from "./garmin.js";
|
|
8
|
+
export { SomaStrava } from "./strava.js";
|
|
4
9
|
export type SomaComponent = ComponentApi;
|
|
5
10
|
export declare const STRAVA_CALLBACK_PATH = "/api/strava/callback";
|
|
6
11
|
export declare const GARMIN_OAUTH_CALLBACK_PATH = "/api/garmin/callback";
|
|
7
12
|
export declare const GARMIN_WEBHOOK_BASE_PATH = "/api/garmin/webhook";
|
|
8
|
-
/**
|
|
9
|
-
* Configuration for the Strava integration.
|
|
10
|
-
*
|
|
11
|
-
* If not provided to the constructor, the Soma class will attempt to
|
|
12
|
-
* read `STRAVA_CLIENT_ID`, `STRAVA_CLIENT_SECRET`, and `STRAVA_BASE_URL`
|
|
13
|
-
* from environment variables automatically.
|
|
14
|
-
*/
|
|
15
|
-
export interface SomaStravaConfig {
|
|
16
|
-
/** Your Strava application's Client ID. */
|
|
17
|
-
clientId: string;
|
|
18
|
-
/** Your Strava application's Client Secret. */
|
|
19
|
-
clientSecret: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Configuration for the Garmin integration.
|
|
23
|
-
*
|
|
24
|
-
* If not provided to the constructor, the Soma class will attempt to
|
|
25
|
-
* read `GARMIN_CLIENT_ID` and `GARMIN_CLIENT_SECRET` from
|
|
26
|
-
* environment variables automatically.
|
|
27
|
-
*/
|
|
28
|
-
export interface SomaGarminConfig {
|
|
29
|
-
/** Your Garmin application's Client ID. */
|
|
30
|
-
clientId: string;
|
|
31
|
-
/** Your Garmin application's Client Secret. */
|
|
32
|
-
clientSecret: string;
|
|
33
|
-
}
|
|
34
13
|
/**
|
|
35
14
|
* Client class for the @nativesquare/soma Convex component.
|
|
36
15
|
*
|
|
@@ -38,7 +17,7 @@ export interface SomaGarminConfig {
|
|
|
38
17
|
* and querying normalized health & fitness data.
|
|
39
18
|
*
|
|
40
19
|
* All capabilities are also accessible via direct component function calls:
|
|
41
|
-
* `ctx.
|
|
20
|
+
* `ctx.runQuery(components.soma.public.listActivities, { userId: "user_123" })`
|
|
42
21
|
*
|
|
43
22
|
* @example
|
|
44
23
|
* ```ts
|
|
@@ -47,31 +26,32 @@ export interface SomaGarminConfig {
|
|
|
47
26
|
* import { components } from "./_generated/api";
|
|
48
27
|
*
|
|
49
28
|
* // Zero config if env vars are set in Convex dashboard:
|
|
50
|
-
* // STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET
|
|
29
|
+
* // STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET
|
|
30
|
+
* // GARMIN_CLIENT_ID, GARMIN_CLIENT_SECRET
|
|
51
31
|
* const soma = new Soma(components.soma);
|
|
52
32
|
*
|
|
53
|
-
* // Or with explicit
|
|
33
|
+
* // Or with explicit config:
|
|
54
34
|
* // const soma = new Soma(components.soma, {
|
|
55
35
|
* // strava: { clientId: "...", clientSecret: "..." },
|
|
36
|
+
* // garmin: { clientId: "...", clientSecret: "..." },
|
|
56
37
|
* // });
|
|
57
38
|
*
|
|
58
|
-
* // Connect a user to a provider:
|
|
59
|
-
* const connectionId = await soma.connect(ctx, {
|
|
60
|
-
* userId: "user_123",
|
|
61
|
-
* provider: "GARMIN",
|
|
62
|
-
* });
|
|
63
|
-
*
|
|
64
39
|
* // Start Strava OAuth (redirects user, callback handled by registerRoutes):
|
|
65
|
-
* const { authUrl } = await soma.
|
|
40
|
+
* const { authUrl } = await soma.strava.getAuthUrl(ctx, {
|
|
66
41
|
* userId: "user_123",
|
|
67
42
|
* redirectUri: "https://your-app.convex.site/api/strava/callback",
|
|
68
43
|
* });
|
|
44
|
+
*
|
|
45
|
+
* // Pull all Garmin data:
|
|
46
|
+
* await soma.garmin.pullAll(ctx, { userId: "user_123" });
|
|
69
47
|
* ```
|
|
70
48
|
*/
|
|
71
49
|
export declare class Soma {
|
|
72
50
|
component: SomaComponent;
|
|
73
51
|
private stravaConfig?;
|
|
74
52
|
private garminConfig?;
|
|
53
|
+
readonly garmin: SomaGarmin;
|
|
54
|
+
readonly strava: SomaStrava;
|
|
75
55
|
constructor(component: SomaComponent, options?: {
|
|
76
56
|
strava?: SomaStravaConfig;
|
|
77
57
|
garmin?: SomaGarminConfig;
|
|
@@ -94,58 +74,6 @@ export declare class Soma {
|
|
|
94
74
|
* Get the resolved Garmin config, or throw a clear error if not configured.
|
|
95
75
|
*/
|
|
96
76
|
private requireGarminConfig;
|
|
97
|
-
/**
|
|
98
|
-
* Connect a user to a wearable provider.
|
|
99
|
-
*
|
|
100
|
-
* Creates the connection if it doesn't exist, or re-activates it if it was
|
|
101
|
-
* previously disconnected. Idempotent — calling twice is a no-op.
|
|
102
|
-
*
|
|
103
|
-
* Use this when the host app has completed the provider's auth flow and
|
|
104
|
-
* wants to register the connection in Soma.
|
|
105
|
-
*
|
|
106
|
-
* @param ctx - Mutation context from the host app
|
|
107
|
-
* @param args.userId - The host app's user identifier (Clerk ID, etc.)
|
|
108
|
-
* @param args.provider - The wearable provider name ("GARMIN", "FITBIT", "OURA", etc.)
|
|
109
|
-
* @returns The connection document ID
|
|
110
|
-
*
|
|
111
|
-
* @example
|
|
112
|
-
* ```ts
|
|
113
|
-
* // "Connect to Garmin" button handler
|
|
114
|
-
* const connectionId = await soma.connect(ctx, {
|
|
115
|
-
* userId: "user_123",
|
|
116
|
-
* provider: "GARMIN",
|
|
117
|
-
* });
|
|
118
|
-
* ```
|
|
119
|
-
*/
|
|
120
|
-
connect(ctx: MutationCtx, args: {
|
|
121
|
-
userId: string;
|
|
122
|
-
provider: string;
|
|
123
|
-
}): Promise<string>;
|
|
124
|
-
/**
|
|
125
|
-
* Disconnect a user from a wearable provider.
|
|
126
|
-
*
|
|
127
|
-
* Sets the connection to inactive. Does not delete any synced data,
|
|
128
|
-
* so re-connecting later preserves historical records.
|
|
129
|
-
*
|
|
130
|
-
* @param ctx - Mutation context from the host app
|
|
131
|
-
* @param args.userId - The host app's user identifier
|
|
132
|
-
* @param args.provider - The wearable provider name
|
|
133
|
-
*
|
|
134
|
-
* @throws Error if no connection exists for the given user–provider pair
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
* ```ts
|
|
138
|
-
* // "Disconnect Garmin" button handler
|
|
139
|
-
* await soma.disconnect(ctx, {
|
|
140
|
-
* userId: "user_123",
|
|
141
|
-
* provider: "GARMIN",
|
|
142
|
-
* });
|
|
143
|
-
* ```
|
|
144
|
-
*/
|
|
145
|
-
disconnect(ctx: MutationCtx, args: {
|
|
146
|
-
userId: string;
|
|
147
|
-
provider: string;
|
|
148
|
-
}): Promise<null>;
|
|
149
77
|
/**
|
|
150
78
|
* Get a connection by its document ID.
|
|
151
79
|
*
|
|
@@ -537,377 +465,6 @@ export declare class Soma {
|
|
|
537
465
|
getPlannedWorkout(ctx: QueryCtx, args: {
|
|
538
466
|
plannedWorkoutId: string;
|
|
539
467
|
}): Promise<any>;
|
|
540
|
-
/**
|
|
541
|
-
* Push a planned workout to Garmin Connect.
|
|
542
|
-
*
|
|
543
|
-
* Creates the workout on Garmin's Training API and optionally schedules it
|
|
544
|
-
* to the user's calendar if `metadata.planned_date` is set. The workout
|
|
545
|
-
* will appear on the user's Garmin device after they sync.
|
|
546
|
-
*
|
|
547
|
-
* @param ctx - Action context from the host app
|
|
548
|
-
* @param args.userId - The host app's user identifier
|
|
549
|
-
* @param args.plannedWorkoutId - The Soma planned workout document ID
|
|
550
|
-
* @param args.workoutProvider - Name shown to user in Garmin Connect (default: "Soma", 20 chars max)
|
|
551
|
-
* @returns `{ garminWorkoutId, garminScheduleId }`
|
|
552
|
-
*
|
|
553
|
-
* @example
|
|
554
|
-
* ```ts
|
|
555
|
-
* export const pushWorkout = action({
|
|
556
|
-
* args: { userId: v.string(), workoutId: v.string() },
|
|
557
|
-
* handler: async (ctx, { userId, workoutId }) => {
|
|
558
|
-
* return await soma.pushPlannedWorkoutToGarmin(ctx, {
|
|
559
|
-
* userId,
|
|
560
|
-
* plannedWorkoutId: workoutId,
|
|
561
|
-
* });
|
|
562
|
-
* },
|
|
563
|
-
* });
|
|
564
|
-
* ```
|
|
565
|
-
*/
|
|
566
|
-
pushPlannedWorkoutToGarmin(ctx: ActionCtx, args: {
|
|
567
|
-
userId: string;
|
|
568
|
-
plannedWorkoutId: string;
|
|
569
|
-
workoutProvider?: string;
|
|
570
|
-
}): Promise<any>;
|
|
571
|
-
/**
|
|
572
|
-
* Generate a Strava OAuth authorization URL.
|
|
573
|
-
*
|
|
574
|
-
* The state parameter is stored inside the component automatically,
|
|
575
|
-
* and the callback handler registered by `registerRoutes` will
|
|
576
|
-
* complete the flow without further host-app intervention.
|
|
577
|
-
*
|
|
578
|
-
* @param ctx - Action context from the host app
|
|
579
|
-
* @param opts.userId - The host app's user identifier
|
|
580
|
-
* @param opts.redirectUri - The URL Strava will redirect to after authorization
|
|
581
|
-
* @param opts.scope - Comma-separated Strava OAuth scopes (default: "read,activity:read_all,profile:read_all")
|
|
582
|
-
* @returns `{ authUrl, state }`
|
|
583
|
-
*
|
|
584
|
-
* @example
|
|
585
|
-
* ```ts
|
|
586
|
-
* const { authUrl } = await soma.getStravaAuthUrl(ctx, {
|
|
587
|
-
* userId: "user_123",
|
|
588
|
-
* redirectUri: "https://your-app.convex.site/api/strava/callback",
|
|
589
|
-
* });
|
|
590
|
-
* // Redirect user to authUrl — the callback is handled automatically
|
|
591
|
-
* ```
|
|
592
|
-
*/
|
|
593
|
-
getStravaAuthUrl(ctx: ActionCtx, opts: {
|
|
594
|
-
userId: string;
|
|
595
|
-
redirectUri: string;
|
|
596
|
-
scope?: string;
|
|
597
|
-
}): Promise<any>;
|
|
598
|
-
/**
|
|
599
|
-
* Sync activities from Strava for an already-connected user.
|
|
600
|
-
*
|
|
601
|
-
* Automatically refreshes the access token if expired. Fetches the
|
|
602
|
-
* athlete profile and activities, transforms them, and ingests into Soma.
|
|
603
|
-
*
|
|
604
|
-
* @param ctx - Action context from the host app
|
|
605
|
-
* @param args.userId - The host app's user identifier
|
|
606
|
-
* @param args.after - Only sync activities after this Unix epoch timestamp (for incremental sync)
|
|
607
|
-
* @returns `{ synced, errors }`
|
|
608
|
-
*
|
|
609
|
-
* @example
|
|
610
|
-
* ```ts
|
|
611
|
-
* export const syncStrava = action({
|
|
612
|
-
* args: { userId: v.string() },
|
|
613
|
-
* handler: async (ctx, { userId }) => {
|
|
614
|
-
* return await soma.syncStrava(ctx, { userId });
|
|
615
|
-
* },
|
|
616
|
-
* });
|
|
617
|
-
* ```
|
|
618
|
-
*/
|
|
619
|
-
syncStrava(ctx: ActionCtx, args: {
|
|
620
|
-
userId: string;
|
|
621
|
-
after?: number;
|
|
622
|
-
}): Promise<{
|
|
623
|
-
errors: Array<{
|
|
624
|
-
error: string;
|
|
625
|
-
id: string;
|
|
626
|
-
type: string;
|
|
627
|
-
}>;
|
|
628
|
-
synced: {
|
|
629
|
-
activities: number;
|
|
630
|
-
athletes: number;
|
|
631
|
-
};
|
|
632
|
-
}>;
|
|
633
|
-
/**
|
|
634
|
-
* Disconnect a user from Strava.
|
|
635
|
-
*
|
|
636
|
-
* Revokes the token at Strava (best-effort), deletes stored tokens,
|
|
637
|
-
* and sets the connection to inactive.
|
|
638
|
-
*
|
|
639
|
-
* @param ctx - Action context from the host app
|
|
640
|
-
* @param args.userId - The host app's user identifier
|
|
641
|
-
*
|
|
642
|
-
* @example
|
|
643
|
-
* ```ts
|
|
644
|
-
* export const disconnectStrava = action({
|
|
645
|
-
* args: { userId: v.string() },
|
|
646
|
-
* handler: async (ctx, { userId }) => {
|
|
647
|
-
* await soma.disconnectStrava(ctx, { userId });
|
|
648
|
-
* },
|
|
649
|
-
* });
|
|
650
|
-
* ```
|
|
651
|
-
*/
|
|
652
|
-
disconnectStrava(ctx: ActionCtx, args: {
|
|
653
|
-
userId: string;
|
|
654
|
-
}): Promise<null>;
|
|
655
|
-
/**
|
|
656
|
-
* Generate a Garmin OAuth 2.0 authorization URL with PKCE.
|
|
657
|
-
*
|
|
658
|
-
* The PKCE state is stored inside the component automatically,
|
|
659
|
-
* and the callback handler registered by `registerRoutes` will
|
|
660
|
-
* complete the flow without further host-app intervention.
|
|
661
|
-
*
|
|
662
|
-
* @param ctx - Action context from the host app
|
|
663
|
-
* @param opts.userId - The host app's user identifier
|
|
664
|
-
* @param opts.redirectUri - The URL Garmin will redirect to after authorization
|
|
665
|
-
* @returns `{ authUrl, state, codeVerifier }`
|
|
666
|
-
*
|
|
667
|
-
* @example
|
|
668
|
-
* ```ts
|
|
669
|
-
* const { authUrl } = await soma.getGarminAuthUrl(ctx, {
|
|
670
|
-
* userId: "user_123",
|
|
671
|
-
* redirectUri: "https://your-app.convex.site/api/garmin/callback",
|
|
672
|
-
* });
|
|
673
|
-
* // Redirect user to authUrl — the callback is handled automatically
|
|
674
|
-
* ```
|
|
675
|
-
*/
|
|
676
|
-
getGarminAuthUrl(ctx: ActionCtx, opts: {
|
|
677
|
-
userId: string;
|
|
678
|
-
redirectUri?: string;
|
|
679
|
-
}): Promise<any>;
|
|
680
|
-
pullGarminActivities(ctx: ActionCtx, args: {
|
|
681
|
-
userId: string;
|
|
682
|
-
startTimeInSeconds?: number;
|
|
683
|
-
endTimeInSeconds?: number;
|
|
684
|
-
}): Promise<any>;
|
|
685
|
-
pullGarminDailies(ctx: ActionCtx, args: {
|
|
686
|
-
userId: string;
|
|
687
|
-
startTimeInSeconds?: number;
|
|
688
|
-
endTimeInSeconds?: number;
|
|
689
|
-
}): Promise<any>;
|
|
690
|
-
pullGarminSleep(ctx: ActionCtx, args: {
|
|
691
|
-
userId: string;
|
|
692
|
-
startTimeInSeconds?: number;
|
|
693
|
-
endTimeInSeconds?: number;
|
|
694
|
-
}): Promise<any>;
|
|
695
|
-
pullGarminBody(ctx: ActionCtx, args: {
|
|
696
|
-
userId: string;
|
|
697
|
-
startTimeInSeconds?: number;
|
|
698
|
-
endTimeInSeconds?: number;
|
|
699
|
-
}): Promise<any>;
|
|
700
|
-
pullGarminMenstruation(ctx: ActionCtx, args: {
|
|
701
|
-
userId: string;
|
|
702
|
-
startTimeInSeconds?: number;
|
|
703
|
-
endTimeInSeconds?: number;
|
|
704
|
-
}): Promise<any>;
|
|
705
|
-
pullGarminBloodPressures(ctx: ActionCtx, args: {
|
|
706
|
-
userId: string;
|
|
707
|
-
startTimeInSeconds?: number;
|
|
708
|
-
endTimeInSeconds?: number;
|
|
709
|
-
}): Promise<any>;
|
|
710
|
-
pullGarminSkinTemperature(ctx: ActionCtx, args: {
|
|
711
|
-
userId: string;
|
|
712
|
-
startTimeInSeconds?: number;
|
|
713
|
-
endTimeInSeconds?: number;
|
|
714
|
-
}): Promise<any>;
|
|
715
|
-
pullGarminUserMetrics(ctx: ActionCtx, args: {
|
|
716
|
-
userId: string;
|
|
717
|
-
startTimeInSeconds?: number;
|
|
718
|
-
endTimeInSeconds?: number;
|
|
719
|
-
}): Promise<any>;
|
|
720
|
-
pullGarminHRV(ctx: ActionCtx, args: {
|
|
721
|
-
userId: string;
|
|
722
|
-
startTimeInSeconds?: number;
|
|
723
|
-
endTimeInSeconds?: number;
|
|
724
|
-
}): Promise<any>;
|
|
725
|
-
pullGarminStressDetails(ctx: ActionCtx, args: {
|
|
726
|
-
userId: string;
|
|
727
|
-
startTimeInSeconds?: number;
|
|
728
|
-
endTimeInSeconds?: number;
|
|
729
|
-
}): Promise<any>;
|
|
730
|
-
pullGarminPulseOx(ctx: ActionCtx, args: {
|
|
731
|
-
userId: string;
|
|
732
|
-
startTimeInSeconds?: number;
|
|
733
|
-
endTimeInSeconds?: number;
|
|
734
|
-
}): Promise<any>;
|
|
735
|
-
pullGarminRespiration(ctx: ActionCtx, args: {
|
|
736
|
-
userId: string;
|
|
737
|
-
startTimeInSeconds?: number;
|
|
738
|
-
endTimeInSeconds?: number;
|
|
739
|
-
}): Promise<any>;
|
|
740
|
-
pullGarminAll(ctx: ActionCtx, args: {
|
|
741
|
-
userId: string;
|
|
742
|
-
startTimeInSeconds?: number;
|
|
743
|
-
endTimeInSeconds?: number;
|
|
744
|
-
}): Promise<any>;
|
|
745
|
-
/**
|
|
746
|
-
* Sync all data types from Garmin for an already-connected user.
|
|
747
|
-
*
|
|
748
|
-
* Fetches activities, dailies, sleep, body composition, and menstruation
|
|
749
|
-
* data for the specified time range (defaults to last 30 days).
|
|
750
|
-
* Automatically refreshes expired tokens.
|
|
751
|
-
*
|
|
752
|
-
* @param ctx - Action context from the host app
|
|
753
|
-
* @param args.userId - The host app's user identifier
|
|
754
|
-
* @param args.startTimeInSeconds - Optional start of time range (Unix epoch seconds)
|
|
755
|
-
* @param args.endTimeInSeconds - Optional end of time range (Unix epoch seconds)
|
|
756
|
-
* @returns `{ synced, errors }`
|
|
757
|
-
*
|
|
758
|
-
* @example
|
|
759
|
-
* ```ts
|
|
760
|
-
* export const syncGarmin = action({
|
|
761
|
-
* args: { userId: v.string() },
|
|
762
|
-
* handler: async (ctx, { userId }) => {
|
|
763
|
-
* return await soma.syncGarmin(ctx, { userId });
|
|
764
|
-
* },
|
|
765
|
-
* });
|
|
766
|
-
* ```
|
|
767
|
-
*/
|
|
768
|
-
syncGarmin(ctx: ActionCtx, args: {
|
|
769
|
-
userId: string;
|
|
770
|
-
startTimeInSeconds?: number;
|
|
771
|
-
endTimeInSeconds?: number;
|
|
772
|
-
}): Promise<any>;
|
|
773
|
-
/**
|
|
774
|
-
* Disconnect a user from Garmin.
|
|
775
|
-
*
|
|
776
|
-
* Deregisters the user at Garmin (best-effort), deletes stored tokens,
|
|
777
|
-
* and sets the connection to inactive.
|
|
778
|
-
*
|
|
779
|
-
* @param ctx - Action context from the host app
|
|
780
|
-
* @param args.userId - The host app's user identifier
|
|
781
|
-
*
|
|
782
|
-
* @example
|
|
783
|
-
* ```ts
|
|
784
|
-
* export const disconnectGarmin = action({
|
|
785
|
-
* args: { userId: v.string() },
|
|
786
|
-
* handler: async (ctx, { userId }) => {
|
|
787
|
-
* await soma.disconnectGarmin(ctx, { userId });
|
|
788
|
-
* },
|
|
789
|
-
* });
|
|
790
|
-
* ```
|
|
791
|
-
*/
|
|
792
|
-
disconnectGarmin(ctx: ActionCtx, args: {
|
|
793
|
-
userId: string;
|
|
794
|
-
}): Promise<any>;
|
|
795
|
-
}
|
|
796
|
-
/**
|
|
797
|
-
* Common args shape for all ingestion methods.
|
|
798
|
-
*
|
|
799
|
-
* Requires `connectionId` and `userId` at minimum — additional fields
|
|
800
|
-
* come from the transformer output (e.g., `metadata`, `calories_data`, etc.)
|
|
801
|
-
* and are validated server-side by Convex validators.
|
|
802
|
-
*/
|
|
803
|
-
type IngestArgs = {
|
|
804
|
-
connectionId: string;
|
|
805
|
-
userId: string;
|
|
806
|
-
} & Record<string, unknown>;
|
|
807
|
-
/**
|
|
808
|
-
* Base args for time-range filtered queries.
|
|
809
|
-
*
|
|
810
|
-
* - `userId` is required for all health data queries.
|
|
811
|
-
* - `startTime` / `endTime` are optional ISO-8601 bounds on `metadata.start_time`.
|
|
812
|
-
*/
|
|
813
|
-
type TimeRangeArgs = {
|
|
814
|
-
userId: string;
|
|
815
|
-
startTime?: string;
|
|
816
|
-
endTime?: string;
|
|
817
|
-
};
|
|
818
|
-
/**
|
|
819
|
-
* Args for list (collect-all) queries with optional ordering and limit.
|
|
820
|
-
*/
|
|
821
|
-
type ListTimeRangeArgs = TimeRangeArgs & {
|
|
822
|
-
order?: "asc" | "desc";
|
|
823
|
-
limit?: number;
|
|
824
|
-
};
|
|
825
|
-
/**
|
|
826
|
-
* Args for paginated queries with Convex pagination options.
|
|
827
|
-
*/
|
|
828
|
-
type PaginateTimeRangeArgs = TimeRangeArgs & {
|
|
829
|
-
paginationOpts: {
|
|
830
|
-
numItems: number;
|
|
831
|
-
cursor: string | null;
|
|
832
|
-
};
|
|
833
|
-
};
|
|
834
|
-
/**
|
|
835
|
-
* Per-provider options for `registerRoutes`.
|
|
836
|
-
*/
|
|
837
|
-
export interface StravaOAuthOptions {
|
|
838
|
-
/** HTTP path for the OAuth callback. @default "/api/strava/callback" */
|
|
839
|
-
path?: string;
|
|
840
|
-
/** Override STRAVA_CLIENT_ID env var. */
|
|
841
|
-
clientId?: string;
|
|
842
|
-
/** Override STRAVA_CLIENT_SECRET env var. */
|
|
843
|
-
clientSecret?: string;
|
|
844
|
-
/** URL to redirect the user to after a successful connection. */
|
|
845
|
-
redirectTo?: string;
|
|
846
|
-
/** Called after Strava OAuth completes and the connection is established. */
|
|
847
|
-
onComplete?: (ctx: GenericActionCtx<GenericDataModel>, event: StravaConnectEvent) => Promise<void>;
|
|
848
|
-
}
|
|
849
|
-
/** Data passed to `onComplete` after Strava OAuth completes. */
|
|
850
|
-
export interface StravaConnectEvent {
|
|
851
|
-
provider: "STRAVA";
|
|
852
|
-
userId: string;
|
|
853
|
-
connectionId: string;
|
|
854
|
-
}
|
|
855
|
-
/** Data passed to `oauth.onComplete` after Garmin OAuth completes. */
|
|
856
|
-
export interface GarminConnectEvent {
|
|
857
|
-
provider: "GARMIN";
|
|
858
|
-
userId: string;
|
|
859
|
-
connectionId: string;
|
|
860
|
-
}
|
|
861
|
-
/** Data passed to webhook `events` handlers and `onEvent` after data ingestion. */
|
|
862
|
-
export interface GarminWebhookEvent {
|
|
863
|
-
dataType: string;
|
|
864
|
-
processed: number;
|
|
865
|
-
errors: Array<{
|
|
866
|
-
type: string;
|
|
867
|
-
id: string;
|
|
868
|
-
error: string;
|
|
869
|
-
}>;
|
|
870
|
-
/** Users whose data was affected by this webhook. */
|
|
871
|
-
affectedUsers: Array<{
|
|
872
|
-
userId: string;
|
|
873
|
-
connectionId: string;
|
|
874
|
-
}>;
|
|
875
|
-
}
|
|
876
|
-
export interface GarminOAuthOptions {
|
|
877
|
-
/** HTTP path for the OAuth callback. @default "/api/garmin/callback" */
|
|
878
|
-
path?: string;
|
|
879
|
-
/** Override GARMIN_CLIENT_ID env var. */
|
|
880
|
-
clientId?: string;
|
|
881
|
-
/** Override GARMIN_CLIENT_SECRET env var. */
|
|
882
|
-
clientSecret?: string;
|
|
883
|
-
/** URL to redirect the user to after a successful connection. */
|
|
884
|
-
redirectTo?: string;
|
|
885
|
-
/** Called after Garmin OAuth completes and the connection is established. */
|
|
886
|
-
onComplete?: (ctx: GenericActionCtx<GenericDataModel>, event: GarminConnectEvent) => Promise<void>;
|
|
887
|
-
}
|
|
888
|
-
/** Webhook endpoint names matching the Garmin API data types. */
|
|
889
|
-
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";
|
|
890
|
-
/** Handler for a specific webhook event or the catch-all `onEvent`. */
|
|
891
|
-
export type GarminWebhookHandler = (ctx: GenericActionCtx<GenericDataModel>, event: GarminWebhookEvent) => Promise<void>;
|
|
892
|
-
export interface GarminWebhookOptions {
|
|
893
|
-
/** Base path prefix for all webhook routes. @default "/api/garmin/webhook" */
|
|
894
|
-
basePath?: string;
|
|
895
|
-
/** Called after every webhook payload is processed, regardless of data type. */
|
|
896
|
-
onEvent?: GarminWebhookHandler;
|
|
897
|
-
/** Per-data-type handlers. Only subscribe to the types you care about. */
|
|
898
|
-
events?: Partial<Record<GarminWebhookEventName, GarminWebhookHandler>>;
|
|
899
|
-
}
|
|
900
|
-
export interface RegisterRoutesOptions {
|
|
901
|
-
strava?: {
|
|
902
|
-
/** OAuth callback configuration. */
|
|
903
|
-
oauth?: StravaOAuthOptions;
|
|
904
|
-
};
|
|
905
|
-
garmin?: {
|
|
906
|
-
/** OAuth callback configuration. */
|
|
907
|
-
oauth?: GarminOAuthOptions;
|
|
908
|
-
/** Webhook route configuration. Set to `false` to skip webhook registration. */
|
|
909
|
-
webhook?: GarminWebhookOptions | false;
|
|
910
|
-
};
|
|
911
468
|
}
|
|
912
469
|
/**
|
|
913
470
|
* Register OAuth callback HTTP routes for Soma providers.
|
|
@@ -966,14 +523,18 @@ export interface RegisterRoutesOptions {
|
|
|
966
523
|
* },
|
|
967
524
|
* },
|
|
968
525
|
* webhook: {
|
|
969
|
-
*
|
|
970
|
-
*
|
|
971
|
-
* console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
|
|
972
|
-
* },
|
|
526
|
+
* // Only listed data types get an HTTP route registered.
|
|
527
|
+
* // Pass a handler for custom logic, or `true` for default processing.
|
|
973
528
|
* events: {
|
|
974
529
|
* "activities": async (ctx, event) => {
|
|
975
|
-
* //
|
|
530
|
+
* // Custom side-effect after activity ingestion
|
|
976
531
|
* },
|
|
532
|
+
* "sleeps": true, // register route, default processing only
|
|
533
|
+
* "dailies": true,
|
|
534
|
+
* },
|
|
535
|
+
* // Optional catch-all, runs for every registered event
|
|
536
|
+
* onEvent: async (ctx, event) => {
|
|
537
|
+
* console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
|
|
977
538
|
* },
|
|
978
539
|
* },
|
|
979
540
|
* },
|
|
@@ -981,5 +542,4 @@ export interface RegisterRoutesOptions {
|
|
|
981
542
|
* ```
|
|
982
543
|
*/
|
|
983
544
|
export declare function registerRoutes(http: HttpRouter, component: SomaComponent, opts?: RegisterRoutesOptions): void;
|
|
984
|
-
export {};
|
|
985
545
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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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"}
|