hevy-shared 1.0.573 → 1.0.575

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/built/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Lookup as _Lookup } from './typeUtils';
1
+ import { Lookup } from './typeUtils';
2
2
  export * from './constants';
3
3
  export * from './utils';
4
4
  export * from './units';
@@ -16,12 +16,8 @@ export * from './normalizedWorkoutUtils';
16
16
  export * from './routineUtils';
17
17
  export * from './typeUtils';
18
18
  export * from './async';
19
- export * from './index.zod';
20
19
  export declare const supportedLanguages: readonly ["en", "es", "de", "fr", "it", "pt", "tr", "zh_CN", "zh_TW", "ru", "ja", "ko"];
21
- /**
22
- * @schema enum(['en', 'es', 'de', 'fr', 'it', 'pt', 'tr', 'zh_CN', 'zh_TW', 'ru', 'ja', 'ko'])
23
- */
24
- export type Language = _Lookup<typeof supportedLanguages>;
20
+ export type Language = Lookup<typeof supportedLanguages>;
25
21
  export declare const isLanguage: (x: string) => x is Language;
26
22
  export type WeightUnit = 'kg' | 'lbs';
27
23
  export declare const isWeightUnit: (x: string) => x is WeightUnit;
@@ -33,22 +29,13 @@ export type BodyMeasurementUnit = 'cm' | 'in';
33
29
  export declare const isBodyMeasurementUnit: (x: string) => x is BodyMeasurementUnit;
34
30
  /** Monday is first */
35
31
  export declare const orderedWeekdays: readonly ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
36
- /**
37
- * @schema enum(['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'])
38
- */
39
- export type Weekday = _Lookup<typeof orderedWeekdays>;
32
+ export type Weekday = Lookup<typeof orderedWeekdays>;
40
33
  export declare const isWeekday: (x: string) => x is Weekday;
41
34
  declare const _timerVolumeOptions: readonly ["off", "low", "normal", "high"];
42
- /**
43
- * @schema enum(['off', 'low', 'normal', 'high'])
44
- */
45
- export type TimerVolumeOption = _Lookup<typeof _timerVolumeOptions>;
35
+ export type TimerVolumeOption = Lookup<typeof _timerVolumeOptions>;
46
36
  export declare const isTimerVolumeOption: (x: string) => x is TimerVolumeOption;
47
37
  declare const _livePRVolumeOption: readonly ["off", "low", "normal", "high"];
48
- /**
49
- * @schema enum(['off', 'low', 'normal', 'high'])
50
- */
51
- export type LivePRVolumeOption = _Lookup<typeof _livePRVolumeOption>;
38
+ export type LivePRVolumeOption = Lookup<typeof _livePRVolumeOption>;
52
39
  export declare const isLivePRVolumeOption: (x: string) => x is LivePRVolumeOption;
53
40
  export interface ErrorResponse {
54
41
  error: string;
@@ -122,10 +109,7 @@ export interface CoachAppPushTarget {
122
109
  token: string;
123
110
  }
124
111
  declare const _coachRoles: readonly ["member", "admin", "owner"];
125
- /**
126
- * @schema enum(['member', 'admin', 'owner'])
127
- */
128
- export type CoachRole = _Lookup<typeof _coachRoles>;
112
+ export type CoachRole = Lookup<typeof _coachRoles>;
129
113
  export declare const isCoachRole: (role: any) => role is CoachRole;
130
114
  export interface CoachAccount {
131
115
  id: string;
@@ -450,10 +434,7 @@ export interface UserShadowBanMetadata {
450
434
  recaptcha_score?: number | null;
451
435
  }
452
436
  declare const _supportedProStores: readonly ["app_store", "play_store", "stripe", "hevy-gift", "gympass", "paddle", "hevy-coach"];
453
- /**
454
- * @schema enum(['app_store', 'play_store', 'stripe', 'hevy-gift', 'gympass', 'paddle', 'hevy-coach'])
455
- */
456
- type UserHevyProSubcriptionStore = _Lookup<typeof _supportedProStores>;
437
+ type UserHevyProSubcriptionStore = Lookup<typeof _supportedProStores>;
457
438
  export interface UserHevyProSubcription {
458
439
  is_pro: boolean;
459
440
  active_subscription?: {
@@ -489,19 +470,10 @@ export interface UserPreferences {
489
470
  volume_includes_warmup_sets?: boolean;
490
471
  }
491
472
  export type UpdateUserPreferencesRequest = Omit<UserPreferences, 'username' | 'volume_includes_warmup_sets'>;
492
- /**
493
- * @schema enum(['not-following', 'following', 'requested'])
494
- */
495
473
  export type FollowingStatus = 'not-following' | 'following' | 'requested';
496
- /**
497
- * @schema record(FollowingStatus.exclude(['not-following']))
498
- */
499
474
  export type FollowingStatusMap = {
500
- [id: string]: Exclude<FollowingStatus, 'not-following'>;
475
+ [id: string]: Omit<FollowingStatus, 'not-following'>;
501
476
  };
502
- /**
503
- * @schema record(z.enum(['following', 'requested']))
504
- */
505
477
  export type FollowingStatusesResponse = {
506
478
  [id: string]: 'following' | 'requested';
507
479
  };
@@ -575,31 +547,19 @@ export interface PublicUserProfile {
575
547
  last_workout?: Workout;
576
548
  }
577
549
  export declare const muscleGroups: readonly ["abdominals", "abductors", "adductors", "biceps", "lower_back", "upper_back", "cardio", "chest", "calves", "forearms", "glutes", "hamstrings", "lats", "quadriceps", "shoulders", "triceps", "traps", "neck", "full_body", "other"];
578
- /**
579
- * @schema enum(['abdominals', 'abductors', 'adductors', 'biceps', 'lower_back', 'upper_back', 'cardio', 'chest', 'calves', 'forearms', 'glutes', 'hamstrings', 'lats', 'quadriceps', 'shoulders', 'triceps', 'traps', 'neck', 'full_body', 'other'])
580
- */
581
- export type MuscleGroup = _Lookup<typeof muscleGroups>;
550
+ export type MuscleGroup = Lookup<typeof muscleGroups>;
582
551
  export declare const isMuscleGroup: (x: string) => x is MuscleGroup;
583
552
  export declare const muscleGroupFilters: readonly ["all_muscles", "abdominals", "abductors", "adductors", "biceps", "lower_back", "upper_back", "cardio", "chest", "calves", "forearms", "glutes", "hamstrings", "lats", "quadriceps", "shoulders", "triceps", "traps", "neck", "full_body", "other"];
584
- /**
585
- * @schema enum(['all_muscles', 'abdominals', 'abductors', 'adductors', 'biceps', 'lower_back', 'upper_back', 'cardio', 'chest', 'calves', 'forearms', 'glutes', 'hamstrings', 'lats', 'quadriceps', 'shoulders', 'triceps', 'traps', 'neck', 'full_body', 'other'])
586
- */
587
- export type MuscleGroupFilter = _Lookup<typeof muscleGroupFilters>;
553
+ export type MuscleGroupFilter = Lookup<typeof muscleGroupFilters>;
588
554
  export declare const isMuscleGroupFilter: (x: string) => x is MuscleGroupFilter;
589
555
  /**
590
556
  * Equipment
591
557
  */
592
558
  export declare const equipments: readonly ["none", "barbell", "dumbbell", "kettlebell", "machine", "plate", "resistance_band", "suspension", "other"];
593
- /**
594
- * @schema enum(['none', 'barbell', 'dumbbell', 'kettlebell', 'machine', 'plate', 'resistance_band', 'suspension', 'other'])
595
- */
596
- export type Equipment = _Lookup<typeof equipments>;
559
+ export type Equipment = Lookup<typeof equipments>;
597
560
  export declare const isEquipment: (x: string) => x is Equipment;
598
561
  export declare const equipmentFilters: readonly ["all_equipment", "none", "barbell", "dumbbell", "kettlebell", "machine", "plate", "resistance_band", "suspension", "other"];
599
- /**
600
- * @schema enum(['all_equipment', 'none', 'barbell', 'dumbbell', 'kettlebell', 'machine', 'plate', 'resistance_band', 'suspension', 'other'])
601
- */
602
- export type EquipmentFilter = _Lookup<typeof equipmentFilters>;
562
+ export type EquipmentFilter = Lookup<typeof equipmentFilters>;
603
563
  export declare const isEquipmentFilter: (x: string) => x is EquipmentFilter;
604
564
  export declare const exerciseRepTypes: readonly ["weight_reps", "reps_only", "bodyweight_reps", "bodyweight_assisted_reps"];
605
565
  /**
@@ -610,20 +570,11 @@ export declare const exerciseRepTypes: readonly ["weight_reps", "reps_only", "bo
610
570
  * bodyweight_assisted_reps = Pull Ups (Assisted)
611
571
  * reps_only = Pull ups
612
572
  */
613
- /**
614
- * @schema enum(['weight_reps', 'reps_only', 'bodyweight_reps', 'bodyweight_assisted_reps'])
615
- */
616
- export type ExerciseRepType = _Lookup<typeof exerciseRepTypes>;
573
+ export type ExerciseRepType = Lookup<typeof exerciseRepTypes>;
617
574
  export declare const isExerciseRepType: (x: any) => x is ExerciseRepType;
618
575
  export declare const exerciseTypes: readonly ["weight_reps", "reps_only", "bodyweight_reps", "bodyweight_assisted_reps", "duration", "weight_duration", "distance_duration", "short_distance_weight", "floors_duration", "steps_duration"];
619
- /**
620
- * @schema enum(['weight_reps', 'reps_only', 'bodyweight_reps', 'bodyweight_assisted_reps', 'duration', 'weight_duration', 'distance_duration', 'short_distance_weight', 'floors_duration', 'steps_duration'])
621
- */
622
- export type ExerciseType = _Lookup<typeof exerciseTypes>;
576
+ export type ExerciseType = Lookup<typeof exerciseTypes>;
623
577
  export declare const isExerciseType: (x: any) => x is ExerciseType;
624
- /**
625
- * @schema enum(['weight_reps', 'reps_only', 'bodyweight_reps', 'bodyweight_assisted_reps', 'duration', 'weight_duration', 'distance_duration', 'short_distance_weight'])
626
- */
627
578
  export type CustomExerciseType = Exclude<ExerciseType, 'floors_duration' | 'steps_duration'>;
628
579
  export declare const customExericseTypes: CustomExerciseType[];
629
580
  export declare const isCustomExerciseType: (x: any) => x is CustomExerciseType;
@@ -671,12 +622,7 @@ export interface LibraryExercise extends BaseExerciseTemplate {
671
622
  zh_cn_title?: string;
672
623
  zh_tw_title?: string;
673
624
  localised_instructions?: {
674
- en?: string;
675
- it?: string;
676
- de?: string;
677
- es?: string;
678
- fr?: string;
679
- pt?: string;
625
+ [language in InstructionsLanguage]?: string;
680
626
  };
681
627
  }
682
628
  /**
@@ -693,29 +639,20 @@ export interface CustomExercise extends BaseExerciseTemplate {
693
639
  parent_exercise_template_id?: string;
694
640
  }
695
641
  export declare const supportedInstructionsLanguages: readonly ["en", "it", "de", "es", "fr", "pt"];
696
- /**
697
- * @schema enum(['en', 'it', 'de', 'es', 'fr', 'pt'])
698
- */
699
- export type InstructionsLanguage = _Lookup<typeof supportedInstructionsLanguages>;
642
+ export type InstructionsLanguage = Lookup<typeof supportedInstructionsLanguages>;
700
643
  /** Workouts */
701
644
  declare const _setPersonalRecordTypes: readonly ["best_weight", "best_reps", "best_volume", "best_1rm", "best_duration", "best_distance"];
702
- /**
703
- * @schema enum(['best_weight', 'best_reps', 'best_volume', 'best_1rm', 'best_duration', 'best_distance'])
704
- */
705
- export type SetPersonalRecordType = _Lookup<typeof _setPersonalRecordTypes>;
645
+ export type SetPersonalRecordType = Lookup<typeof _setPersonalRecordTypes>;
706
646
  export interface SetPersonalRecord {
707
647
  exercise_template_id: string;
708
648
  type: SetPersonalRecordType;
709
649
  record: number;
710
650
  }
711
651
  export declare const validRpeValues: readonly [6, 7, 7.5, 8, 8.5, 9, 9.5, 10];
712
- export type RPE = 6 | 7 | 7.5 | 8 | 8.5 | 9 | 9.5 | 10;
652
+ export type RPE = Lookup<typeof validRpeValues>;
713
653
  export declare const isRPE: (x: number) => x is RPE;
714
654
  declare const _setTypes: readonly ["warmup", "normal", "failure", "dropset"];
715
- /**
716
- * @schema enum(['warmup', 'normal', 'failure', 'dropset'])
717
- */
718
- export type SetType = _Lookup<typeof _setTypes>;
655
+ export type SetType = Lookup<typeof _setTypes>;
719
656
  export declare const isSetType: (x: string) => x is SetType;
720
657
  export interface RepRange {
721
658
  start: number | null;
@@ -801,6 +738,7 @@ export interface WorkoutComment {
801
738
  like_count: number;
802
739
  is_liked_by_user: boolean;
803
740
  parent_comment_id?: number;
741
+ replying_to_comment_id?: number;
804
742
  }
805
743
  export interface WorkoutImage {
806
744
  type: 'image';
@@ -970,15 +908,13 @@ export interface PostWorkoutRequestSet {
970
908
  custom_metric?: number;
971
909
  rpe?: RPE;
972
910
  }
973
- type UpdateWorkoutRequestWorkoutOptionalFields = Pick<PostWorkoutRequestWorkout, 'title' | 'description' | 'media' | 'exercises' | 'is_private' | 'is_biometrics_public'>;
974
- type UpdateWorkoutRequestWorkoutRequiredFields = Required<Pick<PostWorkoutRequestWorkout, 'start_time' | 'end_time'>>;
975
911
  /**
976
912
  * Used to update an existing workout. Props that are defined will be used to
977
913
  * update the corresponding values of the workout in the database, and those
978
914
  * that are undefined will not be changed.
979
915
  */
980
- export type UpdateWorkoutRequestWorkout = Partial<UpdateWorkoutRequestWorkoutOptionalFields> & {
981
- start_and_end_time?: UpdateWorkoutRequestWorkoutRequiredFields;
916
+ export type UpdateWorkoutRequestWorkout = Partial<Pick<PostWorkoutRequestWorkout, 'title' | 'description' | 'media' | 'exercises' | 'is_private' | 'is_biometrics_public'>> & {
917
+ start_and_end_time?: Required<Pick<PostWorkoutRequestWorkout, 'start_time' | 'end_time'>>;
982
918
  };
983
919
  /** Routines */
984
920
  export interface RoutineSet {
@@ -1211,28 +1147,10 @@ export interface OutstandingInvitesForCoachTeamResponse {
1211
1147
  invites: CoachTeamInvite[];
1212
1148
  }
1213
1149
  export declare const measurementsList: readonly ["weight_kg", "fat_percent", "neck_cm", "shoulder_cm", "chest_cm", "left_bicep_cm", "right_bicep_cm", "left_forearm_cm", "right_forearm_cm", "abdomen", "waist", "hips", "left_thigh", "right_thigh", "left_calf", "right_calf"];
1214
- interface MeasurementProperties {
1215
- weight_kg?: number;
1216
- fat_percent?: number;
1217
- neck_cm?: number;
1218
- shoulder_cm?: number;
1219
- chest_cm?: number;
1220
- left_bicep_cm?: number;
1221
- right_bicep_cm?: number;
1222
- left_forearm_cm?: number;
1223
- right_forearm_cm?: number;
1224
- abdomen?: number;
1225
- waist?: number;
1226
- hips?: number;
1227
- left_thigh?: number;
1228
- right_thigh?: number;
1229
- left_calf?: number;
1230
- right_calf?: number;
1231
- }
1232
- /**
1233
- * @schema enum(['weight_kg', 'fat_percent', 'neck_cm', 'shoulder_cm', 'chest_cm', 'left_bicep_cm', 'right_bicep_cm', 'left_forearm_cm', 'right_forearm_cm', 'abdomen', 'waist', 'hips', 'left_thigh', 'right_thigh', 'left_calf', 'right_calf'])
1234
- */
1235
- export type BodyMeasurementKey = _Lookup<typeof measurementsList>;
1150
+ type MeasurementProperties = {
1151
+ [key in typeof measurementsList[number]]?: number;
1152
+ };
1153
+ export type BodyMeasurementKey = Lookup<typeof measurementsList>;
1236
1154
  export declare const isBodyMeasurementKey: (key: string) => key is BodyMeasurementKey;
1237
1155
  export interface BodyMeasurement extends MeasurementProperties {
1238
1156
  id: number;
@@ -1358,28 +1276,9 @@ export interface UserExerciseSet {
1358
1276
  user_bodyweight_kg: number | null;
1359
1277
  custom_metric: number | null;
1360
1278
  }
1361
- export interface SetCountMuscleSplitResponse {
1362
- abdominals: number;
1363
- abductors: number;
1364
- adductors: number;
1365
- biceps: number;
1366
- lower_back: number;
1367
- upper_back: number;
1368
- cardio: number;
1369
- chest: number;
1370
- calves: number;
1371
- forearms: number;
1372
- glutes: number;
1373
- hamstrings: number;
1374
- lats: number;
1375
- quadriceps: number;
1376
- shoulders: number;
1377
- triceps: number;
1378
- traps: number;
1379
- neck: number;
1380
- full_body: number;
1381
- other: number;
1382
- }
1279
+ export type SetCountMuscleSplitResponse = {
1280
+ [key in MuscleGroup]: number;
1281
+ };
1383
1282
  export type ComparableExerciseTemplatesResponse = Array<{
1384
1283
  exercise_template_id: string;
1385
1284
  }>;
@@ -1409,7 +1308,7 @@ export interface ExerciseLeaderboardResponse {
1409
1308
  }
1410
1309
  export type StrengthLevel = 'beginner' | 'intermediate' | 'advanced' | 'elite';
1411
1310
  export interface GetStrengthLevelParams {
1412
- sex: 'male' | 'female';
1311
+ sex: Omit<Sex, 'other'>;
1413
1312
  best_1rm_kg: number;
1414
1313
  exercise_template_id: string;
1415
1314
  age: number;
@@ -1530,14 +1429,10 @@ export interface StripeCustomerPortalSessionRequest {
1530
1429
  export interface StripeCustomerPortalSessionResponse {
1531
1430
  url: string;
1532
1431
  }
1533
- /**
1534
- * @schema union([z.string(), z.number(), z.boolean(), z.array(z.any())]).nullable()
1535
- */
1536
1432
  export type UserValue = string | number | boolean | null | UserValue[];
1537
- export type UserKeyValues = Record<string, UserValue>;
1538
- /**
1539
- * @schema enum(['male', 'female', 'other'])
1540
- */
1433
+ export type UserKeyValues = {
1434
+ [key: string]: UserValue;
1435
+ };
1541
1436
  export type Sex = 'male' | 'female' | 'other';
1542
1437
  /**
1543
1438
  * Used for the chat backend to validate authentication details
@@ -1546,9 +1441,8 @@ export type UserAuthenticationValidationResponse = 'unauthorized' | 'authorized_
1546
1441
  declare const _validUserWorkoutMetricsTypes: readonly ["duration", "reps"];
1547
1442
  /**
1548
1443
  * Used for hevy-web for fetching profile metrics and calendar data
1549
- * @schema enum(['duration', 'reps'])
1550
1444
  */
1551
- export type UserWorkoutMetricsType = _Lookup<typeof _validUserWorkoutMetricsTypes>;
1445
+ export type UserWorkoutMetricsType = Lookup<typeof _validUserWorkoutMetricsTypes>;
1552
1446
  export declare const isValidUserWorkoutMetricsType: (x: any) => x is UserWorkoutMetricsType;
1553
1447
  interface WorkoutMetricBase {
1554
1448
  workout_id: string;
@@ -1641,8 +1535,8 @@ interface BaseFeedback {
1641
1535
  type: FeedbackType;
1642
1536
  userId: string;
1643
1537
  message?: string;
1644
- data?: Record<string, unknown> | null;
1645
- debugInfo?: Record<string, unknown> | null;
1538
+ data?: any;
1539
+ debugInfo?: any;
1646
1540
  }
1647
1541
  export interface GeneralFeedback extends BaseFeedback {
1648
1542
  type: 'general';
@@ -1710,8 +1604,8 @@ export type BackofficeFeedback = {
1710
1604
  type: string;
1711
1605
  username?: string;
1712
1606
  message?: string;
1713
- data?: Record<string, unknown> | null;
1714
- debug_info?: Record<string, unknown> | null;
1607
+ data?: any;
1608
+ debug_info?: any;
1715
1609
  created_at: Date;
1716
1610
  };
1717
1611
  export interface BackofficeFeedbacksResponse {
package/built/index.js CHANGED
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.isValidUserWorkoutMetricsType = exports.isBodyMeasurementKey = exports.measurementsList = exports.isWorkoutBiometrics = exports.isHeartRateSamples = exports.isPublicWorkout = exports.isSetType = exports.isRPE = exports.validRpeValues = exports.supportedInstructionsLanguages = exports.isCustomExerciseType = exports.customExericseTypes = exports.isExerciseType = exports.exerciseTypes = exports.isExerciseRepType = exports.exerciseRepTypes = exports.isEquipmentFilter = exports.equipmentFilters = exports.isEquipment = exports.equipments = exports.isMuscleGroupFilter = exports.muscleGroupFilters = exports.isMuscleGroup = exports.muscleGroups = exports.DefaultClientConfiguration = exports.isCoachRole = exports.isErrorResponse = exports.isLivePRVolumeOption = exports.isTimerVolumeOption = exports.isWeekday = exports.orderedWeekdays = exports.isBodyMeasurementUnit = exports.isDistanceUnitShort = exports.isDistanceUnit = exports.isWeightUnit = exports.isLanguage = exports.supportedLanguages = void 0;
18
- const typeUtils_1 = require("./typeUtils"); // import as _Lookup to avoid a lint error as ts-to-zod emits an unused dummy value
18
+ const typeUtils_1 = require("./typeUtils");
19
19
  __exportStar(require("./constants"), exports);
20
20
  __exportStar(require("./utils"), exports);
21
21
  __exportStar(require("./units"), exports);
@@ -33,7 +33,6 @@ __exportStar(require("./normalizedWorkoutUtils"), exports);
33
33
  __exportStar(require("./routineUtils"), exports);
34
34
  __exportStar(require("./typeUtils"), exports);
35
35
  __exportStar(require("./async"), exports);
36
- __exportStar(require("./index.zod"), exports);
37
36
  exports.supportedLanguages = [
38
37
  'en',
39
38
  'es',
@@ -7,8 +7,8 @@
7
7
  */
8
8
  import { ClientsCoachData, Program } from '.';
9
9
  import { HevyChatUpdateMobilePushData } from './chat';
10
- export type Notification = WorkoutCompleteNotification | WorkoutMentionNotification | WorkoutCommentNotification | WorkoutCommentReplyNotification | WorkoutCommentMentionNotification | WorkoutLikeNotification | FollowNotification | FollowRequestNotification | AcceptFollowRequestNotification | CoachClientInviteNotification | ContactOnHevyNotification;
11
- export type NotificationType = 'workout-complete' | 'workout-mention' | 'workout-comment' | 'workout-comment-reply' | 'workout-comment-mention' | 'workout-like' | 'follow' | 'follow-request' | 'accept-follow-request' | 'coach-client-invite' | 'contact-on-hevy';
10
+ export type Notification = WorkoutCompleteNotification | WorkoutMentionNotification | WorkoutCommentNotification | WorkoutCommentMentionNotification | WorkoutCommentReplyNotification | WorkoutCommentDiscussionNotification | WorkoutLikeNotification | WorkoutCommentLikeNotification | FollowNotification | FollowRequestNotification | AcceptFollowRequestNotification | CoachClientInviteNotification | ContactOnHevyNotification;
11
+ export type NotificationType = 'workout-complete' | 'workout-mention' | 'workout-comment' | 'workout-comment-mention' | 'workout-comment-reply' | 'workout-comment-reply-v2' | 'workout-like' | 'workout-comment-like' | 'follow' | 'follow-request' | 'accept-follow-request' | 'coach-client-invite' | 'contact-on-hevy';
12
12
  export interface BaseNotification {
13
13
  id: number;
14
14
  type: NotificationType;
@@ -48,13 +48,13 @@ export interface WorkoutCommentNotification extends BaseNotification {
48
48
  export interface WorkoutCommentMobilePushData extends BaseMobilePushData {
49
49
  type: 'workout-comment';
50
50
  }
51
- export interface WorkoutCommentReplyNotification extends BaseNotification {
51
+ export interface WorkoutCommentDiscussionNotification extends BaseNotification {
52
52
  type: 'workout-comment-reply';
53
53
  workout_id: string;
54
54
  workout_title: string;
55
55
  comment: string;
56
56
  }
57
- export interface WorkoutCommentReplyMobilePushData extends BaseMobilePushData {
57
+ export interface WorkoutCommentDiscussionMobilePushData extends BaseMobilePushData {
58
58
  type: 'workout-comment-reply';
59
59
  }
60
60
  export interface WorkoutCommentMentionNotification extends BaseNotification {
@@ -66,6 +66,15 @@ export interface WorkoutCommentMentionNotification extends BaseNotification {
66
66
  export interface WorkoutCommentMentionMobilePushData extends BaseMobilePushData {
67
67
  type: 'workout-comment-mention';
68
68
  }
69
+ export interface WorkoutCommentReplyNotification extends BaseNotification {
70
+ type: 'workout-comment-reply-v2';
71
+ workout_id: string;
72
+ workout_title: string;
73
+ comment: string;
74
+ }
75
+ export interface WorkoutCommentReplyMobilePushData extends BaseMobilePushData {
76
+ type: 'workout-comment-reply-v2';
77
+ }
69
78
  export interface WorkoutLikeNotification extends BaseNotification {
70
79
  type: 'workout-like';
71
80
  workout_id: string;
@@ -74,6 +83,16 @@ export interface WorkoutLikeNotification extends BaseNotification {
74
83
  export interface WorkoutLikeMobilePushData extends BaseMobilePushData {
75
84
  type: 'workout-like';
76
85
  }
86
+ export interface WorkoutCommentLikeNotification extends BaseNotification {
87
+ type: 'workout-comment-like';
88
+ workout_id: string;
89
+ workout_title: string;
90
+ comment_id: number;
91
+ comment: string;
92
+ }
93
+ export interface WorkoutCommentLikeMobilePushData extends BaseMobilePushData {
94
+ type: 'workout-comment-like';
95
+ }
77
96
  export interface FollowNotification extends BaseNotification {
78
97
  type: 'follow';
79
98
  }
@@ -173,4 +192,4 @@ export interface MonthlyReportMobilePushData extends BaseMobilePushData {
173
192
  type: 'monthly-report';
174
193
  deeplink: string;
175
194
  }
176
- export type MobilePushData = ChatUpdateMobilePushData | SyncCustomExercisesAndCoachCustomizationsMobilePushData | SyncRoutineFoldersMobilePushData | SyncRoutinesMobilePushData | ProStatusChangedPushMobilePushData | HevyProSubscriptionRenewedMobilePushData | CoachProgramChangedMobilePushData | CoachDataChangedMobilePushData | ContactOnHevyMobilePushData | CoachClientInviteMobilePushData | AcceptFollowRequestMobilePushData | FollowRequestMobilePushData | FollowMobilePushData | WorkoutLikeMobilePushData | WorkoutCommentMentionMobilePushData | WorkoutCommentReplyMobilePushData | WorkoutCommentMobilePushData | WorkoutMentionMobilePushData | WorkoutCompleteMobilePushData | CoachProgramFinishesNextWeekMobilePushData | CoachProgramStartsTodayMobilePushData | CoachLoggedYourWorkoutMobilePushData | CoachLoggedYourMeasurementsMobilePushData | MonthlyReportMobilePushData;
195
+ export type MobilePushData = ChatUpdateMobilePushData | SyncCustomExercisesAndCoachCustomizationsMobilePushData | SyncRoutineFoldersMobilePushData | SyncRoutinesMobilePushData | ProStatusChangedPushMobilePushData | HevyProSubscriptionRenewedMobilePushData | CoachProgramChangedMobilePushData | CoachDataChangedMobilePushData | ContactOnHevyMobilePushData | CoachClientInviteMobilePushData | AcceptFollowRequestMobilePushData | FollowRequestMobilePushData | FollowMobilePushData | WorkoutLikeMobilePushData | WorkoutCommentLikeMobilePushData | WorkoutCommentMentionMobilePushData | WorkoutCommentDiscussionMobilePushData | WorkoutCommentReplyMobilePushData | WorkoutCommentMobilePushData | WorkoutMentionMobilePushData | WorkoutCompleteMobilePushData | CoachProgramFinishesNextWeekMobilePushData | CoachProgramStartsTodayMobilePushData | CoachLoggedYourWorkoutMobilePushData | CoachLoggedYourMeasurementsMobilePushData | MonthlyReportMobilePushData;
package/package.json CHANGED
@@ -1,19 +1,18 @@
1
1
  {
2
2
  "name": "hevy-shared",
3
- "version": "1.0.573",
3
+ "version": "1.0.575",
4
4
  "description": "",
5
5
  "main": "built/index.js",
6
6
  "types": "built/index.d.ts",
7
- "prepublish": "tsc && node ./scripts/fixValidatorTypes.js",
7
+ "prepublish": "tsc",
8
8
  "scripts": {
9
- "prepare": "tsc --skipLibCheck -p tsconfig-check.json",
10
- "build": "tsc && node ./scripts/fixValidatorTypes.js",
11
- "types": "tsc --skipLibCheck -p tsconfig-check.json",
9
+ "prepare": "tsc --skipLibCheck",
10
+ "build": "tsc",
11
+ "types": "tsc --skipLibCheck",
12
12
  "p": "npm run test && npm version patch && npm run build && npm publish && git push",
13
13
  "ci-build": "./scripts/publish.sh",
14
14
  "lint": "eslint . --ext .ts",
15
15
  "lint-fix": "eslint . --ext .ts --fix",
16
- "generate-validators": "ts-to-zod --all",
17
16
  "test": "jest"
18
17
  },
19
18
  "files": [
@@ -33,12 +32,10 @@
33
32
  "jest": "^29.7.0",
34
33
  "prettier": "^2.6.2",
35
34
  "ts-jest": "^29.1.2",
36
- "ts-to-zod": "^3.15.0",
37
35
  "typescript": "5.8.2"
38
36
  },
39
37
  "dependencies": {
40
38
  "fuse.js": "^7.0.0",
41
- "lodash": "^4.17.21",
42
- "zod": "^3.24.3"
39
+ "lodash": "^4.17.21"
43
40
  }
44
41
  }