@nativesquare/soma 0.12.0 → 0.13.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 (60) hide show
  1. package/dist/client/garmin.d.ts +5 -1
  2. package/dist/client/garmin.d.ts.map +1 -1
  3. package/dist/client/garmin.js +148 -0
  4. package/dist/client/garmin.js.map +1 -1
  5. package/dist/client/index.d.ts +5 -6
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +5 -211
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/strava.d.ts +11 -6
  10. package/dist/client/strava.d.ts.map +1 -1
  11. package/dist/client/strava.js +64 -0
  12. package/dist/client/strava.js.map +1 -1
  13. package/dist/client/types.d.ts +93 -20
  14. package/dist/client/types.d.ts.map +1 -1
  15. package/dist/component/_generated/component.d.ts +24 -5
  16. package/dist/component/_generated/component.d.ts.map +1 -1
  17. package/dist/component/garmin/private.d.ts +53 -68
  18. package/dist/component/garmin/private.d.ts.map +1 -1
  19. package/dist/component/garmin/private.js +87 -85
  20. package/dist/component/garmin/private.js.map +1 -1
  21. package/dist/component/garmin/public.d.ts +97 -43
  22. package/dist/component/garmin/public.d.ts.map +1 -1
  23. package/dist/component/garmin/public.js +75 -51
  24. package/dist/component/garmin/public.js.map +1 -1
  25. package/dist/component/garmin/webhooks.d.ts +22 -20
  26. package/dist/component/garmin/webhooks.d.ts.map +1 -1
  27. package/dist/component/garmin/webhooks.js +115 -76
  28. package/dist/component/garmin/webhooks.js.map +1 -1
  29. package/dist/component/public.d.ts +15 -15
  30. package/dist/component/schema.d.ts +25 -25
  31. package/dist/component/strava/public.d.ts +12 -8
  32. package/dist/component/strava/public.d.ts.map +1 -1
  33. package/dist/component/strava/public.js +7 -7
  34. package/dist/component/strava/public.js.map +1 -1
  35. package/dist/component/validators/activity.d.ts +4 -4
  36. package/dist/component/validators/body.d.ts +4 -4
  37. package/dist/component/validators/daily.d.ts +4 -4
  38. package/dist/component/validators/nutrition.d.ts +3 -3
  39. package/dist/component/validators/samples.d.ts +4 -4
  40. package/dist/component/validators/shared.d.ts +13 -4
  41. package/dist/component/validators/shared.d.ts.map +1 -1
  42. package/dist/component/validators/shared.js +7 -0
  43. package/dist/component/validators/shared.js.map +1 -1
  44. package/dist/component/validators/sleep.d.ts +5 -5
  45. package/dist/validators.d.ts +41 -40
  46. package/dist/validators.d.ts.map +1 -1
  47. package/dist/validators.js +1 -0
  48. package/dist/validators.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/client/garmin.ts +692 -487
  51. package/src/client/index.ts +10 -279
  52. package/src/client/strava.ts +199 -108
  53. package/src/client/types.ts +303 -215
  54. package/src/component/_generated/component.ts +19 -19
  55. package/src/component/garmin/private.ts +1872 -1870
  56. package/src/component/garmin/public.ts +104 -80
  57. package/src/component/garmin/webhooks.ts +122 -81
  58. package/src/component/strava/public.ts +393 -393
  59. package/src/component/validators/shared.ts +9 -0
  60. package/src/validators.ts +1 -0
@@ -50,6 +50,17 @@ function isWebhookPushMode(payload) {
50
50
  return false;
51
51
  return !("callbackURL" in firstItem);
52
52
  }
53
+ /**
54
+ * Build a WebhookResult from a ProcessResult without writing to the database.
55
+ * Used when `autoIngest` is disabled — the host app still gets the full set of
56
+ * transformed items in its callbacks, but no data is persisted.
57
+ */
58
+ function toWebhookResult(result) {
59
+ return {
60
+ errors: result.errors,
61
+ items: result.items,
62
+ };
63
+ }
53
64
  /**
54
65
  * Ingest transformed items from a private handler and update connections.
55
66
  * Shared orchestration logic for all push-mode webhook handlers.
@@ -57,10 +68,8 @@ function isWebhookPushMode(payload) {
57
68
  async function ingestAndUpdate(ctx, result,
58
69
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
70
  ingestMutation) {
60
- let processed = 0;
61
71
  const errors = [...result.errors];
62
72
  const connectionsToUpdate = new Set();
63
- const userMap = new Map();
64
73
  for (const item of result.items) {
65
74
  try {
66
75
  await ctx.runMutation(ingestMutation, {
@@ -68,18 +77,13 @@ ingestMutation) {
68
77
  userId: item.userId,
69
78
  ...item.data,
70
79
  });
71
- processed++;
72
80
  connectionsToUpdate.add(item.connectionId);
73
- userMap.set(`${item.userId}:${item.connectionId}`, {
74
- userId: item.userId,
75
- connectionId: item.connectionId,
76
- });
77
81
  }
78
82
  catch (err) {
79
83
  errors.push({
80
84
  type: "ingest",
81
85
  id: "unknown",
82
- error: err instanceof Error ? err.message : String(err),
86
+ message: err instanceof Error ? err.message : String(err),
83
87
  });
84
88
  }
85
89
  }
@@ -89,20 +93,23 @@ ingestMutation) {
89
93
  lastDataUpdate: new Date().toISOString(),
90
94
  });
91
95
  }
92
- return { processed, errors, affectedUsers: [...userMap.values()] };
96
+ return { errors, items: result.items };
93
97
  }
94
98
  // ─── Webhook Handlers ────────────────────────────────────────────────────────
95
99
  /**
96
100
  * Handle a webhook for Garmin activities (push or ping mode).
97
101
  */
98
102
  export const handleGarminWebhookActivities = action({
99
- args: { payload: v.any() },
103
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
100
104
  handler: async (ctx, args) => {
105
+ const shouldIngest = args.autoIngest !== false;
101
106
  if (isWebhookPushMode(args.payload)) {
102
107
  const pushResult = garminActivityPushPayloadSchema.safeParse(args.payload);
103
108
  if (pushResult.success && pushResult.data.activities.length > 0) {
104
109
  const result = await ctx.runAction(internal.garmin.private.processActivityPushPayload, { payload: args.payload });
105
- return await ingestAndUpdate(ctx, result, api.public.ingestActivity);
110
+ return shouldIngest
111
+ ? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
112
+ : toWebhookResult(result);
106
113
  }
107
114
  }
108
115
  else {
@@ -112,21 +119,24 @@ export const handleGarminWebhookActivities = action({
112
119
  }
113
120
  }
114
121
  console.warn(`[garmin:webhook:activities] Payload matched neither ping nor push schema`);
115
- return { processed: 0, errors: [], affectedUsers: [] };
122
+ return { errors: [], items: [] };
116
123
  },
117
124
  });
118
125
  /**
119
126
  * Handle a webhook for Garmin activity details (push or ping mode).
120
127
  */
121
128
  export const handleGarminWebhookActivityDetails = action({
122
- args: { payload: v.any() },
129
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
123
130
  handler: async (ctx, args) => {
131
+ const shouldIngest = args.autoIngest !== false;
124
132
  if (isWebhookPushMode(args.payload)) {
125
133
  const pushResult = garminActivityDetailsPushPayloadSchema.safeParse(args.payload);
126
134
  if (pushResult.success &&
127
135
  pushResult.data.activityDetails.length > 0) {
128
136
  const result = await ctx.runAction(internal.garmin.private.processActivityDetailsPushPayload, { payload: args.payload });
129
- return await ingestAndUpdate(ctx, result, api.public.ingestActivity);
137
+ return shouldIngest
138
+ ? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
139
+ : toWebhookResult(result);
130
140
  }
131
141
  }
132
142
  else {
@@ -137,22 +147,25 @@ export const handleGarminWebhookActivityDetails = action({
137
147
  }
138
148
  }
139
149
  console.warn(`[garmin:webhook:activityDetails] Payload matched neither ping nor push schema`);
140
- return { processed: 0, errors: [], affectedUsers: [] };
150
+ return { errors: [], items: [] };
141
151
  },
142
152
  });
143
153
  /**
144
154
  * Handle a webhook for Garmin manually updated activities (push or ping mode).
145
155
  */
146
156
  export const handleGarminWebhookManuallyUpdatedActivities = action({
147
- args: { payload: v.any() },
157
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
148
158
  handler: async (ctx, args) => {
159
+ const shouldIngest = args.autoIngest !== false;
149
160
  if (isWebhookPushMode(args.payload)) {
150
161
  const pushResult = garminManuallyUpdatedActivitiesPushPayloadSchema.safeParse(args.payload);
151
162
  if (pushResult.success &&
152
163
  pushResult.data.manuallyUpdatedActivities.length > 0) {
153
164
  const result = await ctx.runAction(internal.garmin.private
154
165
  .processManuallyUpdatedActivitiesPushPayload, { payload: args.payload });
155
- return await ingestAndUpdate(ctx, result, api.public.ingestActivity);
166
+ return shouldIngest
167
+ ? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
168
+ : toWebhookResult(result);
156
169
  }
157
170
  }
158
171
  else {
@@ -164,21 +177,24 @@ export const handleGarminWebhookManuallyUpdatedActivities = action({
164
177
  }
165
178
  }
166
179
  console.warn(`[garmin:webhook:manuallyUpdatedActivities] Payload matched neither ping nor push schema`);
167
- return { processed: 0, errors: [], affectedUsers: [] };
180
+ return { errors: [], items: [] };
168
181
  },
169
182
  });
170
183
  /**
171
184
  * Handle a webhook for Garmin Move IQ auto-detected activities (push or ping mode).
172
185
  */
173
186
  export const handleGarminWebhookMoveIQ = action({
174
- args: { payload: v.any() },
187
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
175
188
  handler: async (ctx, args) => {
189
+ const shouldIngest = args.autoIngest !== false;
176
190
  if (isWebhookPushMode(args.payload)) {
177
191
  const pushResult = garminMoveIQPushPayloadSchema.safeParse(args.payload);
178
192
  if (pushResult.success &&
179
193
  pushResult.data.moveIQActivities.length > 0) {
180
194
  const result = await ctx.runAction(internal.garmin.private.processMoveIQPushPayload, { payload: args.payload });
181
- return await ingestAndUpdate(ctx, result, api.public.ingestActivity);
195
+ return shouldIngest
196
+ ? await ingestAndUpdate(ctx, result, api.public.ingestActivity)
197
+ : toWebhookResult(result);
182
198
  }
183
199
  }
184
200
  else {
@@ -189,21 +205,24 @@ export const handleGarminWebhookMoveIQ = action({
189
205
  }
190
206
  }
191
207
  console.warn(`[garmin:webhook:moveIQ] Payload matched neither ping nor push schema`);
192
- return { processed: 0, errors: [], affectedUsers: [] };
208
+ return { errors: [], items: [] };
193
209
  },
194
210
  });
195
211
  /**
196
212
  * Handle a webhook for Garmin blood pressure summaries (push or ping mode).
197
213
  */
198
214
  export const handleGarminWebhookBloodPressures = action({
199
- args: { payload: v.any() },
215
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
200
216
  handler: async (ctx, args) => {
217
+ const shouldIngest = args.autoIngest !== false;
201
218
  if (isWebhookPushMode(args.payload)) {
202
219
  const pushResult = garminBloodPressurePushPayloadSchema.safeParse(args.payload);
203
220
  if (pushResult.success &&
204
221
  pushResult.data.bloodPressures.length > 0) {
205
222
  const result = await ctx.runAction(internal.garmin.private.processBloodPressurePushPayload, { payload: args.payload });
206
- return await ingestAndUpdate(ctx, result, api.public.ingestBody);
223
+ return shouldIngest
224
+ ? await ingestAndUpdate(ctx, result, api.public.ingestBody)
225
+ : toWebhookResult(result);
207
226
  }
208
227
  }
209
228
  else {
@@ -214,21 +233,24 @@ export const handleGarminWebhookBloodPressures = action({
214
233
  }
215
234
  }
216
235
  console.warn(`[garmin:webhook:bloodPressures] Payload matched neither ping nor push schema`);
217
- return { processed: 0, errors: [], affectedUsers: [] };
236
+ return { errors: [], items: [] };
218
237
  },
219
238
  });
220
239
  /**
221
240
  * Handle a webhook for Garmin body composition summaries (push or ping mode).
222
241
  */
223
242
  export const handleGarminWebhookBodyCompositions = action({
224
- args: { payload: v.any() },
243
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
225
244
  handler: async (ctx, args) => {
245
+ const shouldIngest = args.autoIngest !== false;
226
246
  if (isWebhookPushMode(args.payload)) {
227
247
  const pushResult = garminBodyCompositionsPushPayloadSchema.safeParse(args.payload);
228
248
  if (pushResult.success &&
229
249
  pushResult.data.bodyComps.length > 0) {
230
250
  const result = await ctx.runAction(internal.garmin.private.processBodyCompositionsPushPayload, { payload: args.payload });
231
- return await ingestAndUpdate(ctx, result, api.public.ingestBody);
251
+ return shouldIngest
252
+ ? await ingestAndUpdate(ctx, result, api.public.ingestBody)
253
+ : toWebhookResult(result);
232
254
  }
233
255
  }
234
256
  else {
@@ -239,21 +261,24 @@ export const handleGarminWebhookBodyCompositions = action({
239
261
  }
240
262
  }
241
263
  console.warn(`[garmin:webhook:bodyCompositions] Payload matched neither ping nor push schema`);
242
- return { processed: 0, errors: [], affectedUsers: [] };
264
+ return { errors: [], items: [] };
243
265
  },
244
266
  });
245
267
  /**
246
268
  * Handle a webhook for Garmin daily summaries (push or ping mode).
247
269
  */
248
270
  export const handleGarminWebhookDailies = action({
249
- args: { payload: v.any() },
271
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
250
272
  handler: async (ctx, args) => {
273
+ const shouldIngest = args.autoIngest !== false;
251
274
  if (isWebhookPushMode(args.payload)) {
252
275
  const pushResult = garminDailiesPushPayloadSchema.safeParse(args.payload);
253
276
  if (pushResult.success &&
254
277
  pushResult.data.dailies.length > 0) {
255
278
  const result = await ctx.runAction(internal.garmin.private.processDailiesPushPayload, { payload: args.payload });
256
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
279
+ return shouldIngest
280
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
281
+ : toWebhookResult(result);
257
282
  }
258
283
  }
259
284
  else {
@@ -264,21 +289,24 @@ export const handleGarminWebhookDailies = action({
264
289
  }
265
290
  }
266
291
  console.warn(`[garmin:webhook:dailies] Payload matched neither ping nor push schema`);
267
- return { processed: 0, errors: [], affectedUsers: [] };
292
+ return { errors: [], items: [] };
268
293
  },
269
294
  });
270
295
  /**
271
296
  * Handle a webhook for Garmin epoch summaries (push or ping mode).
272
297
  */
273
298
  export const handleGarminWebhookEpochs = action({
274
- args: { payload: v.any() },
299
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
275
300
  handler: async (ctx, args) => {
301
+ const shouldIngest = args.autoIngest !== false;
276
302
  if (isWebhookPushMode(args.payload)) {
277
303
  const pushResult = garminEpochPushPayloadSchema.safeParse(args.payload);
278
304
  if (pushResult.success &&
279
305
  pushResult.data.epochs.length > 0) {
280
306
  const result = await ctx.runAction(internal.garmin.private.processEpochPushPayload, { payload: args.payload });
281
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
307
+ return shouldIngest
308
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
309
+ : toWebhookResult(result);
282
310
  }
283
311
  }
284
312
  else {
@@ -289,21 +317,24 @@ export const handleGarminWebhookEpochs = action({
289
317
  }
290
318
  }
291
319
  console.warn(`[garmin:webhook:epochs] Payload matched neither ping nor push schema`);
292
- return { processed: 0, errors: [], affectedUsers: [] };
320
+ return { errors: [], items: [] };
293
321
  },
294
322
  });
295
323
  /**
296
324
  * Handle a webhook for Garmin health snapshot summaries (push or ping mode).
297
325
  */
298
326
  export const handleGarminWebhookHealthSnapshot = action({
299
- args: { payload: v.any() },
327
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
300
328
  handler: async (ctx, args) => {
329
+ const shouldIngest = args.autoIngest !== false;
301
330
  if (isWebhookPushMode(args.payload)) {
302
331
  const pushResult = garminHealthSnapshotPushPayloadSchema.safeParse(args.payload);
303
332
  if (pushResult.success &&
304
333
  pushResult.data.healthSnapshot.length > 0) {
305
334
  const result = await ctx.runAction(internal.garmin.private.processHealthSnapshotPushPayload, { payload: args.payload });
306
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
335
+ return shouldIngest
336
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
337
+ : toWebhookResult(result);
307
338
  }
308
339
  }
309
340
  else {
@@ -314,23 +345,24 @@ export const handleGarminWebhookHealthSnapshot = action({
314
345
  }
315
346
  }
316
347
  console.warn(`[garmin:webhook:healthSnapshot] Payload matched neither ping nor push schema`);
317
- return { processed: 0, errors: [], affectedUsers: [] };
348
+ return { errors: [], items: [] };
318
349
  },
319
350
  });
320
351
  /**
321
352
  * Handle a webhook for Garmin sleep summaries (push or ping mode).
322
- * Follows the structured dispatch pattern: validates with Zod, then delegates
323
- * to internal actions for processing.
324
353
  */
325
354
  export const handleGarminWebhookSleeps = action({
326
- args: { payload: v.any() },
355
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
327
356
  handler: async (ctx, args) => {
357
+ const shouldIngest = args.autoIngest !== false;
328
358
  if (isWebhookPushMode(args.payload)) {
329
359
  const pushResult = garminSleepsPushPayloadSchema.safeParse(args.payload);
330
360
  if (pushResult.success &&
331
361
  pushResult.data.sleeps.length > 0) {
332
362
  const result = await ctx.runAction(internal.garmin.private.processSleepsPushPayload, { payload: args.payload });
333
- return await ingestAndUpdate(ctx, result, api.public.ingestSleep);
363
+ return shouldIngest
364
+ ? await ingestAndUpdate(ctx, result, api.public.ingestSleep)
365
+ : toWebhookResult(result);
334
366
  }
335
367
  }
336
368
  else {
@@ -341,23 +373,24 @@ export const handleGarminWebhookSleeps = action({
341
373
  }
342
374
  }
343
375
  console.warn(`[garmin:webhook:sleeps] Payload matched neither ping nor push schema`);
344
- return { processed: 0, errors: [], affectedUsers: [] };
376
+ return { errors: [], items: [] };
345
377
  },
346
378
  });
347
379
  /**
348
380
  * Handle a webhook for Garmin skin temperature summaries (push or ping mode).
349
- * Follows the structured dispatch pattern: validates with Zod, then delegates
350
- * to internal actions for processing.
351
381
  */
352
382
  export const handleGarminWebhookSkinTemp = action({
353
- args: { payload: v.any() },
383
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
354
384
  handler: async (ctx, args) => {
385
+ const shouldIngest = args.autoIngest !== false;
355
386
  if (isWebhookPushMode(args.payload)) {
356
387
  const pushResult = garminSkinTemperaturePushPayloadSchema.safeParse(args.payload);
357
388
  if (pushResult.success &&
358
389
  pushResult.data.skinTemp.length > 0) {
359
390
  const result = await ctx.runAction(internal.garmin.private.processSkinTemperaturePushPayload, { payload: args.payload });
360
- return await ingestAndUpdate(ctx, result, api.public.ingestBody);
391
+ return shouldIngest
392
+ ? await ingestAndUpdate(ctx, result, api.public.ingestBody)
393
+ : toWebhookResult(result);
361
394
  }
362
395
  }
363
396
  else {
@@ -368,23 +401,24 @@ export const handleGarminWebhookSkinTemp = action({
368
401
  }
369
402
  }
370
403
  console.warn(`[garmin:webhook:skinTemperature] Payload matched neither ping nor push schema`);
371
- return { processed: 0, errors: [], affectedUsers: [] };
404
+ return { errors: [], items: [] };
372
405
  },
373
406
  });
374
407
  /**
375
408
  * Handle a webhook for Garmin user metrics (push or ping mode).
376
- * Follows the structured dispatch pattern: validates with Zod, then delegates
377
- * to internal actions for processing.
378
409
  */
379
410
  export const handleGarminWebhookUserMetrics = action({
380
- args: { payload: v.any() },
411
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
381
412
  handler: async (ctx, args) => {
413
+ const shouldIngest = args.autoIngest !== false;
382
414
  if (isWebhookPushMode(args.payload)) {
383
415
  const pushResult = garminUserMetricsPushPayloadSchema.safeParse(args.payload);
384
416
  if (pushResult.success &&
385
417
  pushResult.data.userMetrics.length > 0) {
386
418
  const result = await ctx.runAction(internal.garmin.private.processUserMetricsPushPayload, { payload: args.payload });
387
- return await ingestAndUpdate(ctx, result, api.public.ingestBody);
419
+ return shouldIngest
420
+ ? await ingestAndUpdate(ctx, result, api.public.ingestBody)
421
+ : toWebhookResult(result);
388
422
  }
389
423
  }
390
424
  else {
@@ -395,23 +429,24 @@ export const handleGarminWebhookUserMetrics = action({
395
429
  }
396
430
  }
397
431
  console.warn(`[garmin:webhook:userMetrics] Payload matched neither ping nor push schema`);
398
- return { processed: 0, errors: [], affectedUsers: [] };
432
+ return { errors: [], items: [] };
399
433
  },
400
434
  });
401
435
  /**
402
436
  * Handle a webhook for Garmin menstrual cycle tracking (push or ping mode).
403
- * Follows the structured dispatch pattern: validates with Zod, then delegates
404
- * to internal actions for processing.
405
437
  */
406
438
  export const handleGarminWebhookMenstrualCycleTracking = action({
407
- args: { payload: v.any() },
439
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
408
440
  handler: async (ctx, args) => {
441
+ const shouldIngest = args.autoIngest !== false;
409
442
  if (isWebhookPushMode(args.payload)) {
410
443
  const pushResult = garminMenstrualCycleTrackingPushPayloadSchema.safeParse(args.payload);
411
444
  if (pushResult.success &&
412
445
  pushResult.data.mct.length > 0) {
413
446
  const result = await ctx.runAction(internal.garmin.private.processMenstrualCycleTrackingPushPayload, { payload: args.payload });
414
- return await ingestAndUpdate(ctx, result, api.public.ingestMenstruation);
447
+ return shouldIngest
448
+ ? await ingestAndUpdate(ctx, result, api.public.ingestMenstruation)
449
+ : toWebhookResult(result);
415
450
  }
416
451
  }
417
452
  else {
@@ -422,23 +457,24 @@ export const handleGarminWebhookMenstrualCycleTracking = action({
422
457
  }
423
458
  }
424
459
  console.warn(`[garmin:webhook:menstrualCycleTracking] Payload matched neither ping nor push schema`);
425
- return { processed: 0, errors: [], affectedUsers: [] };
460
+ return { errors: [], items: [] };
426
461
  },
427
462
  });
428
463
  /**
429
464
  * Handle a webhook for Garmin HRV summaries (push or ping mode).
430
- * Follows the structured dispatch pattern: validates with Zod, then delegates
431
- * to internal actions for processing.
432
465
  */
433
466
  export const handleGarminWebhookHRVSummary = action({
434
- args: { payload: v.any() },
467
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
435
468
  handler: async (ctx, args) => {
469
+ const shouldIngest = args.autoIngest !== false;
436
470
  if (isWebhookPushMode(args.payload)) {
437
471
  const pushResult = garminHRVSummaryPushPayloadSchema.safeParse(args.payload);
438
472
  if (pushResult.success &&
439
473
  pushResult.data.hrv.length > 0) {
440
474
  const result = await ctx.runAction(internal.garmin.private.processHRVSummaryPushPayload, { payload: args.payload });
441
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
475
+ return shouldIngest
476
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
477
+ : toWebhookResult(result);
442
478
  }
443
479
  }
444
480
  else {
@@ -449,23 +485,24 @@ export const handleGarminWebhookHRVSummary = action({
449
485
  }
450
486
  }
451
487
  console.warn(`[garmin:webhook:hrvSummary] Payload matched neither ping nor push schema`);
452
- return { processed: 0, errors: [], affectedUsers: [] };
488
+ return { errors: [], items: [] };
453
489
  },
454
490
  });
455
491
  /**
456
492
  * Handle a webhook for Garmin stress detail summaries (push or ping mode).
457
- * Follows the structured dispatch pattern: validates with Zod, then delegates
458
- * to internal actions for processing.
459
493
  */
460
494
  export const handleGarminWebhookStress = action({
461
- args: { payload: v.any() },
495
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
462
496
  handler: async (ctx, args) => {
497
+ const shouldIngest = args.autoIngest !== false;
463
498
  if (isWebhookPushMode(args.payload)) {
464
499
  const pushResult = garminStressPushPayloadSchema.safeParse(args.payload);
465
500
  if (pushResult.success &&
466
501
  pushResult.data.stressDetails.length > 0) {
467
502
  const result = await ctx.runAction(internal.garmin.private.processStressPushPayload, { payload: args.payload });
468
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
503
+ return shouldIngest
504
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
505
+ : toWebhookResult(result);
469
506
  }
470
507
  }
471
508
  else {
@@ -476,23 +513,24 @@ export const handleGarminWebhookStress = action({
476
513
  }
477
514
  }
478
515
  console.warn(`[garmin:webhook:stressDetails] Payload matched neither ping nor push schema`);
479
- return { processed: 0, errors: [], affectedUsers: [] };
516
+ return { errors: [], items: [] };
480
517
  },
481
518
  });
482
519
  /**
483
520
  * Handle a webhook for Garmin pulse oximetry (SpO2) summaries (push or ping mode).
484
- * Follows the structured dispatch pattern: validates with Zod, then delegates
485
- * to internal actions for processing.
486
521
  */
487
522
  export const handleGarminWebhookPulseOx = action({
488
- args: { payload: v.any() },
523
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
489
524
  handler: async (ctx, args) => {
525
+ const shouldIngest = args.autoIngest !== false;
490
526
  if (isWebhookPushMode(args.payload)) {
491
527
  const pushResult = garminPulseOxPushPayloadSchema.safeParse(args.payload);
492
528
  if (pushResult.success &&
493
529
  pushResult.data.pulseox.length > 0) {
494
530
  const result = await ctx.runAction(internal.garmin.private.processPulseOxPushPayload, { payload: args.payload });
495
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
531
+ return shouldIngest
532
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
533
+ : toWebhookResult(result);
496
534
  }
497
535
  }
498
536
  else {
@@ -503,23 +541,24 @@ export const handleGarminWebhookPulseOx = action({
503
541
  }
504
542
  }
505
543
  console.warn(`[garmin:webhook:pulseOx] Payload matched neither ping nor push schema`);
506
- return { processed: 0, errors: [], affectedUsers: [] };
544
+ return { errors: [], items: [] };
507
545
  },
508
546
  });
509
547
  /**
510
548
  * Handle a webhook for Garmin respiration summaries (push or ping mode).
511
- * Follows the structured dispatch pattern: validates with Zod, then delegates
512
- * to internal actions for processing.
513
549
  */
514
550
  export const handleGarminWebhookRespiration = action({
515
- args: { payload: v.any() },
551
+ args: { payload: v.any(), autoIngest: v.optional(v.boolean()) },
516
552
  handler: async (ctx, args) => {
553
+ const shouldIngest = args.autoIngest !== false;
517
554
  if (isWebhookPushMode(args.payload)) {
518
555
  const pushResult = garminRespirationPushPayloadSchema.safeParse(args.payload);
519
556
  if (pushResult.success &&
520
557
  pushResult.data.allDayRespiration.length > 0) {
521
558
  const result = await ctx.runAction(internal.garmin.private.processRespirationPushPayload, { payload: args.payload });
522
- return await ingestAndUpdate(ctx, result, api.public.ingestDaily);
559
+ return shouldIngest
560
+ ? await ingestAndUpdate(ctx, result, api.public.ingestDaily)
561
+ : toWebhookResult(result);
523
562
  }
524
563
  }
525
564
  else {
@@ -530,7 +569,7 @@ export const handleGarminWebhookRespiration = action({
530
569
  }
531
570
  }
532
571
  console.warn(`[garmin:webhook:respiration] Payload matched neither ping nor push schema`);
533
- return { processed: 0, errors: [], affectedUsers: [] };
572
+ return { errors: [], items: [] };
534
573
  },
535
574
  });
536
575
  //# sourceMappingURL=webhooks.js.map
@@ -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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"}