@nativesquare/soma 0.18.0 → 0.18.1
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.map +1 -1
- package/dist/client/garmin.js +11 -2
- package/dist/client/garmin.js.map +1 -1
- package/dist/client/types.d.ts +36 -3
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js +12 -4
- package/dist/client/types.js.map +1 -1
- package/dist/component/_generated/component.d.ts +18 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/garmin/private.d.ts +34 -0
- package/dist/component/garmin/private.d.ts.map +1 -1
- package/dist/component/garmin/private.js +221 -51
- package/dist/component/garmin/private.js.map +1 -1
- package/dist/component/garmin/webhooks.d.ts +18 -0
- package/dist/component/garmin/webhooks.d.ts.map +1 -1
- package/dist/component/garmin/webhooks.js +107 -35
- package/dist/component/garmin/webhooks.js.map +1 -1
- package/package.json +1 -1
- package/src/client/garmin.ts +15 -2
- package/src/client/types.ts +42 -7
- package/src/component/_generated/component.ts +18 -18
- package/src/component/garmin/private.ts +221 -51
- package/src/component/garmin/webhooks.ts +107 -35
|
@@ -90,13 +90,17 @@ ingestMutation) {
|
|
|
90
90
|
* Handle a webhook for Garmin activities (push or ping mode).
|
|
91
91
|
*/
|
|
92
92
|
export const handleGarminWebhookActivities = action({
|
|
93
|
-
args: {
|
|
93
|
+
args: {
|
|
94
|
+
payload: v.any(),
|
|
95
|
+
autoIngest: v.optional(v.boolean()),
|
|
96
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
97
|
+
},
|
|
94
98
|
handler: async (ctx, args) => {
|
|
95
99
|
const shouldIngest = args.autoIngest !== false;
|
|
96
100
|
if (isWebhookPushMode(args.payload)) {
|
|
97
101
|
const pushResult = garminActivityPushPayloadSchema.safeParse(args.payload);
|
|
98
102
|
if (pushResult.success && pushResult.data.activities.length > 0) {
|
|
99
|
-
const result = await ctx.runAction(internal.garmin.private.processActivityPushPayload, { payload: args.payload });
|
|
103
|
+
const result = await ctx.runAction(internal.garmin.private.processActivityPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
100
104
|
return shouldIngest
|
|
101
105
|
? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
|
|
102
106
|
: result;
|
|
@@ -116,14 +120,18 @@ export const handleGarminWebhookActivities = action({
|
|
|
116
120
|
* Handle a webhook for Garmin activity details (push or ping mode).
|
|
117
121
|
*/
|
|
118
122
|
export const handleGarminWebhookActivityDetails = action({
|
|
119
|
-
args: {
|
|
123
|
+
args: {
|
|
124
|
+
payload: v.any(),
|
|
125
|
+
autoIngest: v.optional(v.boolean()),
|
|
126
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
127
|
+
},
|
|
120
128
|
handler: async (ctx, args) => {
|
|
121
129
|
const shouldIngest = args.autoIngest !== false;
|
|
122
130
|
if (isWebhookPushMode(args.payload)) {
|
|
123
131
|
const pushResult = garminActivityDetailsPushPayloadSchema.safeParse(args.payload);
|
|
124
132
|
if (pushResult.success &&
|
|
125
133
|
pushResult.data.activityDetails.length > 0) {
|
|
126
|
-
const result = await ctx.runAction(internal.garmin.private.processActivityDetailsPushPayload, { payload: args.payload });
|
|
134
|
+
const result = await ctx.runAction(internal.garmin.private.processActivityDetailsPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
127
135
|
return shouldIngest
|
|
128
136
|
? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
|
|
129
137
|
: result;
|
|
@@ -144,7 +152,11 @@ export const handleGarminWebhookActivityDetails = action({
|
|
|
144
152
|
* Handle a webhook for Garmin manually updated activities (push or ping mode).
|
|
145
153
|
*/
|
|
146
154
|
export const handleGarminWebhookManuallyUpdatedActivities = action({
|
|
147
|
-
args: {
|
|
155
|
+
args: {
|
|
156
|
+
payload: v.any(),
|
|
157
|
+
autoIngest: v.optional(v.boolean()),
|
|
158
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
159
|
+
},
|
|
148
160
|
handler: async (ctx, args) => {
|
|
149
161
|
const shouldIngest = args.autoIngest !== false;
|
|
150
162
|
if (isWebhookPushMode(args.payload)) {
|
|
@@ -152,7 +164,7 @@ export const handleGarminWebhookManuallyUpdatedActivities = action({
|
|
|
152
164
|
if (pushResult.success &&
|
|
153
165
|
pushResult.data.manuallyUpdatedActivities.length > 0) {
|
|
154
166
|
const result = await ctx.runAction(internal.garmin.private
|
|
155
|
-
.processManuallyUpdatedActivitiesPushPayload, { payload: args.payload });
|
|
167
|
+
.processManuallyUpdatedActivitiesPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
156
168
|
return shouldIngest
|
|
157
169
|
? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
|
|
158
170
|
: result;
|
|
@@ -174,14 +186,18 @@ export const handleGarminWebhookManuallyUpdatedActivities = action({
|
|
|
174
186
|
* Handle a webhook for Garmin Move IQ auto-detected activities (push or ping mode).
|
|
175
187
|
*/
|
|
176
188
|
export const handleGarminWebhookMoveIQ = action({
|
|
177
|
-
args: {
|
|
189
|
+
args: {
|
|
190
|
+
payload: v.any(),
|
|
191
|
+
autoIngest: v.optional(v.boolean()),
|
|
192
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
193
|
+
},
|
|
178
194
|
handler: async (ctx, args) => {
|
|
179
195
|
const shouldIngest = args.autoIngest !== false;
|
|
180
196
|
if (isWebhookPushMode(args.payload)) {
|
|
181
197
|
const pushResult = garminMoveIQPushPayloadSchema.safeParse(args.payload);
|
|
182
198
|
if (pushResult.success &&
|
|
183
199
|
pushResult.data.moveIQActivities.length > 0) {
|
|
184
|
-
const result = await ctx.runAction(internal.garmin.private.processMoveIQPushPayload, { payload: args.payload });
|
|
200
|
+
const result = await ctx.runAction(internal.garmin.private.processMoveIQPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
185
201
|
return shouldIngest
|
|
186
202
|
? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
|
|
187
203
|
: result;
|
|
@@ -202,14 +218,18 @@ export const handleGarminWebhookMoveIQ = action({
|
|
|
202
218
|
* Handle a webhook for Garmin blood pressure summaries (push or ping mode).
|
|
203
219
|
*/
|
|
204
220
|
export const handleGarminWebhookBloodPressures = action({
|
|
205
|
-
args: {
|
|
221
|
+
args: {
|
|
222
|
+
payload: v.any(),
|
|
223
|
+
autoIngest: v.optional(v.boolean()),
|
|
224
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
225
|
+
},
|
|
206
226
|
handler: async (ctx, args) => {
|
|
207
227
|
const shouldIngest = args.autoIngest !== false;
|
|
208
228
|
if (isWebhookPushMode(args.payload)) {
|
|
209
229
|
const pushResult = garminBloodPressurePushPayloadSchema.safeParse(args.payload);
|
|
210
230
|
if (pushResult.success &&
|
|
211
231
|
pushResult.data.bloodPressures.length > 0) {
|
|
212
|
-
const result = await ctx.runAction(internal.garmin.private.processBloodPressurePushPayload, { payload: args.payload });
|
|
232
|
+
const result = await ctx.runAction(internal.garmin.private.processBloodPressurePushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
213
233
|
return shouldIngest
|
|
214
234
|
? await ingestAndUpdate(ctx, result, api.public.ingestBody)
|
|
215
235
|
: result;
|
|
@@ -230,14 +250,18 @@ export const handleGarminWebhookBloodPressures = action({
|
|
|
230
250
|
* Handle a webhook for Garmin body composition summaries (push or ping mode).
|
|
231
251
|
*/
|
|
232
252
|
export const handleGarminWebhookBodyCompositions = action({
|
|
233
|
-
args: {
|
|
253
|
+
args: {
|
|
254
|
+
payload: v.any(),
|
|
255
|
+
autoIngest: v.optional(v.boolean()),
|
|
256
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
257
|
+
},
|
|
234
258
|
handler: async (ctx, args) => {
|
|
235
259
|
const shouldIngest = args.autoIngest !== false;
|
|
236
260
|
if (isWebhookPushMode(args.payload)) {
|
|
237
261
|
const pushResult = garminBodyCompositionsPushPayloadSchema.safeParse(args.payload);
|
|
238
262
|
if (pushResult.success &&
|
|
239
263
|
pushResult.data.bodyComps.length > 0) {
|
|
240
|
-
const result = await ctx.runAction(internal.garmin.private.processBodyCompositionsPushPayload, { payload: args.payload });
|
|
264
|
+
const result = await ctx.runAction(internal.garmin.private.processBodyCompositionsPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
241
265
|
return shouldIngest
|
|
242
266
|
? await ingestAndUpdate(ctx, result, api.public.ingestBody)
|
|
243
267
|
: result;
|
|
@@ -258,14 +282,18 @@ export const handleGarminWebhookBodyCompositions = action({
|
|
|
258
282
|
* Handle a webhook for Garmin daily summaries (push or ping mode).
|
|
259
283
|
*/
|
|
260
284
|
export const handleGarminWebhookDailies = action({
|
|
261
|
-
args: {
|
|
285
|
+
args: {
|
|
286
|
+
payload: v.any(),
|
|
287
|
+
autoIngest: v.optional(v.boolean()),
|
|
288
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
289
|
+
},
|
|
262
290
|
handler: async (ctx, args) => {
|
|
263
291
|
const shouldIngest = args.autoIngest !== false;
|
|
264
292
|
if (isWebhookPushMode(args.payload)) {
|
|
265
293
|
const pushResult = garminDailiesPushPayloadSchema.safeParse(args.payload);
|
|
266
294
|
if (pushResult.success &&
|
|
267
295
|
pushResult.data.dailies.length > 0) {
|
|
268
|
-
const result = await ctx.runAction(internal.garmin.private.processDailiesPushPayload, { payload: args.payload });
|
|
296
|
+
const result = await ctx.runAction(internal.garmin.private.processDailiesPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
269
297
|
return shouldIngest
|
|
270
298
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
271
299
|
: result;
|
|
@@ -286,14 +314,18 @@ export const handleGarminWebhookDailies = action({
|
|
|
286
314
|
* Handle a webhook for Garmin epoch summaries (push or ping mode).
|
|
287
315
|
*/
|
|
288
316
|
export const handleGarminWebhookEpochs = action({
|
|
289
|
-
args: {
|
|
317
|
+
args: {
|
|
318
|
+
payload: v.any(),
|
|
319
|
+
autoIngest: v.optional(v.boolean()),
|
|
320
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
321
|
+
},
|
|
290
322
|
handler: async (ctx, args) => {
|
|
291
323
|
const shouldIngest = args.autoIngest !== false;
|
|
292
324
|
if (isWebhookPushMode(args.payload)) {
|
|
293
325
|
const pushResult = garminEpochPushPayloadSchema.safeParse(args.payload);
|
|
294
326
|
if (pushResult.success &&
|
|
295
327
|
pushResult.data.epochs.length > 0) {
|
|
296
|
-
const result = await ctx.runAction(internal.garmin.private.processEpochPushPayload, { payload: args.payload });
|
|
328
|
+
const result = await ctx.runAction(internal.garmin.private.processEpochPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
297
329
|
return shouldIngest
|
|
298
330
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
299
331
|
: result;
|
|
@@ -314,14 +346,18 @@ export const handleGarminWebhookEpochs = action({
|
|
|
314
346
|
* Handle a webhook for Garmin health snapshot summaries (push or ping mode).
|
|
315
347
|
*/
|
|
316
348
|
export const handleGarminWebhookHealthSnapshot = action({
|
|
317
|
-
args: {
|
|
349
|
+
args: {
|
|
350
|
+
payload: v.any(),
|
|
351
|
+
autoIngest: v.optional(v.boolean()),
|
|
352
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
353
|
+
},
|
|
318
354
|
handler: async (ctx, args) => {
|
|
319
355
|
const shouldIngest = args.autoIngest !== false;
|
|
320
356
|
if (isWebhookPushMode(args.payload)) {
|
|
321
357
|
const pushResult = garminHealthSnapshotPushPayloadSchema.safeParse(args.payload);
|
|
322
358
|
if (pushResult.success &&
|
|
323
359
|
pushResult.data.healthSnapshot.length > 0) {
|
|
324
|
-
const result = await ctx.runAction(internal.garmin.private.processHealthSnapshotPushPayload, { payload: args.payload });
|
|
360
|
+
const result = await ctx.runAction(internal.garmin.private.processHealthSnapshotPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
325
361
|
return shouldIngest
|
|
326
362
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
327
363
|
: result;
|
|
@@ -342,14 +378,18 @@ export const handleGarminWebhookHealthSnapshot = action({
|
|
|
342
378
|
* Handle a webhook for Garmin sleep summaries (push or ping mode).
|
|
343
379
|
*/
|
|
344
380
|
export const handleGarminWebhookSleeps = action({
|
|
345
|
-
args: {
|
|
381
|
+
args: {
|
|
382
|
+
payload: v.any(),
|
|
383
|
+
autoIngest: v.optional(v.boolean()),
|
|
384
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
385
|
+
},
|
|
346
386
|
handler: async (ctx, args) => {
|
|
347
387
|
const shouldIngest = args.autoIngest !== false;
|
|
348
388
|
if (isWebhookPushMode(args.payload)) {
|
|
349
389
|
const pushResult = garminSleepsPushPayloadSchema.safeParse(args.payload);
|
|
350
390
|
if (pushResult.success &&
|
|
351
391
|
pushResult.data.sleeps.length > 0) {
|
|
352
|
-
const result = await ctx.runAction(internal.garmin.private.processSleepsPushPayload, { payload: args.payload });
|
|
392
|
+
const result = await ctx.runAction(internal.garmin.private.processSleepsPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
353
393
|
return shouldIngest
|
|
354
394
|
? await ingestAndUpdate(ctx, result, api.public.ingestSleep)
|
|
355
395
|
: result;
|
|
@@ -370,14 +410,18 @@ export const handleGarminWebhookSleeps = action({
|
|
|
370
410
|
* Handle a webhook for Garmin skin temperature summaries (push or ping mode).
|
|
371
411
|
*/
|
|
372
412
|
export const handleGarminWebhookSkinTemp = action({
|
|
373
|
-
args: {
|
|
413
|
+
args: {
|
|
414
|
+
payload: v.any(),
|
|
415
|
+
autoIngest: v.optional(v.boolean()),
|
|
416
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
417
|
+
},
|
|
374
418
|
handler: async (ctx, args) => {
|
|
375
419
|
const shouldIngest = args.autoIngest !== false;
|
|
376
420
|
if (isWebhookPushMode(args.payload)) {
|
|
377
421
|
const pushResult = garminSkinTemperaturePushPayloadSchema.safeParse(args.payload);
|
|
378
422
|
if (pushResult.success &&
|
|
379
423
|
pushResult.data.skinTemp.length > 0) {
|
|
380
|
-
const result = await ctx.runAction(internal.garmin.private.processSkinTemperaturePushPayload, { payload: args.payload });
|
|
424
|
+
const result = await ctx.runAction(internal.garmin.private.processSkinTemperaturePushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
381
425
|
return shouldIngest
|
|
382
426
|
? await ingestAndUpdate(ctx, result, api.public.ingestBody)
|
|
383
427
|
: result;
|
|
@@ -398,14 +442,18 @@ export const handleGarminWebhookSkinTemp = action({
|
|
|
398
442
|
* Handle a webhook for Garmin user metrics (push or ping mode).
|
|
399
443
|
*/
|
|
400
444
|
export const handleGarminWebhookUserMetrics = action({
|
|
401
|
-
args: {
|
|
445
|
+
args: {
|
|
446
|
+
payload: v.any(),
|
|
447
|
+
autoIngest: v.optional(v.boolean()),
|
|
448
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
449
|
+
},
|
|
402
450
|
handler: async (ctx, args) => {
|
|
403
451
|
const shouldIngest = args.autoIngest !== false;
|
|
404
452
|
if (isWebhookPushMode(args.payload)) {
|
|
405
453
|
const pushResult = garminUserMetricsPushPayloadSchema.safeParse(args.payload);
|
|
406
454
|
if (pushResult.success &&
|
|
407
455
|
pushResult.data.userMetrics.length > 0) {
|
|
408
|
-
const result = await ctx.runAction(internal.garmin.private.processUserMetricsPushPayload, { payload: args.payload });
|
|
456
|
+
const result = await ctx.runAction(internal.garmin.private.processUserMetricsPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
409
457
|
return shouldIngest
|
|
410
458
|
? await ingestAndUpdate(ctx, result, api.public.ingestBody)
|
|
411
459
|
: result;
|
|
@@ -426,14 +474,18 @@ export const handleGarminWebhookUserMetrics = action({
|
|
|
426
474
|
* Handle a webhook for Garmin menstrual cycle tracking (push or ping mode).
|
|
427
475
|
*/
|
|
428
476
|
export const handleGarminWebhookMenstrualCycleTracking = action({
|
|
429
|
-
args: {
|
|
477
|
+
args: {
|
|
478
|
+
payload: v.any(),
|
|
479
|
+
autoIngest: v.optional(v.boolean()),
|
|
480
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
481
|
+
},
|
|
430
482
|
handler: async (ctx, args) => {
|
|
431
483
|
const shouldIngest = args.autoIngest !== false;
|
|
432
484
|
if (isWebhookPushMode(args.payload)) {
|
|
433
485
|
const pushResult = garminMenstrualCycleTrackingPushPayloadSchema.safeParse(args.payload);
|
|
434
486
|
if (pushResult.success &&
|
|
435
487
|
pushResult.data.mct.length > 0) {
|
|
436
|
-
const result = await ctx.runAction(internal.garmin.private.processMenstrualCycleTrackingPushPayload, { payload: args.payload });
|
|
488
|
+
const result = await ctx.runAction(internal.garmin.private.processMenstrualCycleTrackingPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
437
489
|
return shouldIngest
|
|
438
490
|
? await ingestAndUpdate(ctx, result, api.public.ingestMenstruation)
|
|
439
491
|
: result;
|
|
@@ -454,14 +506,18 @@ export const handleGarminWebhookMenstrualCycleTracking = action({
|
|
|
454
506
|
* Handle a webhook for Garmin HRV summaries (push or ping mode).
|
|
455
507
|
*/
|
|
456
508
|
export const handleGarminWebhookHRVSummary = action({
|
|
457
|
-
args: {
|
|
509
|
+
args: {
|
|
510
|
+
payload: v.any(),
|
|
511
|
+
autoIngest: v.optional(v.boolean()),
|
|
512
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
513
|
+
},
|
|
458
514
|
handler: async (ctx, args) => {
|
|
459
515
|
const shouldIngest = args.autoIngest !== false;
|
|
460
516
|
if (isWebhookPushMode(args.payload)) {
|
|
461
517
|
const pushResult = garminHRVSummaryPushPayloadSchema.safeParse(args.payload);
|
|
462
518
|
if (pushResult.success &&
|
|
463
519
|
pushResult.data.hrv.length > 0) {
|
|
464
|
-
const result = await ctx.runAction(internal.garmin.private.processHRVSummaryPushPayload, { payload: args.payload });
|
|
520
|
+
const result = await ctx.runAction(internal.garmin.private.processHRVSummaryPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
465
521
|
return shouldIngest
|
|
466
522
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
467
523
|
: result;
|
|
@@ -482,14 +538,18 @@ export const handleGarminWebhookHRVSummary = action({
|
|
|
482
538
|
* Handle a webhook for Garmin stress detail summaries (push or ping mode).
|
|
483
539
|
*/
|
|
484
540
|
export const handleGarminWebhookStress = action({
|
|
485
|
-
args: {
|
|
541
|
+
args: {
|
|
542
|
+
payload: v.any(),
|
|
543
|
+
autoIngest: v.optional(v.boolean()),
|
|
544
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
545
|
+
},
|
|
486
546
|
handler: async (ctx, args) => {
|
|
487
547
|
const shouldIngest = args.autoIngest !== false;
|
|
488
548
|
if (isWebhookPushMode(args.payload)) {
|
|
489
549
|
const pushResult = garminStressPushPayloadSchema.safeParse(args.payload);
|
|
490
550
|
if (pushResult.success &&
|
|
491
551
|
pushResult.data.stressDetails.length > 0) {
|
|
492
|
-
const result = await ctx.runAction(internal.garmin.private.processStressPushPayload, { payload: args.payload });
|
|
552
|
+
const result = await ctx.runAction(internal.garmin.private.processStressPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
493
553
|
return shouldIngest
|
|
494
554
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
495
555
|
: result;
|
|
@@ -510,14 +570,18 @@ export const handleGarminWebhookStress = action({
|
|
|
510
570
|
* Handle a webhook for Garmin pulse oximetry (SpO2) summaries (push or ping mode).
|
|
511
571
|
*/
|
|
512
572
|
export const handleGarminWebhookPulseOx = action({
|
|
513
|
-
args: {
|
|
573
|
+
args: {
|
|
574
|
+
payload: v.any(),
|
|
575
|
+
autoIngest: v.optional(v.boolean()),
|
|
576
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
577
|
+
},
|
|
514
578
|
handler: async (ctx, args) => {
|
|
515
579
|
const shouldIngest = args.autoIngest !== false;
|
|
516
580
|
if (isWebhookPushMode(args.payload)) {
|
|
517
581
|
const pushResult = garminPulseOxPushPayloadSchema.safeParse(args.payload);
|
|
518
582
|
if (pushResult.success &&
|
|
519
583
|
pushResult.data.pulseox.length > 0) {
|
|
520
|
-
const result = await ctx.runAction(internal.garmin.private.processPulseOxPushPayload, { payload: args.payload });
|
|
584
|
+
const result = await ctx.runAction(internal.garmin.private.processPulseOxPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
521
585
|
return shouldIngest
|
|
522
586
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
523
587
|
: result;
|
|
@@ -538,14 +602,18 @@ export const handleGarminWebhookPulseOx = action({
|
|
|
538
602
|
* Handle a webhook for Garmin respiration summaries (push or ping mode).
|
|
539
603
|
*/
|
|
540
604
|
export const handleGarminWebhookRespiration = action({
|
|
541
|
-
args: {
|
|
605
|
+
args: {
|
|
606
|
+
payload: v.any(),
|
|
607
|
+
autoIngest: v.optional(v.boolean()),
|
|
608
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
609
|
+
},
|
|
542
610
|
handler: async (ctx, args) => {
|
|
543
611
|
const shouldIngest = args.autoIngest !== false;
|
|
544
612
|
if (isWebhookPushMode(args.payload)) {
|
|
545
613
|
const pushResult = garminRespirationPushPayloadSchema.safeParse(args.payload);
|
|
546
614
|
if (pushResult.success &&
|
|
547
615
|
pushResult.data.allDayRespiration.length > 0) {
|
|
548
|
-
const result = await ctx.runAction(internal.garmin.private.processRespirationPushPayload, { payload: args.payload });
|
|
616
|
+
const result = await ctx.runAction(internal.garmin.private.processRespirationPushPayload, { payload: args.payload, rawPassthrough: args.rawPassthrough ?? false });
|
|
549
617
|
return shouldIngest
|
|
550
618
|
? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
|
|
551
619
|
: result;
|
|
@@ -571,7 +639,11 @@ export const handleGarminWebhookRespiration = action({
|
|
|
571
639
|
* who deregisters after a prior in-app disconnect).
|
|
572
640
|
*/
|
|
573
641
|
export const handleGarminWebhookDeregistration = action({
|
|
574
|
-
args: {
|
|
642
|
+
args: {
|
|
643
|
+
payload: v.any(),
|
|
644
|
+
autoIngest: v.optional(v.boolean()),
|
|
645
|
+
rawPassthrough: v.optional(v.boolean()),
|
|
646
|
+
},
|
|
575
647
|
handler: async (ctx, args) => {
|
|
576
648
|
const shouldIngest = args.autoIngest !== false;
|
|
577
649
|
const parsed = garminDeregistrationPayloadSchema.safeParse(args.payload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/component/garmin/webhooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../src/component/garmin/webhooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client/garmin.ts
CHANGED
|
@@ -741,7 +741,16 @@ export class SomaGarmin {
|
|
|
741
741
|
const entry = webhookCfg.events?.[dataType];
|
|
742
742
|
if (!entry) continue;
|
|
743
743
|
|
|
744
|
-
const { handler: specificHandler, autoIngest } =
|
|
744
|
+
const { handler: specificHandler, autoIngest, rawPassthrough } =
|
|
745
|
+
resolveEventConfig(entry);
|
|
746
|
+
|
|
747
|
+
if (autoIngest && rawPassthrough) {
|
|
748
|
+
throw new Error(
|
|
749
|
+
`[soma:garmin:webhook] events["${dataType}"] cannot enable both ` +
|
|
750
|
+
`autoIngest and rawPassthrough — raw Garmin items can't be ` +
|
|
751
|
+
`auto-ingested into Soma's normalized schema. Set autoIngest: false.`,
|
|
752
|
+
);
|
|
753
|
+
}
|
|
745
754
|
|
|
746
755
|
http.route({
|
|
747
756
|
path: `${webhookBase}/${dataType}`,
|
|
@@ -766,7 +775,11 @@ export class SomaGarmin {
|
|
|
766
775
|
|
|
767
776
|
let result: GarminWebhookActionResult | undefined;
|
|
768
777
|
try {
|
|
769
|
-
result = await ctx.runAction(route.action, {
|
|
778
|
+
result = await ctx.runAction(route.action, {
|
|
779
|
+
payload,
|
|
780
|
+
autoIngest,
|
|
781
|
+
rawPassthrough,
|
|
782
|
+
});
|
|
770
783
|
} catch (error) {
|
|
771
784
|
// Log but return 200 to prevent Garmin from retrying
|
|
772
785
|
console.error(
|
package/src/client/types.ts
CHANGED
|
@@ -153,6 +153,7 @@ export type GarminWebhookActionArgs = {
|
|
|
153
153
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
154
154
|
payload: any;
|
|
155
155
|
autoIngest?: boolean;
|
|
156
|
+
rawPassthrough?: boolean;
|
|
156
157
|
};
|
|
157
158
|
|
|
158
159
|
/** Result returned by all Garmin webhook handler actions inside the component. */
|
|
@@ -167,7 +168,16 @@ export interface GarminWebhookItem {
|
|
|
167
168
|
connectionId: string;
|
|
168
169
|
/** The host app's user ID. */
|
|
169
170
|
userId: string;
|
|
170
|
-
/**
|
|
171
|
+
/**
|
|
172
|
+
* The data for this item.
|
|
173
|
+
*
|
|
174
|
+
* - In the default mode, this is the data in Soma's normalized format
|
|
175
|
+
* (the result of `transformX(rawItem)`).
|
|
176
|
+
* - When the event was registered with `rawPassthrough: true`, this is the
|
|
177
|
+
* raw Garmin item exactly as received (post zod validation), so the host
|
|
178
|
+
* app can act on the provider's native shape.
|
|
179
|
+
* - `null` for terminal events like deregistration.
|
|
180
|
+
*/
|
|
171
181
|
data: Record<string, unknown> | null;
|
|
172
182
|
}
|
|
173
183
|
|
|
@@ -335,9 +345,26 @@ export type GarminWebhookEventConfig =
|
|
|
335
345
|
* validated and transformed (and surfaced to `handler` / `onEvent`), but
|
|
336
346
|
* the DB write is skipped so the host app can ingest it itself.
|
|
337
347
|
*
|
|
348
|
+
* Cannot be `true` simultaneously with `rawPassthrough: true` — raw
|
|
349
|
+
* provider items can't be auto-ingested into Soma's normalized schema.
|
|
350
|
+
*
|
|
338
351
|
* @default true
|
|
339
352
|
*/
|
|
340
353
|
autoIngest?: boolean;
|
|
354
|
+
/**
|
|
355
|
+
* When `true`, skip Soma's `transformX(rawItem)` step and surface the
|
|
356
|
+
* raw Garmin item directly in `items[].data`. Soma still parses the
|
|
357
|
+
* payload with zod and resolves Garmin `userId` → Soma
|
|
358
|
+
* `connectionId`/`userId`, so the host app gets raw Garmin data already
|
|
359
|
+
* keyed to its own users.
|
|
360
|
+
*
|
|
361
|
+
* Implies `autoIngest: false` — raw items cannot be auto-ingested into
|
|
362
|
+
* Soma's normalized schema. Setting `autoIngest: true` alongside
|
|
363
|
+
* `rawPassthrough: true` throws at route registration time.
|
|
364
|
+
*
|
|
365
|
+
* @default false
|
|
366
|
+
*/
|
|
367
|
+
rawPassthrough?: boolean;
|
|
341
368
|
};
|
|
342
369
|
|
|
343
370
|
export interface GarminWebhookOptions {
|
|
@@ -425,16 +452,24 @@ export interface StravaWebhookOptions {
|
|
|
425
452
|
|
|
426
453
|
/**
|
|
427
454
|
* Narrow a `GarminWebhookEventConfig` / `StravaWebhookEventConfig` value into
|
|
428
|
-
* its resolved `{ handler, autoIngest }`
|
|
429
|
-
* config with auto-ingest enabled
|
|
455
|
+
* its resolved `{ handler, autoIngest, rawPassthrough }` triple. `true`
|
|
456
|
+
* becomes a no-handler config with auto-ingest enabled and no passthrough;
|
|
457
|
+
* the object form fills in defaults.
|
|
458
|
+
*
|
|
459
|
+
* `rawPassthrough` is a Garmin-only concept today. Strava call-sites supply
|
|
460
|
+
* entries without the field, which resolves to `false` — a safe default.
|
|
430
461
|
*/
|
|
431
462
|
export function resolveEventConfig<H>(
|
|
432
|
-
entry: true | { handler?: H; autoIngest?: boolean } | undefined,
|
|
433
|
-
): { handler: H | undefined; autoIngest: boolean } {
|
|
463
|
+
entry: true | { handler?: H; autoIngest?: boolean; rawPassthrough?: boolean } | undefined,
|
|
464
|
+
): { handler: H | undefined; autoIngest: boolean; rawPassthrough: boolean } {
|
|
434
465
|
if (entry === undefined || entry === true) {
|
|
435
|
-
return { handler: undefined, autoIngest: true };
|
|
466
|
+
return { handler: undefined, autoIngest: true, rawPassthrough: false };
|
|
436
467
|
}
|
|
437
|
-
return {
|
|
468
|
+
return {
|
|
469
|
+
handler: entry.handler,
|
|
470
|
+
autoIngest: entry.autoIngest ?? true,
|
|
471
|
+
rawPassthrough: entry.rawPassthrough ?? false,
|
|
472
|
+
};
|
|
438
473
|
}
|
|
439
474
|
|
|
440
475
|
export interface RegisterRoutesOptions {
|